
html {
	font-size:62.5%;
}


body {
	font-size:1.6em;
	font-family: 'Noto Sans JP', sans-serif;
	color:#000;
	font-weight: 400;
}

* {
	box-sizing: border-box;
}

div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	font-size:1.6rem;
}

 /* --------------------------

基本サイズ10px
3rem = 30px
1.6rem = 16px

--------------------*/

.mincho {
	font-family: 'Shippori Mincho B1', serif;
}

#wrap,
section,
article,
main {
	width:100%;
	position:relative;
	overflow:hidden;
}

#wrap {
	opacity:0;
	/* transition:all 2s; */
}

.display_on {
	opacity:1!important;
}



main {
	padding:140px 0 0 0px;
	display:block;
}


.inner {
	width:100%;
	max-width:1264px;
	margin:0 auto;
	padding:0 100px;
}


img {
	max-width:100%;
	vertical-align:bottom;
}

.obf_cover,
.obf_contain {
	width:100%;
}

.obf_cover img {
	width:100%;
	height:100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

.obf_contain img {
	width:100%;
	height:100%;
	object-fit: contain;
	font-family: 'object-fit: contain;';
}

a {
	color:#333;
	transition:all .4s;
	cursor: pointer;
}

/*
a:hover {
	opacity:0.8;
}
*/

p {
	font-size:1.6rem;
	line-height:2.1875;
}

h1,h2,h3,h4,h5,h6,dt,dd {
	line-height:1.25;
}

small {
	line-height:1.2;
}

/* --- 複数行対応 3点リーダー css common.js内 --- */

/* --- 2行のときは height: calc(1.63em * 2 ); ---*/
.cont {
	overflow: hidden;
	width: 100%;
}

.height {
	height: calc(1.5em * 2);
}

/* --- btn --- */

.btn_red {
	display:block;
	text-align:center;
	width:330px;
	height:64px;
	line-height:60px;
	border:2px solid #B7193F;
	background:#B7193F;
	position:relative;
	transition:all .2s;
}

.btn_red::after {
	content:"";
	display: block;
	width: 100%;
	height:100%;
	transform:scale(0,1);
	transform-origin:left center;
	background:#fff;
	position:absolute;
	left:0;
	top:0;
	transition:all .4s;
}


.btn_red span {
	display: inline-block;
	width:100%;
	height: 100%;
	text-align: center;
	font-size:2.4rem;
	position:relative;
	z-index:3;
}

.btn_red span::before,
.btn_red span::after {
	content:"";
	display: block;
	height:2px;
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	margin:auto 0;
	transition:all .2s;
	z-index:3;
}
.btn_red span::before{
	width:112px;
	background:#fff;
	transform:translateX(38px);
}
.btn_red span::after{
	width:38px;
	background:#B7193F;
	transform:translateX(40px);
}

.btn_red:hover {
	opacity:1;
}

.btn_red:hover::after {
	transform:scale(1,1);
	transform-origin:right top;
}


.btn_red:hover span {
	color:#B7193F;
}


.btn_red:hover span::before {
	background:#B7193F;
	transform:translateX(60px);
}
.btn_red:hover span::after {
	transform:translateX(60px);
}

/* --- btn black --- */

.btn_black {
	display:block;
	text-align:center;
	width:330px;
	height:64px;
	line-height:60px;
	border:2px solid #404040;
	background:#404040;
	position:relative;
	transition:all .2s;
	text-decoration: none;
	margin:0 auto;
}

.btn_black:hover {
	background:#fff;
}

.btn_black span {
	font-size:1.8rem;
	position:relative;
	z-index:3;
	padding-left:2.5em;
}

.btn_black:hover span {
	color:#404040;
}

.btn_black span::after{
	background-color:#404040;
}


.btn_black:hover span::before {
	background-color:#404040;
}

.btn_black:hover span.icon_pdf::before {
	background-color:transparent;
}

/* --- btn return --- */

.btn_return {
	margin:0 auto;
}

.btn_return::after {
	left:auto;
	right:0;
	transform-origin:right top;
}

.btn_return:hover::after {
	transform-origin:left top;
}
.btn_return span::before,
.btn_return span::after {
	right:auto;
	left:0;
}

.btn_return span::before {
	transform:translateX(-38px);
}

.btn_return:hover span::before,
.btn_return:hover span::after {
	transform:translateX(-60px);
}

.btn_return span::after {
	transform: translateX(-40px);
}


/*-------------------------------
	icon
-------------------------------*/

.icon_pen {
	position:relative;
	padding:5px 0 5px 40px;
}

.icon_pen::before {
	content:"";
	display: block;
	width:30px;
	height:30px;
	background:url(../images/icon_pen.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
}

/* --- flex --- */

.d_flex {
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
}

.fle_wra {
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}

.nowrap {
	-webkit-flex-wrap:nowrap;
	-ms-flex-wrap:nowrap;
	flex-wrap:nowrap;
}

.jus_ce {
	-webkit-justify-content:center;
	-ms-flex-pack:center;
	justify-content:center;
}

.jus_sb {
	-webkit-justify-content:space-between;
	-ms-flex-pack:justify;
	justify-content:space-between;
}
.jus_ar {
	-webkit-justify-content:space-around;
	-ms-flex-pack:distribute;
	justify-content:space-around;
}
.jus_end {
	-webkit-justify-content:flex-end;
	-ms-flex-pack:end;
	justify-content:flex-end;
}

.ali_ce {
	-webkit-align-items:center;
	-ms-flex-align:center;
	align-items:center;
}
.ali_st {
	-webkit-box-align: start;
	-ms-flex-align:start;
	align-items:flex-start;
}

.ali_end {
	-webkit-align-items:flex-end;
	-ms-flex-align:end;
	align-items: flex-end;
}

/* --- flex space-between対策 3block --- */

.sb_cp {
	position:relative;
}

.sb_cp::after {
	content:"";
	display: block;
	width:30%;
}


.pc_none {
	display:none;
}

.tex_ce {
	text-align:center;
}

.tex_ri {
	text-align:right;
}

.fw_normal {
	font-weight:400;
}
.fw_medium {
	font-weight:500;
}
.fw_semibold {
	font-weight:600;
}
.fw_bold {
	font-weight:700;
}


/* --- color --- */

.white {
	color:#fff;
}

.red {
	color:#b7193f;
}


.gray {
	color:#949494;
}


.bg_white {
	background:#fff;
}

.bg_red {
	background:#b7193f;
}
/* --- fontawesome --- */

/* --- h_title --- */

.h_title {
	font-size:5rem;
	margin-bottom:0.8em;
	line-height:1.25;
	position:relative;
	font-weight:800;
	font-family: 'Shippori Mincho B1', serif;
}

.bread_wrap .h_title {
	margin-bottom:0;
}

.h_title::before {
	content:attr(data-en);
	display: block;
	padding-left:2em;
	font-size:1.6rem;
	font-family: 'Shippori Mincho B1', serif;
	margin-bottom:0.5em;
	line-height:1;
	font-weight:500;
}

.h_title::after {
	content:"";
	display: block;
	width:1.5em;
	height:1px;
	font-size:1.6rem;
	background:#000;
	position:absolute;
	left:0;
	top:0.5em;
}

/* --- kome --- */

.kome {
	position:relative;
	padding-left:1.2em;
}

.kome::before {
	content:"※";
	display: block;
	width:1em;
	height:1em;
	font-size:1em;
	position:absolute;
	left:0;
	top:0;
}


/*-------------------------------
	blog list
-------------------------------*/


.blog_list_none {
	display: none;
}

.blog_list li {
	padding:30px 20px 30px 0;
	border-bottom:2px solid #000;
}

.blog_title_a {
	margin-left:3.5em;
}

.blog_list li h2 {
	font-size:1.6rem;
	font-weight:500;
	line-height:1.5;
	height:auto;
	transition:color .2s ;
}

.blog_list li h2.height {
	height:calc(1.5em * 2);
}

/* --- blog cate time --- */

.cate_a {
	display: inline-block;
}


.cate {
	color:#b7b7b7;
	font-size:1.4rem;
	font-weight:500;
	border-bottom:1px solid #b7b7b7;
	line-height:1.25;
	display: inline-block;
	margin:0 0em 0 1.5em;
	white-space: nowrap;
	transition:color .2s , border .2s;
}

.d_time {
	color:#000000;
	font-size:1.2rem;
	text-align:center;
	font-weight:700;
	line-height:1;
}

.d_time span {
	font-size:3.2rem;
	display: block;
	text-align:center;
	font-weight:700;
	letter-spacing: 0.05em;
}

.blog_list a:hover .cate {
	color:#000;
	border-color:#000;
}

.blog_list a:hover h2 {
	color:#b7b7b7;
}


/* ---------  header ------------ */

header {
	width:100%;
	height:140px;
	z-index:80; 
	transition:all .4s;
	position:fixed;
	top:0;
	left:0;
	background:#fff;
    transform: translateY(0%);
	display:flex;
	display:-webkit-flex;
	align-items:center;
	-webkit-align-items:center;
}

header.active{
    transform: translateY(-100%);
}


.header_logo {
	width:68px;
}
/*
.header_meijo {
	width:132px;
	display: block;
}
*/
.header_inner {
	width:100%;
	padding:0 5% 0px 5%;
	transition:all .4s;
}

.logo_h .logo_txt {
	display: block;
	margin-left:1.5em;
}

.logo_h .logo_txt strong {
	font-size:2.4rem;
	display: block;
	line-height:1em;
	white-space: nowrap;
}

.logo_h .logo_txt span {
	padding-left:0.2em;
	font-size:1.3rem;
	display: block;
	letter-spacing: -0.05em;
	margin-top:0.3em;
}

.logo_h {
	margin-right:10px;
	min-width:300px;
}

.nav_logo {
	display: none;
}

.logo_h a:hover {
	opacity:1;
}

/* ---------  Nav ------------ */


.nav_list > li {
	margin-left:1.75em;
	text-align:center;
}

.nav_list > li a {
	letter-spacing: 0.1rem;
	font-size:1.8rem;
  position: relative;
  display: inline-block;
	padding-bottom:0.3em;
	white-space: nowrap;
}

.nav_list > li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #B7193F;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
.nav_list > li a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.ad_btn {
	display: block;
	width:260px;
	min-width:180px;
	height:76px;
	line-height:74px;
	border:2px solid #B7193F;
	text-align:center;
	background:#B7193F;
	position:relative;
	margin-left:10px;
}

.ad_btn span {
	font-size:1.8rem;
	flex-wrap:nowrap;
	-webkit-flex-wrap:nowrap;
}

.ad_btn:hover {
	background:#fff;
	color:#B7193F;
	opacity:1;
}

.ad_btn:hover span {
	color:#B7193F;
}

.ad_btn:hover span::before {
	background-image:url(../images/icon_pen_red.svg);
}


/* --- IE のみ --- */
@media all and (-ms-high-contrast: none) {
  /* ここに書く */

}



/* --- hamburger --- */
.hamburger {
  display : none;
  position: fixed;
  /* top:5vw; */
  top:4vw;
  right:5vw;
  z-index : 3;
  width : 12.5vw;
  height: 12.5vw;
  cursor: pointer;
  text-align: center;
  background:#b7193f;
  border-radius: 50%;
  margin-left:auto;
}

.ham_inner {
	width:3.75vw;
	height:3.75vw;
	margin:4.375vw auto 0;
	position:relative;
}

.hamburger span {
  display : block;
  width   : 0.75vw;
  height  : 0.75vw;
  margin-right:0.75vw;
  margin-bottom:0.75vw;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}

.hamburger span:nth-of-type(3n) {
	margin-right:0;
}

.hamburger span:nth-of-type(n+7) {
	margin-bottom:0;
}


/* ナビ開いてる時のボタン */

.hamburger.active span:nth-of-type(n+4),
.hamburger.active span:nth-child(2) {
	display: none;
}

.hamburger.active span:nth-child(1) {
	width:5.5vw;
	height:0.5vw;
	margin:0;
	position:absolute;
	top:1.75vw;
	left:-0.75vw;
  -webkit-transform: rotate(-45deg) ;
  -moz-transform   : rotate(-45deg) ;
  transform        : rotate(-45deg) ;
}

.hamburger.active span:nth-child(3) {
	width:5.5vw;
	height:0.5vw;
	margin:0;
	position:absolute;
	top:1.75vw;
	left:-0.75vw;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
/* --- page top --- */

#page-top {
	display: block;
	width:50px;
	height:50px;
	position: fixed;
	bottom:30px;
	right:30px;
	z-index:30;
	opacity:0;
	visibility: hidden;
	transform:translateY(40px);
}

#page-top:hover {
	opacity:1;
}

#page-top.on {
	opacity:1;
	visibility: visible;
	transform:translateY(0px) ;
}

#page-top.posi_ab {
	position:absolute;
	right:0;
	top:-25px;
	bottom:auto;
}


@media screen and (min-width:769px){
#page-top:hover {
	opacity:0.7;
}

}

/* ---------  footer ------------ */

footer {
	width:100%;
}

.footer_logo {
	width:34%;
	/* min-height:500px; */
	padding:40px 4% 70px;
	position:relative;
}

.footer_logo::before {
	content:"";
	display: block;
	width:100%;
	height:20px;
	background: #b7193f;
	position:absolute;
	top:-20px;
	left:0;
	z-index: 5;
}

footer .logo_h {
	margin:0 auto;
}

.copy {
	width:100%;
	font-size:1rem;
	text-align:center;
	display: block;
	font-weight:500;
	position:absolute;
	bottom:60px;
	left:50%;
	transform:translateX(-50%);
}

.footer_nav_wrap {
	width:66%;
	background:#404040;
	padding:0px 60px;
}

.footer_nav_wrap_inner {
	width:100%;
	max-width:1010px;
	position:relative;
	padding:80px 0 60px;
}

.footer_home,
.footer_nav li a {
	font-size:1.8rem;
	line-height:1.25;
	padding-bottom:0.5em;
	border-bottom:1px solid #b7b7b7;
	display: block;
	position:relative;
}

.footer_home::after,
.footer_nav li a::after {
	content:"";
	display: block;
	width:100%;
	height:1px;
	background:#fff;
	position:absolute;
	left:0;
	bottom:-1px;
	transform:scale(0,1);
	transition:transform .3s ease-in-out;
	transform-origin: right center;
}

.footer_home:hover::after,
.footer_nav li a:hover::after {
	transform:scale(1,1);
	transform-origin: left center;
}

.footer_home,
.footer_nav li {
	width:18%;
	margin-bottom:40px;
	margin-right:2.5%;
}

.footer_nav li:nth-of-type(5n) {
	margin-right:0;
}

.footer_bottom {
	width:100%;
	padding-top:20px;
	border-top:1px solid #b7b7b7;
	margin-top:100px;
}

.footer_bottom a {
	font-size:1.4rem;
	font-weight:500;
	display: inline-block;
	margin:0 2em 1em 0;
}

.footer_bottom a:hover {
	opacity:0.6;
}

.footer_nav .ad_btn {
	margin:-70px 0 0 auto;
}


/* ---------  footer ここまで ------------ */




/* ---------  Scroll Fadein --------- */


.fadein {
    opacity : 0;
    transform : translate(-50px,0);
    transition : all 0.8s;
}
.rightin {
	opacity:0;
	transform:translate(50px,0);
	transition:all 0.8s;
}

.bottomin {
	opacity:0;
	transform:translate(0,50px);
	transition:all 0.8s;
}


.fadein.scrollin ,
.rightin.scrollin,
.bottomin.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}


.white_right,
.white_left {
	position:relative;
}

.white_right::after,
.white_left::after {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background:#fff;
	position:absolute;
	top:0;
	right:0;
	transition:transform .5s ease-in;
	transform:scale(1,1);
}


.white_right::after  {
	transform-origin:center left;
}

.white_left::after  {
	transform-origin:center right;
}

.white_right.scrollin::after,
.white_left.scrollin::after {
	transform:scale(0,1);
}

.delay2,
.delay2::after {
	transition-delay:0.2s;
}
.delay3,
.delay3::after {
	transition-delay:0.4s;
}
.delay4,
.delay4::after {
	transition-delay:0.6s;
}

.delay5,
.delay5::after {
	transition-delay:0.8s;
}



/*-------------------------------
	bread crumble
-------------------------------*/

.bread_wrap {
	margin-top:30px;
	margin-bottom:40px;
}

.bread_crumble.pc_none {
	display: none;
}

.bread_crumble {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.icon_home {
	padding-left:24px;
	position:relative;
}

.icon_home::before {
	content:"";
	display: block;
	width:13px;
	height:15px;
	background:url(../images/icon_home.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
}


.bread_crumble li,
.bread_crumble li a {
	line-height:1.5;
	font-size:1.4rem;
	font-weight:500;
	letter-spacing: 0.05em;
}

.bread_crumble li a {
	color:#000;
	position:relative;
	padding-bottom:0.25em;
	padding-top:0.25em;
}

.bread_crumble li a::after {
	content:"";
	display: block;
	width:100%;
	height:1px;
	background:#000;
	position:absolute;
	left:0;
	bottom:0;
	transform:scale(0,1);
	transform-origin: right center;
	transition:transform .2s;
}

.bread_crumble li a:hover::after {
	transform:scale(1,1);
	transform-origin: left center;
}

.bread_crumble li {
	color:#b7b7b7;
	padding-top:0.5em;
	padding-bottom:0.5em;
}

.bread_crumble li:not(:first-of-type) {
	padding-left:34px;
	margin-left:4px;
	position:relative;
}

.bread_crumble li:not(:first-of-type)::before {
	content:"";
	display: block;
	width:34px;
	height:1px;
	background:#b7b7b7;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
	transform:rotate(-225deg);
}

/*-------------------------------
	links 関連リンク
-------------------------------*/

.links {
	background:#ebebeb;
	padding:80px 0 160px;
}

.links h2 {
	font-size:2rem;
	font-weight:700;
	border-bottom:1px solid #000;
	padding-bottom:1.25em;
	margin-bottom:0.75em;
}

.links_list li {
	width:23%;
	max-width:246px;
}

.links_list li a,
.now_links {
	display: block;
	font-size:1.8rem;
	font-weight:500;
	line-height:1.25;
	padding:1.25em 50px 1.25em 0;
	position:relative;
	border-bottom:1px solid #000;
	opacity:0.2;
}

.links_list li a::after {
	content:"";
	display: block;
	width:43px;
	height:9px;
	background:url(../images/arrow_right_black.svg) no-repeat center / contain;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	margin:auto 0;
	transition:right .2s;
}

.now_links {
	padding-right:0;
}

.now_links,
.links_list li a:hover {
	opacity:1;
}

/*-------------------------------
	ol list / ol list2
-------------------------------*/

.ol_list {
	counter-reset:item; 
}

.ol_list2 {
	counter-reset:item 1; 
}

.ol_list > li {
	text-indent: -1.5em;
	padding-left: 1.5em;
	line-height:1.875;
}

.ol_list > li::before {
	counter-increment:item;
	content: '('counter(item)')';
	margin-right:0.5em;
}

.ol_list2 > li::before {
	counter-increment:item;
	content: counter(item)'.';
	margin-right:0.5em;
}

/*-------------------------------
	ten list
-------------------------------*/

.ten_list li {
	position:relative;
	padding-left:1.2em;
	line-height:1.875;
}

.ten_list li::before {
	content:"・";
	display: block;
	width:1em;
	height:1em;
	position:absolute;
	left:0;
	top:0;
}


/*-------------------------------
	meeting btn wrap mee_btn
-------------------------------*/

.me_btn {
	border:none;
	-webkit-appearance: none;
	border-radius: 0;
	background:none;
	text-align: left;
	border-bottom:2px solid #b7b7b7;
	color:#b7b7b7;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:500;
	font-size:1.6rem;
	line-height:1.5;
	padding:0 0 0.5em 0;
	width:31%;
	/* width:24%; */
	margin-bottom:1em;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition:color .2s , border .2s;
}

.me_btn.me_now {
	border-color:#000;
	color:#000;
}

.me_btn:hover {
	color:#000;
	border-color:#000;
}

.me_btn_wrap.sb_cp::after {
	width:31%;
}

/*-------------------------------
	archive btn 
-------------------------------*/

.ar_btn_wrap {
	margin:40px auto;
}

.ar_btn {
	border:1px solid #b7193f;
	-webkit-appearance: none;
	text-align: center;
	color:#b7193f;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:500;
	font-size:1.6rem;
	padding:0 0 0.5em 0;
	width:158px;
	height:44px;
	line-height:42px;
	border-radius:22px;
	background:#fff;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition:color .2s , background .2s;
	margin-bottom:10px;
}

.ar_btn:not(:last-of-type) {
	margin-right:10px;
}

.ar_btn:hover,
.ar_now {
	background:#b7193f;
	color:#fff;
}

.ar_now:hover {
	background:#fff;
	color:#b7193f;
}


/*-------------------------------
	pager
-------------------------------*/

.pager_block {
	margin-top:100px;
}

.pager a,
.current{
	width: 35px;
	height: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0px;
	border-radius:0% ;
	font-size:1.8rem;
	font-weight:700;
}

.pager_dotted {
	margin:0 10px;
	line-height:30px;
	height: 40px;
	color: #b7b7b7;
}

.pager a {
	border-bottom: 1px solid #b7b7b7;
	color: #b7b7b7;
	cursor: pointer;
	background: none;
}
.current{
	border-bottom: 1px solid #000;
	background: none;
	color: #000;
}

.pager a:hover {
	color:#000;
	border-color: #000;
	opacity:1;
}

/*-------------------------------
	icon pdf
-------------------------------*/

.icon_pdf {
	position:relative;
}

.icon_pdf::before {
	content:"";
	display: block;
	width:37px;
	height:40px;
	background:url(../images/icon_pdf.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
}

/*-------------------------------
	資料ボタン
-------------------------------*/


.comment .pdf_wrap {
	margin-top:40px;
}

.comment .pdf_wrap .btn_black {
	display:block;
	text-align:center;
	width:330px;
	height:64px;
	line-height:60px;
	border:2px solid #404040;
	background:#404040;
	position:relative;
	transition:all .2s;
	text-decoration: none;
	margin:0 auto;
}

.comment .pdf_wrap .btn_black:hover {
	background:#fff;
}

.comment .pdf_wrap .btn_black span {
	font-size:1.8rem;
	position:relative;
	z-index:3;
	padding-left:2.5em;
}

.comment .pdf_wrap .btn_black:hover span {
	color:#404040;
}

.comment .pdf_wrap .btn_black span::before {
	background-image:url(../images/icon_pdf_white.svg);
	transition:background .4s;
}

.comment .pdf_wrap .btn_black:hover span::before {
	background-image:url(../images/icon_pdf_black.svg);
}



/*-------------------------------
	other news
-------------------------------*/

.other_news {
	margin-top:80px;
}

.other_title {
	font-size:2.4rem;
	margin-bottom:1em;
	letter-spacing: 0.05em;
}

.other_news .blog_list {
	position:relative;
	flex-wrap: wrap;
}

.other_news .blog_list::after {
	content:"";
	display: block;
	width:32%;
}

.other_news .blog_list li {
	border:none;
	padding:0;
	width:32%;
	max-width:326px;
}

.other_news .blog_list li a:hover .thumbnail img {
	transform:scale(1.1);
}

.thumbnail {
	height:206px;
	margin-bottom:18px;
	overflow: hidden;
}

.thumbnail img {
	transition:transform .2s;
}

.other_news .title_block {
	margin:0;
	padding:0 0 0 10px;
	border:none;
}

.other_news .title_wrap {
	margin:0;
}


/*-------------------------------
	responsive
-------------------------------*/

@media screen and (max-width:1400px) {

	.ad_btn {
		width:180px;
	}

	.ad_btn span {
		font-size:1.6rem;
		padding-left:30px;
	}

	.ad_btn span::before {
		width:20px;
		height:20px;
	}

	.nav_list > li a {
		font-size:1.6rem;
	}

	.nav_list > li {
		margin:0.25em 1em 0.25em 0;
	}
	
	.logo_h .logo_txt {
		margin-left:1em;
	}
	
	.logo_h .logo_txt strong {
		font-size:1.8rem;
	}
	
	.logo_h .logo_txt span {
		font-size:1.1rem;
	}

	@media screen and (max-width:1200px) {

		.footer_logo {
			width:400px;
		}

		.footer_nav_wrap {
			width:calc(100% - 400px);
			padding:0px 40px;
		}
		
		.footer_home,
		.footer_nav li {
			width:22%;
			margin-right:4%;
		}

		.footer_home,
		.footer_nav li a {
			font-size:1.5rem;
		}

		.footer_nav li:nth-of-type(5n) {
			margin-right:4%;
		}

		.footer_nav li:nth-of-type(4n) {
			margin-right:0%;
		}

		.footer_nav .ad_btn {
			margin:0px 0 0 auto;
		}
		


	@media screen and (max-width:960px) {

		.nav_list > li a {
			font-size:1.4rem;
		}

		.logo_h .logo_txt strong {
			font-size:1.6rem;
		}
		
		.logo_h .logo_txt span {
			font-size:1rem;
		}

		.logo_h {
			min-width:274px;
		}

		.logo_h .logo_txt {
			margin-left:0.5em;
		}

		.ad_btn {
			min-width:160px;
		}
	
		.ad_btn span {
			font-size:1.4rem;
			padding-left:30px;
		}

		.footer_home,
		.footer_nav li {
			width:47%;
			margin-right:0%;
		}

		.footer_nav ul {
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
			justify-content: space-between;
		}

		.footer_nav li:nth-of-type(5n) {
			margin-right:0%;
		}

		.footer_nav li:nth-of-type(4n) {
			margin-right:0%;
		}


	
			
	}

	}
	
}



/* ---------  ver.SmartPhone ------------ */

/* font-size ---

if : window size = 750px 


*/


@media screen and (max-width:768px){

	/*-------------------------------
		基本設定
	-------------------------------*/

	/*
      計算式：10(px) / 400(px) * 100 = 2.5
      画面幅400pxの時に "font-size: 1rem; = 10px " 相当になる
	  ex) font-size:1.6rem = 16px（400pxのとき）
    */

	html{
		font-size: 2.5vw;
	}
	body{
		font-size: 1.6rem;
	}

.pc_none,
.hamburger {
	display:block;
}

.sp_none {
	display:none;
}

.inner {
	width:100%;
	margin:0 auto;
	padding:0 7.5vw;
}

main {
	padding:21.25vw 0 0 0;
}

p {
	font-size:1.4rem; /* font 1.4rem */
	line-height:1.85;
}


/* --- flex --- */

.d_flex {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

/* --- btn --- */

.btn_red {
	width:60vw;
	height:15vw;
	line-height:14.5vw;
	border-width:0.5vw;
}

.btn_red span {
	font-size:1.8rem;
}

.btn_red span::before,
.btn_red span::after {
	height:0.5vw;
}

.btn_red span::before{
	width:14vw;
	background:#fff;
	transform:translateX(4.5vw);
}
.btn_red span::after{
	width:4.75vw;
	transform:translateX(5vw);
}

.btn_red:hover span::before {
	background:#B7193F;
	transform:translateX(7.5vw);
}
.btn_red:hover span::after {
	transform:translateX(7.5vw);
}

/* --- btn black --- */

.btn_black {
	width:60vw;
	height:15vw;
	line-height:14.5vw;
	border-width:0.5vw;
}

.btn_black span {
	font-size:1.8rem;
}

/* --- btn return --- */

.btn_return span::before {
	transform:translateX(-4.5vw);
}

.btn_return:hover span::before,
.btn_return:hover span::after {
	transform:translateX(-7.5vw);
}

.btn_return span::after {
	transform: translateX(-5vw);
}


/* --- main --- */

/* --- header --- */

header {
	height:21.25vw;
	transform:none!important;
	position:absolute;
}


.header_logo {
	width:12.5vw;
	height:12.3425vw;
}

.header_inner {
	width:100%;
	padding:0 5vw;
}

.logo_h .logo_txt {
	margin-left:2vw;
}

.logo_h .logo_txt strong {
	font-size:1.6rem;
}

.logo_h .logo_txt span {
	font-size:1.1rem;
	line-height:1.25;
}

.logo_h {
	margin-right:0vw;
	min-width:auto;
}

.nav_logo {
	margin-bottom:10vw
}

.nav_logo strong,
.nav_logo span {
	color:#fff;
}

/* --- header fin --- */

/* --- nav --- */

.header_nav {
	width:100%;
	height:100vh;
	overflow-y:auto;
	background:#404040;
	position:fixed;
	top:0;
	left:0;
	display: none;
	padding:5vw 5vw 15vw;
}

.nav_list > li {
	width:100%;
	margin:0;
	text-align: left;
}

.nav_list > li a {
	display: block;
	width:100%;
	padding:5vw 0 5vw 0;
	font-size:1.6rem;
	border-bottom:1px solid #b7b7b7;
	color:#fff;
}


.nav_list > li a::after {
	content:"";
	display: block;
	width:7.5vw;
	height:1.75vw;
	background:url(../images/arrow_right.svg) no-repeat center / contain;
	position: absolute;
	bottom: 0;
	right:0;
	top:0;
	left:auto;
	transform: scale(1, 1);
	margin:auto 0;
  }
  

.nav_list > .sp_nav_btn {
	padding:0;
	border:none;
	margin-top:5vw;
}

.nav_list > .sp_nav_btn a {
	display: block;
	height:14.5vw;
	line-height:13.5vw;
	padding:0;
	border:0.5vw solid #b7193f;
	text-align:center;
	background:#b7193f;
	position:relative;
	font-size:1.6rem;
}

.nav_list > .sp_nav_btn a::after {
	display: none;
}

.nav_list > .sp_nav_btn:hover {
	background:#fff;
	color:#b7193f;
	opacity:1;
}



/* --- nav fin --- */

/* --- btn --- */




/* ---------  footer ------------ */

footer {
	width:100%;
	background-color: #404040;
}

.footer_logo {
	width:92.5vw;
	padding:10vw 5vw 25vw;
}

.footer_logo::before {
	height:5vw;
	top:-5vw;
}

.copy {
	font-size:1rem;
	bottom:7.5vw;
}

.footer_nav_wrap {
	width:100%;
	padding:0px 7.5vw;
}

.footer_nav_wrap_inner {
	max-width:100%;
	padding:10vw 0 20vw;
}

.footer_home,
.footer_nav li a {
	font-size:1.6rem;
}

.footer_home,
.footer_nav li {
	width:47%;
	margin-bottom:5vw;
	margin-right:0%;
}

.footer_nav li.nav_100{
	width:100%;
}

.footer_bottom {
	display: none;
}


.footer_nav .ad_btn {
	display: none;
}




/* --- footer fin --- */



/* --- google map --- */


/* --- page top --- */

#page-top {
	width:12.5vw;
	height:12.5vw;
	bottom:7.5vw;
	right:7.5vw;
	transform:translateY(10vw);
}

#page-top.posi_ab {
	top:auto;
	bottom:7.5vw;
}


/* --- h_title --- */


.h_title {
	font-size:2.8rem;
	margin-bottom:10vw;
}

.bread_wrap .h_title {
	margin-bottom:10vw;
}

.h_title::before {
	font-size:1.2rem;
	margin-bottom:0.75em;
}

.h_title::after {
	font-size:1.2rem;
}


/*-------------------------------
	blog list
-------------------------------*/

.blog_list li {
	padding:5vw 0 5vw 0;
	border-width:1px;
}

.blog_title_a {
	margin-left:0em;
}


.blog_list li h2 {
	font-size:1.6rem;
	margin-top:3vw;
}

.blog_list .blog_title_a {
	width:100%;
}


/* --- blog cate time --- */

.cate {
	margin:0 0 0 1.5em;
}

.d_time,
.d_time span {
	font-weight:600;
}


/*-------------------------------
	bread crumble
-------------------------------*/

.subf_view {
	padding-top:7.5vw;
}

.bread_wrap {
	margin-top:0px;
	margin-bottom:0px;
}

/* display:blockになっているので、flexにするために消さない */
.bread_crumble.pc_none {
	margin-top:10vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.icon_home {
	padding-left:5vw;
}

.icon_home::before {
	width:2.75vw;
	height:3.1875vw;
}

.bread_crumble li,
.bread_crumble li a {
	font-size:1.2rem;
}

.bread_crumble li {
	color:#797979;
}


.bread_crumble li:not(:first-of-type) {
	padding-left:7.25vw;
	margin-left:0.75vw;
}

.bread_crumble li:not(:first-of-type)::before {
	width:7.25vw;
	background-color: #797979;
}

/*-------------------------------
	links 関連リンク
-------------------------------*/

.links {
	padding:10vw 0 12.5vw;
}

.links h2 {
	font-size:1.8rem;
	padding-bottom:1em;
	margin-bottom:0.5em;
}

.links_list li {
	width:100%;
	max-width:100%;
}

.links_list li a,
.now_links {
	font-size:1.4rem;
	padding:1.25em 10vw 1.25em 0;
	opacity:0.3;
}

.links_list li a::after {
	width:8vw;
	height:1.75vw;
}

.now_links,
.links_list li a:hover {
	opacity:1;
}

/*-------------------------------
	ol list
-------------------------------*/

.ol_list > li {
	font-size:1.4rem;
}

/*-------------------------------
	ten list
-------------------------------*/

.ten_list li {
	font-size:1.4rem;
}

/*-------------------------------
	meeting btn wrap mee_btn
-------------------------------*/

.me_btn {
	border-width:1px;
	font-size:1.4rem;
	width:48%;
}

.me_btn_wrap.sb_cp::after {
	width:48%;
}

/*-------------------------------
	archive btn
-------------------------------*/

.ar_btn_wrap {
	margin:7.5vw auto;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position:relative;
}

.ar_btn_wrap::after {
	content:"";
	display: block;
	width:31%;
}

.ar_btn {
	font-size:1.4rem;
	width:31%;
	height:9vw;
	line-height:8.5vw;
	border-radius:4.25vw;
	margin-bottom:2.5vw;
}

.ar_btn:not(:last-of-type) {
	margin-right:0vw;
}


/*-------------------------------
	pager
-------------------------------*/

.pager_block {
	margin-top:15vw;
	padding-bottom:10vw;
}

.pager a,
.current{
	width: 8.75vw;
	height: 10vw;
	font-size:1.8rem;
}

.pager_dotted {
	margin:0 2.5vw;
	line-height:7.5vw;
	height: 10vw;
}

/*-------------------------------
	icon pdf
-------------------------------*/

.icon_pdf::before {
	width:7.5vw;
	height: 8vw;
	left:1.5vw;
}

/*-------------------------------
	資料ボタン
-------------------------------*/


.comment .pdf_wrap {
	margin-top:10vw;
	padding-bottom:5vw;
}

.comment .pdf_wrap .btn_black {
	width:60vw;
	height:15vw;
	line-height:14.5vw;
	border-width:0.5vw;
}

.comment .pdf_wrap .btn_black span {
	font-size:1.8rem;
}


/*-------------------------------
	other news
-------------------------------*/
.other_news {
	margin-top:25vw;
}

.other_title {
	font-size:2rem;
}

.other_news .blog_list::after {
	display: none;
}

.other_news .blog_list li {
	width:100%;
	max-width:100%;
}

.other_news .blog_list li:not(:last-of-type) {
	margin-bottom:10vw;
}

.thumbnail {
	height:52.5vw;
	margin-bottom:4vw;
}

.other_news .title_block {
	padding:0 0 0 2.5vw;
}

.other_news .blog_list li h2 {
	margin-top:0;
}


}
/* ---------  ver.SmartPhone fin ------------ */

