@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;500;600;700;800;900&family=Karla:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@300;400;500;600;700;900&display=swap');
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17

*/

html, body, 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 {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}
*{
 box-sizing: border-box;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

ul,ol {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
img{
	vertical-align:bottom;
	max-width: 100%;
}


/************** layout base ********************/

.clearfix{
overflow:hidden;
}
.clear:after{
	content:"";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}


a{color:#72AF43;
	text-decoration:none;
}
a:hover{}

/*ボタンrollover*/
/*a:hover {filter:Alpha(opacity:60);
-moz-opacity:0.60;
opacity:0.60;}*/

sup {
	line-height: 100%;
	font-size:10px;
	vertical-align: 0.4em;
}
sub{
	line-height: 100%;
	font-size:10px;
	vertical-align: -0.1em;
}

.txtLeft{
text-align:left;
}
.txtRight{
text-align:right;
}
.txtCenter{
text-align:center;
}
.fw{font-weight:bold !important;}
.f10{ font-size:10px !important;}
.f11{ font-size:11px !important;}
.f12{ font-size:12px !important;}
.f13{ font-size:13px !important;}
.f14{ font-size:14px !important;}
.f15{ font-size:15px !important;}
.f16{ font-size:16px !important;}
.f17{ font-size:17px !important;}
.f18{ font-size:18px !important;}
.f20{ font-size:20px !important;}
.f22{ font-size:22px !important;}
.f24{ font-size:24px !important;}

.txtRed{ color:#dd0000;}
.txtWhite{ color:#fff;}
.note{  font-size:10px;}

.fLeft{ float:left;}
.fRight{ float:right;}
.fNon{
	float:none !important;
}

.mTop0{ margin-top:0 !important;}
.mTop5{ margin-top:5px !important;}
.mTop10{ margin-top:10px !important;}
.mTop15{ margin-top:15px !important;}
.mTop20{ margin-top:20px !important;}
.mTop25{ margin-top:25px !important;}
.mTop30{ margin-top:30px !important;}
.mTop35{ margin-top:35px !important;}
.mTop40{ margin-top:40px !important;}
.mTop45{ margin-top:45px !important;}
.mTop50{ margin-top:50px !important;}
.mTop60{ margin-top:60px !important;}

.mBtm0{ margin-bottom:0 !important;}
.mBtm5{ margin-bottom:5px !important;}
.mBtm10{ margin-bottom:10px !important;}
.mBtm15{ margin-bottom:15px !important;}
.mBtm20{ margin-bottom:20px !important;}
.mBtm25{ margin-bottom:25px !important;}
.mBtm30{ margin-bottom:30px !important;}
.mBtm35{ margin-bottom:35px !important;}
.mBtm40{ margin-bottom:40px !important;}
.mBtm45{ margin-bottom:45px !important;}
.mBtm50{ margin-bottom:50px !important;}
.mBtm60{ margin-bottom:60px !important;}

.mR0{ margin-right:0 !important;}
.mR5{ margin-right:5px !important;}
.mR10{ margin-right:10px !important;}
.mR15{ margin-right:15px !important;}
.mR20{ margin-right:20px !important;}

.pTop0{ padding-top:0 !important;}
.pTop5{ padding-top:5px !important;}
.pTop10{ padding-top:10px !important;}
.pTop15{ padding-top:15px !important;}
.pTop20{ padding-top:20px !important;}
.pTop25{ padding-top:25px !important;}
.pTop30{ padding-top:30px !important;}
.pTop35{ padding-top:35px !important;}
.pTop40{ padding-top:40px !important;}
.pTop45{ padding-top:45px !important;}
.pTop50{ padding-top:50px !important;}

.pBtm0{ padding-bottom:0 !important;}
.pBtm5{ padding-bottom:5px !important;}
.pBtm10{ padding-bottom:10px !important;}
.pBtm15{ padding-bottom:15px !important;}
.pBtm20{ padding-bottom:20px !important;}
.pBtm25{ padding-bottom:25px !important;}
.pBtm30{ padding-bottom:30px !important;}
.pBtm35{ padding-bottom:35px !important;}
.pBtm40{ padding-bottom:40px !important;}
.pBtm45{ padding-bottom:45px !important;}
.pBtm50{ padding-bottom:50px !important;}
.pBtm60{ padding-bottom:60px !important;}
.pLR20{
 padding-left: 20px;
 padding-right: 20px;
}


.flex{	
 display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
 flex-flow: row wrap;
}
@media screen and (min-width: 769px) {
	html{
		scroll-padding-top: 130px;
	}
.pcflex{
 display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
 flex-flow: row wrap;
justify-content: space-between;
 }
.spOnly{ display:none; }

}/*-PC only-*/
@media screen and (max-width: 768px) {
	body{	
-webkit-text-size-adjust: 100%;
	}
img{
	max-width:100%;
	height: auto;
 }
 .pcOnly{ display:none;}
.spLR20{
 padding-left: 20px;
 padding-right: 20px;
}
}/*SP only*/

/************** layout base ********************/
body{
 position: relative;
background:#ffffff;
text-align:center;
		font-family: 'Fira Sans', 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
line-height:1.2;
}
.fontMin{font-family:'A+9rnz-凸版文久明朝 Pr6N R',Garamond , "Times New Roman" ,"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}
.fontNMin{
 font-family: 'Noto Serif JP', serif;
}
.fontFira{font-family: 'Fira Sans', sans-serif;}
.fontKarla{font-family: 'Karla', sans-serif;}
main{
 overflow: hidden;
}
div,p,dl{
text-align:left;
}

p,dt,dd,li,td,th{
color:#333333;
font-size:14px;
line-height:2;
 letter-spacing: 0.08em;
 font-weight: 400;
}
h1,h2,h3,h4,h5,h6{
color:#333333;
 font-weight: 500;
 line-height: 1.2;
 text-align: left;
}
h1{font-size: 42px;}
h2{font-size: 36px;}
h3{font-size: 22px;}
h4{font-size: 18px;}
h5{font-size: 16px;}


@media screen and (max-width: 768px) {
p,dt,dd,li,td,th{
font-size:14px;
line-height:2;
 letter-spacing: 0.08em;
}
h1{font-size: 36px;}
h2{font-size: 30px;}
h3{font-size: 18px;}
h4{font-size: 16px;}

}/*-SP only-*/
/*------------------ list style----------------*/
.numberList{
	padding:0 0 0 18px;	
}
.numberList li{
	list-style:decimal outside;
	padding:0 0 5px 0;
}

.discList{
	padding:0 0 0 18px;
}
.discList li{
	list-style:disc outside;
	padding:0 0 2px 0;
}

.indentList li{
	padding-left:1em;
	text-indent:-1em;
}
.indentTxt{
 padding-left: 1em;
 text-indent: -1em;
}

.noteList li{
 position: relative;
 padding-left: 27px;
 text-align: left;
}
.noteList li::before{
 content: "";
 display: block;
 border-radius: 50%;
 background: #72af43;
 width: 10px;
 height: 10px;
 position: absolute;
 top: 0.55em;
 left: 0;
}
.noteList li + li{
 margin-top: 2em;
}

/*****************  head ***********************/
header{
 position: fixed;
 top: 0;
 left: 0;
 background: #fff;
 width: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 0 30px;
 z-index: 999;
}
#logo{
 max-width: 240px;
 line-height: 0;
}
header > div{
 padding: 25px 0 0;
}
header div a{
 color: #333;
}
header div a:hover{
 color: #72af43;
}
.headLinks li{
 line-height: 1;
}
.headLinks li.bgG{
  background: #e8f2da;
  padding: 5px;
}
.headLinks li a{
 position: relative;
 padding: 0 0 0 13px;
}
	.headLinks li.headEn a,
	.headLinks li.headx a{
		padding: 0;
}
.headLinks li a::before{
 content: "";
 display: block;
	width: 0;
	height: 0;
 border-width: 3px 0 3px 4px;
 border-color: transparent transparent transparent #333;
	border-style: solid;
 position: absolute;
 top: 0;
 left: 0;
 bottom: 0;
 margin: auto;
}
.headLinks li.headx a{
	width: 20px;
  display: block;
}
.headLinks li.headEn a:before,
.headLinks li.headx a:before{
	display: none
}
.headLinks li.current a{
 color: #72af43;
}
.headLinks li.current a::before{
 border-color: transparent transparent transparent #72af43 !important;
}
@media screen and (min-width: 1127px) {
.headLinks{
 justify-content: flex-end;
 align-items: center;
}
.headLinks li{
 margin-left: 20px;
}
	.headLinks li.headEn,
	.headLinks li.headx{
		margin-left: 12px;
	}
.headLinks li a:hover::before{
 border-color: transparent transparent transparent #72af43;
}
/* 2305 modify */
.headLinks .headSearch{
    border: 0;
    width: 15px;
    height: 15px;
    background: url(/assets/images/ic_search.png) left top no-repeat;
		background-size: cover;
		text-indent: 1000px;
} 
.headLinks .headSearch:hover{
	cursor: pointer;
}
/* /2305 modify */
 .headEn img{
  width: 15px;
  vertical-align: middle;
 }
	
}/*-PC only-*/
/*****************  navi ***********************/
#gNavi{
 padding: 30px 0 0;
}
#gNavi > ul > li{
 font-size: 16px;
 font-weight: 700;
 line-height: 1.3;
}
#gNavi .current,
#gNavi .current > a{
 color: #72af43;
}
.subNav{display: none;}
@media screen and (min-width: 1127px) {
 body{
  padding-top: 115px;
 }
 #gNavi > ul > li{
 margin-left: 2em;
 }
 #gNavi > ul > li >span,
 #gNavi > ul > li >a{
  display: block;
  position: relative;
  padding-bottom: 25px;
 }
 #gNavi > ul > li .subNav{
  display: block;
  position: absolute;
  top: 99.9%;
  left: 0;
  opacity: 0;
  border-top: 1px #f2f2f2 solid;
  background: #fff;
  width: 100%;
  padding: 40px 0 60px;
  visibility: hidden;
  -webkit-transition: 0.3s ease-in-out;  
       -moz-transition: 0.3s ease-in-out;  
         -o-transition: 0.3s ease-in-out;  
            transition: 0.3s ease-in-out; 
 }
 #gNavi > ul > li:hover >span{
 color: #72af43;
 }
 #gNavi > ul > li:hover >a::after,
 #gNavi > ul > li:hover >span::after{
  content: "";
  display: block;
  background: #72af43;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
 }
 #gNavi > ul > li:hover .subNav{
  display: block;
  opacity: 1;
  visibility: visible;
 }
 .subNavInner{
  display: flex;
  align-items: flex-start;
  justify-content:space-between;
  max-width: 1200px;
  margin: 0 auto;
 }
 .subNavInner > p{
  padding: 17px 0 0;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.24em;
 }
 .subNavInner > p a{
  margin-top: 35px;
  margin-left: 0;
  margin-right: 45px;
  max-width: 240px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.2em;
 }
 .subNav .pcflex{
  width: 75%;
  max-width: 900px;
  align-items: flex-start;
 }
 .subNav .pcflex ul{
  width: 24%;
  max-width: 220px;
 }
 .subNav ul li a{
  position: relative;
  display: block;
  border-bottom: 1px #f2f2f2 solid;
  padding: 17px 20px 19px;
  font-size: 14px;
  line-height: 1;
 }
 .subNav ul li a::after{
  content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	display: block;
	border-top: 2px #999999 solid;
	border-right: 2px #999999 solid;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
 }
 .subNav ul li a:hover::after{
  border-color: #72af43;
 }
 /**/
 .subNav.subCsr .pcflex, 
 .subNav.subContact .pcflex{
  width: 70%;
  justify-content: flex-start;
 }
 .subNav.subCsr .pcflex ul, 
 .subNav.subContact .pcflex ul{
  width: 38%;
  margin-right: 50px;
  max-width: none;
 }
}/*-PC only-*/
@media screen and (max-width: 1126px) {/*SP header*/
 header .pcOnly{display: none;}
 header .spOnly{display: block;}
header{
 align-items: center;
 height: 75px;
 padding:0 5.3% ;
 z-index: 999;
}
 body{
  padding-top: 75px;
 }
#logo{
 max-width: 180px;
}
 #spMenu.spOnly{
  position: relative;
  width: 32px;
  height: 16px;
  z-index: 999;
  cursor: pointer;
 }
 #spMenu span,
 #spMenu span::before,
 #spMenu span::after{
  display: block;
  width: 100%;
  height: 2px;
  background:#333333;
  -webkit-transition: 0.2s ease-in-out;  
       -moz-transition: 0.2s ease-in-out;  
         -o-transition: 0.2s ease-in-out;  
            transition: 0.2s ease-in-out; 
 }
 #spMenu span::before,
 #spMenu span::after{
  content: "";
  position: absolute;
  left: 0;
 }
 #spMenu span::before{
  top: 50%;
  margin-top: -1px;
 }
 #spMenu span::after{
  width: 56.25%;
  bottom: 0;
 }
 #spMenu.active span{
  background: rgba(255,255,255,0.00);
 }
 #spMenu.active span::before,
 #spMenu.active span::after{
  width: 100%;
  top: 50%;
  bottom: auto;
  -webkit-transform: rotate(45deg);
transform: rotate(45deg);
 }
 #spMenu.active span::after{
  right: 0;
  left: auto;
  -webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
 }
header > div{
 position: absolute;
 top: 0;
 left: 0;
 max-height: 100vh;
 overflow: auto;
 background: #fff;
 width: 100%;
 padding: 28px 8vw 0;
 opacity: 0;
 visibility: hidden;
 -webkit-transition: 0.2s ease-in-out;  
       -moz-transition: 0.2s ease-in-out;  
         -o-transition: 0.2s ease-in-out;  
            transition: 0.2s ease-in-out;
 z-index: 998;
}
 header.active > div{
  opacity: 1;
  visibility: visible;
	 padding-top: 80px;
 }
 header .language{
  padding: 0 0px 20px 0;
  font-size: 16px;
  text-align: right;
 }
 header .language a.current{
  position: relative;
 }
 header .language a.current::after{
  content: "";
  display: block;
  background: #88bc62;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -10px;
  left: 0;
 }
 .spSearch{
  position: relative;
  margin: 38px 0 35px;
 }
 .spSearch input[type=text]{
  border: none;
  background: #f4f4f4;
  width: 100%;
  height: 40px;
  padding: 5px 5px 5px 40px;
  font-size: 14px;
  line-height: 1;
  outline: none;
 }
 .spSearch input[type=submit]{
  border: none;
  background: url("../images/ic_search.png") no-repeat left 50%/100% auto;
  width: 18px;
  height: 34px;
  padding: 0;
  text-indent: -9999px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12px;
  margin: auto;
 }
 .spSearch ::placeholder{
  color: #c1c1c1;
 }
 #gNavi{
  border-top: 1px #dddddd solid;
  padding: 0 0 40px;
 }
 #gNavi a{
  display: block;
 }
 #gNavi > ul{
  display: block;
 }
 #gNavi > ul > li{}
 #gNavi > ul > li > span,
 #gNavi > ul > li > a{
  position: relative;
  display: block;
  border-bottom: 1px #dddddd solid;
  padding:16px 30px 18px 10px;
  font-size: 16px;
  transition: 0.3s ease-in-out;
 }
 #gNavi > ul > li > a::after,
 #gNavi > ul > li > span::after{
  content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	display: block;
	border-top: 2px #999999 solid;
	border-right: 2px #999999 solid;
	width: 5px;
	height: 5px;
	margin-top: -3px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
 }
 #gNavi > ul > li > span::after{
  border: none;
	border-bottom: 2px #999999 solid;
	border-right: 2px #999999 solid;  
  transition: 0.3s ease-in-out;
 }
 #gNavi > ul > li > span.active{
  color:#72af43 ;
 }
 #gNavi > ul > li > span.active::after{
  border-color: #72af43;
  -webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
 }
 .subNav{
  display: block;
  opacity: 0;
  visibility: hidden;
  height: 0;
  transition: 0.3s ease-in-out; 
 }
 .subNav ul li a{
  padding: 0 0 0 10px;
  font-size: 13px;
  line-height: 2.4;
 }
 #gNavi > ul > li > span.active + .subNav{
  opacity: 1;
  visibility: visible;
  height: auto;
  padding: 20px 0;
 }
 
 .headLinks.spOnly{
  display: block;
  background: #333;
  padding: 35px 8vw 27px;
  margin: 0 -8vw;
 }
 .headLinks li + li{
  margin-top: 26px;
 }
 .headLinks a{
  color: #fff;
  font-size: 13px;
 }
.headLinks li:not(.headEn) a::before{
 border-color: transparent transparent transparent #fff;
	border-style: solid;
 top: 0;
 left: 0;
 bottom: 0;
}
 .headLinks .group{
  margin-top: 35px;
 }
 .headLinks .group a{
  display: block;
  border: 1px #fff solid;
  padding: 0;
  text-align: center;
  line-height: 40px;
 }
 .headLinks li.group a::before{display: none;}
}/*-SP only-*/
/*****************  foot ***********************/
footer{
 overflow: hidden;
 background: #818f98;
}
#footNav{
 max-width: 1200px;
 margin: 0 auto;
 padding: 50px 0 60px;
}
#footNav a{
 color: #fff;
}
#footNav a:hover{
 color: #72af43;
}
#footNav p{
 margin-bottom: 10px;
 font-weight: 700;
 line-height: 1.4;
}
#footNav li{
 font-size: 13px;
 line-height: 2.15;
}
#footNav ul + p{
 margin-top: 25px;
}
#footNav p + p{
 margin-top: 20px;
}
#footNav .sns{
 margin-top: 30px;
 align-items: center;
}
#footNav .sns li{
 margin-right: 16px;
 line-height: 0;
}
#footNav .sns li a{
 display: block;
   font-size: 16px;
  font-weight: bold;
}
#footNav .sns li:first-child a {
  width: 26px;
}
#footNav .sns + p{
 margin-top: 20px;
}
#footBtm{
 background: #333333;
 padding: 13px 30px;
 color: #fff;
 align-items: center;
}
#footBtm ul{
 font-size: 0;
}
#footBtm ul li{
 display: inline-block;
 margin-right: 2em;
 font-size: 12px;
}
#footBtm ul li a{
 color: #fff;
}
#footBtm small{
 color: #fff;
 font-size: 12px;
font-family: 'Karla', sans-serif;
 font-weight: 500;
 line-height: 1.2;
}
#pageTop{
 position: fixed;
 right: 40px;
 bottom: 50px;
 width: 96px;
 cursor: pointer;
	z-index: 1000;
}
@media screen and (min-width: 769px) {
#footNav > div{
	width: 18%;
}
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP footer*/
footer{
}
#footNav{
 padding: 10px 0 30px;
}
#footNav p{
 padding: 0 5.3vw;
 margin-top: 20px;
 margin-bottom: 10px;
}
 #footNav ul{
  display: flex;
  flex-flow: row wrap;
 }
 #footNav ul li{
  width: 50%;
 }
 #footNav ul:not(.sns) li a{
 display: block;
  padding: 5px 5px 5px 5.3vw;
  line-height: 1.4;
}

 #footNav .sns{
  padding: 0 5.3vw;
 }
#footNav .sns li{
 width: auto;
 margin-right: 16px;
 line-height: 0;
}
#footBtm{
 padding: 30px 0 10px;
}
 #footBtm ul li{
  display: block;
  margin:0 0 10px;
  text-align: center;
 }
#footBtm small{
 display: block;
 margin-top: 40px;
 font-size: 10px;
 line-height: 1.2;
 text-align: center;
}
 
#pageTop{
 right: 20px;
 bottom: 50px;
 width: 56px;
}
}/*-SP only-*/
/*****************  contents ***********************/
.inner{
 max-width:1080px;
 margin: 0 auto;
 padding-left:20px;
 padding-right:20px;	
 box-sizing: content-box;
}
@media screen and (max-width: 768px) {
.inner{
	padding: 0;
}
main .inner p,
main .inner h2,
main .inner h3,	
main .inner >h4,	
main .inner ul,
main .inner ol{
	padding-left:20px;
 padding-right:20px;	
}
 main .inner .ttlBar{
  margin-left: 20px;
 }
}
/*-------- breadcrumb --------*/
#breadcrumb{
 max-width: 1200px;
 margin: 0 auto 60px;
 font-size: 12px;
 width: calc(100vw - 40px);
}
#breadcrumb a{
 position: relative;
 display: inline-block;
 padding-right: 14px;
 margin-right: 10px;
 color: #333;
}
#breadcrumb a::after{
 content: "";
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	border-top: 1px #333 solid;
	border-right: 1px #333 solid;
	width: 4px;
	height: 4px;
	margin-top: -2.5px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
#breadcrumb span{
 color: #b0b0b0;
}
/*-------- bg --------*/
.bg01{
 background: #f5f7f7;
}
.bg02{
 background:#ECF4E5;
}
.bgW{
 background: #fff;
}
/*---------title----------*/
.mvTitle{
 display: flex;
 align-items: center;
 height: 320px;
 padding: 0 5.3%;
 margin-bottom: 10px;
 background-size: cover;
 background-position: center;
 background-repeat: no-repeat;
}
.mvTitle > div{
 width: 100%;
 max-width: 1200px;
 margin: 0 auto;
 text-align: left;
}
.pageTitle{
 border-bottom: 1px #dddddd solid;
 width: calc(100vw - 40px);
	max-width: 1200px;
 padding: 0 0 24px;
 margin: 85px auto 10px;
 font-size: 42px;
 font-family: 'A+9rnz-凸版文久明朝 Pr6N R','Noto Serif JP',"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
 letter-spacing: 0.24em;
}
main section h2{
 margin-bottom: 20px;
}
.ttlArrow{
 display: inline-block;
 background: url("../images/arrow_ttl_green.png") no-repeat left top /64px auto;
 height: 87px;
 padding: 24px 0 0;
 font-family: 'A+9rnz-凸版文久明朝 Pr6N R','Noto Serif JP',"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
 font-size: 36px;
 font-weight: 500;
 letter-spacing: 0.29em;
 line-height: 1;
}
.ttlArrow span{
 display: block;
 padding: 10px 0 0;
 color: #adadad;
 font-family: 'Fira Sans', sans-serif;
 font-size: 16px;
 font-weight: 400;
 letter-spacing: 0.24em;
 text-align: right;
 margin: 0 0 0 auto;
}
.ttlArrow.white{
 background: url("../images/arrow_ttl_white.png") no-repeat left top /64px auto;
 color: #fff;
}
.ttlArrow.white span{
 color: #fff;
}
.ttlBd{
 border-bottom: 2px #dddddd solid;
 padding-bottom: 14px;
 margin-bottom: 24px;
 font-size: 28px;
}
.ttlBdGreen{
 border-bottom: 4px #ecf4e5 solid;
 padding-bottom: 10px;
 margin-bottom: 18px;
 font-size: 18px;
 letter-spacing: 0.12em;
}
.ttlBar{
 position: relative;
 padding: 0 0 0 48px;
}
.ttlBar::before{
 content: "";
 display: block;
 background: #72af43;
 width: 24px;
 height: 4px;
 position: absolute;
 top: 50%;
 left: 0;
 margin-top: -2px;
}

/*--------btn--------*/
.btnArrow{
 position: relative;
 display: block;
 border-radius: 8px;
 border: 1px #72af43 solid;
 background: #fff;
 max-width: 340px;
 margin: 0 auto;
  color: #72af43;
 font-size: 15px;
 font-weight: 500;
 text-align: center;
 letter-spacing: 0.2em;
 line-height: 1;
transition: ease .2s;
}
.btnArrow.inline{display: inline-block;max-width: none;}
/*矢印*/
.btnArrow::before,
.btnArrow::after,
.btnArrow.twotone>span::after{
 content: "";
 display: block;
 background: #72af43;
 position: absolute;
 right: -37px;
 top: 50%;
 height: 1px;
 -webkit-transition: 0.3s ease-in-out;  
       -moz-transition: 0.3s ease-in-out;  
         -o-transition: 0.3s ease-in-out;  
            transition: 0.3s ease-in-out; 
}
.btnArrow::before{
 width: 74px;
}
.btnArrow::after{
 width: 8px;
 -webkit-transform: rotate(45deg);
transform: rotate(45deg);
 transform-origin: right bottom
}
/*背景色*/
.btnArrow >span{
 position: relative;
 display: block;
 border-radius: 7px;
 overflow: hidden;
 padding: 22px 50px 22px 25px;
 z-index: 4;
}
.btnArrow >span::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  border-radius: 7px;
  background:#72af43;
  width: 100%;
  height: 100%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
/*矢印2色*/
.btnArrow.twotone::before,
.btnArrow.twotone::after{
 background: #fff;
}
.btnArrow.twotone >span::after{
 right: 0;
 background: #72af43;
 width: 36px;
}
/*矢印短い*/
.btnArrow.short::before,
.btnArrow.short::after{
 right: -22px;
}
.btnArrow.short::before{
 width: 22px;
}
.btnArrow.short >span::after{
  width: 22px;
}
/*色違い*/
.btnArrow.twotone.blue{
 border-color: #fff;
 color: #2373b4;
}
.btnArrow.twotone.blue> span::before,
.btnArrow.twotone.blue> span::after{
 background: #2373b4;
}
.btnArrow.twotone.blue:hover{
 color: #fff;
}
/*左向き*/
.btnArrow.back::before,
.btnArrow.back::after{
    right: auto;
    left: -37px;	
}
.btnArrow.short.back::before,
.btnArrow.short.back::after{
    right: auto;
    left: -22px;	
}
.btnArrow.back::after{
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transform-origin: left bottom;
}
.btnArrow.back >span {
    padding: 22px 55px 22px 70px;
}
/*ボタン長さ制限なし*/
.btnArrow.long{
 max-width: initial
}



@media screen and (min-width: 769px) {
.btnArrow:hover{
 color: #fff; 
 }
.btnArrow:hover::before,
.btnArrow:hover::after{
 right: -74px;
 opacity: 0;
}
.twotone:hover >span::after{
  opacity: 0;
 }
.btnArrow:hover span{
  color: #fff;
}
.btnArrow:hover span::before{
  transform-origin:left top;
  transform:scale(1, 1);
}
.btnArrow.short:hover::before,
.btnArrow.short:hover::after{
 right: -44px;
}
/*左向き*/	
.btnArrow.back:hover::before,
.btnArrow.back:hover::after{
 right: auto;
 left: -74px;
}
.btnArrow.back:hover span::before{
  transform-origin:right top;
  transform:scale(1, 1);
}
.btnArrow.short.back:hover::before,
.btnArrow.short.back:hover::after{
 right: auto;
 left: -44px;
}
}/*-PC only-*/


/**/
.btnNormal{
 position: relative;
 display: block;
 border-radius: 1.6px;
 border: 1px #72af43 solid;
 background: #fff;
 padding: 17px 60px 17px 40px;
 color: #72af43;
 font-weight: 500;
 text-align: center;
 letter-spacing: 0.2em;
 line-height: 1;
}
.btnNormal.inline{display: inline-block;}
/*縦大*/
.btnNormal.large{
 display: flex;
 align-items: center;
 justify-content: center;
 align-content: center;
 padding: 10px 30px 10px 10px;
 height: 120px;
 line-height: 1.4;
}
/*矢印*/
.btnNormal.arrow::before,
.btnNormal.arrow::after{
 content: "";
 display: block;
 background: #72af43;
 position: absolute;
 right: 22px;
 top: 50%;
 height: 2px;
}
.btnNormal.arrow::before{
 width: 28px;
}
.btnNormal.arrow::after{
 width: 10px;
 -webkit-transform: rotate(45deg);
transform: rotate(45deg);
 transform-origin: right bottom
}
/*色違い*/
.btnNormal.blue{
 border-color:#1b8bc2;
 color: #1b8bc2;
}
.btnNormal.gray{
 border-color:#dddddd;
 color: #b0b0b0;
 pointer-events: none;
}

@media screen and (max-width: 768px) {
	.btnNormal.arrow::before{
 width: 20px;
}
}
/*アイコン*/
.window::after{
 content: "";
 display: inline-block;
 background: url("../images/ic_window.svg") no-repeat left top/ 100% auto;
 width: 13px;
 height: 10px;
 margin-left: 14px;
 vertical-align: middle;
}
.pdf::after{
 content: "";
 display: inline-block;
 background: url("../images/ic_pdf.svg") no-repeat left top/ 100% auto;
 width: 14px;
 height: 16px;
 margin-left: 6px;
 vertical-align: middle;
}
.gray.pdf::after{
 background: url("../images/ic_pdf_gray.png") no-repeat left top/ 100% auto;
}
.plus::after{
	content: "";
	display: inline-block;
	width: 9px;
	height: 9px;
	background: url("../../assets/images/ic_plus.svg") no-repeat center / 100%;
	vertical-align: middle;
}
.mail::after{
	content: "";
	display: inline-block;
	width: 16px;
	height: 12px;
	background: url("../../assets/images/ic_mail.svg") no-repeat center / 100%;
	vertical-align: middle;
}
.icPopup::after{
	content: "";
	display: inline-block;
	width: 13px;
	height: 12px;
	background: url("../../assets/images/ic_modal.svg") no-repeat center / 100%;
 margin-left: 30px;
	vertical-align: middle;
}
.btnNormal.window::after,
.btnNormal.pdf::after,
.btnNormal.plus::after{
 position: absolute;
 right: 24px;
	top: 50%;
	transform: translateY(-50%);
}
@media screen and (min-width: 769px) {
.btnNormal:hover{
 background: #72af43;
 color: #fff; 
 }
.btnNormal.arrow:hover::before,
.btnNormal.arrow:hover::after{
 background: #fff;
}
 .btnNormal.blue:hover{
  border-color: #fff;
 background: #1b8bc2;
 }
.plus:hover::after{
	background-image: url("../../assets/images/ic_plus_white.svg");
}
}/*-PC only-*/
/*ボタンリスト*/
.btnList{
  align-items: flex-end;
}
.btnList li{
 position: relative;
 margin-top: 24px;
}

.btnList li.new::before{
	content: "NEW";
	display: inline-block;
	border-radius: 8px;
	background: #2E90C3;
	width: 4em;
	padding: 3px 0 2px;
	color: #fff;
	font-family: 'Fira Sans', sans-serif;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-align: center;
	line-height: 1;	
	position: absolute;
 bottom: 100%;
	left: 0;
 margin-bottom: 5px;
}
.btnList li .btnNormal{
 display: flex;
 align-items: center;
 min-height: 60px;
 padding: 8px 40px 8px 20px;
 text-align: left;
 line-height: 1.5;
}
@media screen and (min-width: 769px) {
.btnList.c2{
 justify-content: space-between;
}
 .btnList.c2 li{
  position: relative;
  width: 48.7%;
 } 
.btnList.c3{
 justify-content: flex-start;
}
 .btnList.c3 li{
  position: relative;
  width: 32%;
  margin-right: 1.95%;
 }
 .btnList.c3 li:nth-of-type(3n){
  margin-right: 0;
 }
 .btnList.c4,
 .btnList.c4_3{
 justify-content: flex-start;
}
 .btnList.c4 li,
 .btnList.c4_3 li{
  width: 23.5%;
  max-width: 250px;
  margin-right: 2%;
 }
 .btnList.c4 li:nth-of-type(4n){
  margin-right: 0;
 }
 .btnList.c2 li:nth-child(n + 2).new,
 .btnList.c4 li:nth-child(n + 4).new,
 .btnList.c4_3 li:nth-child(n + 3).new{
 margin-top: 40px;
}
}/*-PC only-*/
/*-------- pagenav --------*/
.pageNav{
 display: flex;
 justify-content: center;
 margin-bottom: 80px;
	margin-left: 20px;
	margin-right: 20px;
}
.pageNav li{
 width: 306px;
 margin: 0 6px;
}
.pageNav li a{
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
 align-content: center;
 border-radius: 2px;
 border: 1px #72af43 solid;
 width: 100%;
 height: 88px;
 padding: 0 0 6px;
 font-weight: 500;
 text-align: center;
 line-height: 1.4;
}
.pageNav li a::after{
 content: "";
	display: block;
	border-bottom: 2px #72af43 solid;
	border-right: 2px #72af43 solid;
	width: 5px;
	height: 5px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
	position: absolute;
 bottom: 12px;
 left: 0;
	right:0;
	margin:auto;
}
@media screen and (min-width: 769px) {
 .pageNav li a:hover{
  background:#72af43 ;
  color: #fff;
 }
.pageNav li a:hover::after{
	border-color:#fff;
}
 .pageNav.c3{
  max-width: 955px;
  margin: 0 auto 70px;
 flex-flow: row wrap;
  justify-content: flex-start;
 }
 .pageNav.c3 li{
  margin-bottom: 12px;
 }
}/*-PC only-*/

/*---------tab----------*/
.tabNav{
 justify-content: space-around;
}
.tabNav li{
 flex:1 0 auto;
 border-bottom: 2.4px #dddddd solid;
 padding:  0 0 15px;
 color: #b0b0b0;
 font-size: 17px;
 font-weight: 400;
 text-align: center;
 line-height: 1.5;
}
.tabNav li.select{
 border-bottom: 2.4px #72af43 solid;
 font-weight: 700;
 color: #333;
}
.disnon{display: none;}

/*タブ切り替え反応消し*/
.tabNav li:not(:nth-of-type(2)){
 cursor: pointer;
}
.tabNav li:nth-of-type(2).select{
 border-bottom: 2.4px #dddddd solid;
 font-weight: 400;
 color: #858585;
}

/**/
.tabSubNav{
 border-left: 1px #e2e2e2 solid;
 justify-content: flex-start;
 margin: 30px 0 20px;
}
.tabSubNav li{
 border-right: 1px #e2e2e2 solid;
 width: 116px;
 text-align: center;
}
.tabSubNav li a{
 display: block;
 color: #333;
 line-height: 21px;
 opacity: 0.6;
}
.tabSubNav li.active{
 font-weight: 700;
}
.tabSubNav li.active a{
 opacity: 1;
}

/**/
.searchResult{
 color: #b0b0b0;
 text-align: right;
}
/*---------pagenation---------*/
.pagenation{
 padding: 90px 0 0;
 text-align: center;
}
.pagenation li{
 display: inline-block;
 margin: 0 18px;
}
.pagenation li a{
 color: #333;
}
.pagenation li span{
 color: #72af43;
 font-weight: 500;
 text-decoration: underline;
}
.pagenation li.next,
.pagenation li.prev{
 position: relative; 
}
.pagenation li.next a,
.pagenation li.prev a{
 display: block;
 text-indent: -9999px;
}
.pagenation li.next a::before,
.pagenation li.prev a::before{ 
	content: "";
	display: block;
 position: absolute;
 top: 50%;
 left: 0;
	border-top: 2px #333 solid;
	border-right: 2px #333 solid;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.pagenation li.prev a::before{
 border:none;
	border-bottom: 2px #333 solid;
	border-left: 2px #333 solid;
}

/*---------accordion----------*/
.accArea{
 border: 1px #72af43 solid;
 background: #fff;
 padding: 0 60px;
 margin-top: 20px;
}
.btnAcc{
 position: relative;
 padding: 15px 60px 15px 35px;
 margin: 0 -60px;
 color: #72af43;
 cursor: pointer;
 letter-spacing: 0.2em;
}
.btnAcc::before,
.btnAcc::after{
 content: "";
 display: block;
 background: #72af43;
 width: 12px;
 height: 2px;
 position: absolute;
 right: 26px;
 top: 0;
 bottom: 0;
 margin: auto;
 -webkit-transition: 0.2s ease-in-out;  
       -moz-transition: 0.2s ease-in-out;  
         -o-transition: 0.2s ease-in-out;  
            transition: 0.2s ease-in-out; 
}
.btnAcc::after{
 -webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
.btnAcc.active::after{
 -webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
.accBox{display: none;}

@media screen and (max-width: 768px) {
/*--SP breadcrumb --------*/
#breadcrumb{
 margin: 0 20px 30px;
}
#breadcrumb a{
 padding-right: 10px;
 margin-right: 8px;
}
/*--SP title----------*/
.pageTitle{
 padding: 0 0 20px;
 margin: 40px auto 10px;
 font-size: 36px;
width: calc(100vw - 40px);	
}
main section h2{
 margin-bottom: 20px;
}
.ttlArrow,
 .ttlArrow.white{
 background-size:auto 100%;
 height:60px;
 padding: 16px 0 0;
 font-size: 24px;
 letter-spacing: 0.29em;
 text-align: center;
	 margin: 0 10px
}
.ttlArrow span{
 padding: 10px 0 0;
 font-size: 10px;
 letter-spacing: 0.29em;
}
.ttlBd{
 padding-bottom: 10px;
 margin-bottom: 20px;
}
.ttlBar{
 padding: 0 0 0 40px !important;
}
.ttlBar::before{
 width: 20px;
 height: 4px;
 margin-top: -2px;
}
 .ttlBdGreen {
  padding:0 20px 10px 20px;
    margin-bottom: 15px;
    font-size: 17px;
}
/*--SP  btn--------*/
.btnArrow{
 margin: 0 10%;
 text-align: center;
 font-size: 13px;
 letter-spacing: 0.2em;
 line-height: 1;
}
.btnArrow.inline{margin: 0;}
/*sp矢印*/
.btnArrow::before,
.btnArrow::after{
 right: -25px;
}
.btnArrow::before{
 width: 50px;
}
.btnArrow::after{
 width: 8px;
}
/*sp背景色*/
.btnArrow >span{
 padding: 16px 55px 16px 35px;
	line-height: 1.3
}
/*sp矢印2色*/
.btnArrow.twotone >span::after{
 width: 25px;
}
/*sp矢印短い*/
.btnArrow.short::before,
.btnArrow.short::after{
 right: -15px;
}
.btnArrow.short::before{
 width: 30px;
}
.btnArrow.short >span::after{
  width: 15px;
}
/*sp左向き*/
.btnArrow.back::before,
.btnArrow.back::after{
    right: auto;
    left: -25px;	
}
.btnArrow.short.back::before,
.btnArrow.short.back::after{
    right: auto;
    left: -15px;	
}
.btnArrow.back >span {
    padding: 16px 35px 16px 55px;
}

 /*--SP btnlist --------*/
 .btnList.c4{
  justify-content: space-between;
 }
 .btnList.c4 li{
  width: 48.5%;
 }
 .btnList li:nth-child(n + 1).new{
 margin-top: 32px;
}
 
/*--SP pagenav --------*/
.pageNav{
 flex-flow: row wrap;
 padding: 0 5.3%;
 margin-bottom: 40px;
}
.pageNav li{
 min-width: 70%;
 width: auto;
 margin: 0 5px 10px;
}
 .pageNav.spwide li{
  flex: 1 0 auto;
 }

/*202510 mody */
.pageNav li a{
	min-height: 68px;
	height: auto;
	padding: 6px 10px 20px;
	line-height: 1.4
/* height: 68px;
 padding: 0 10px 6px;
 ;*/
}
/*--SP tab----------*/
.tabNav li{
 flex:auto;
 width: 50%;
 padding: 10px 0 10px;
 font-size: 13px;
}
 
/*--SP table scroll----------*/
 .spScroll{
  overflow: auto;
  white-space: nowrap;
 }
/*-------SP--accordion----------*/
.accArea{
 padding: 0 30px;
 margin: 20px 20px 0;
}
.btnAcc{
 padding: 15px 60px 15px 20px !important;
 margin: 0 -30px;
}
 .accBox {
    padding: 0 0 30px;
}
}/*-SP only-*/
/*********/
main section{
 padding-top: 120px;
 padding-bottom: 120px;
}

@media screen and (max-width: 768px) {
	main section{
 padding-top: 75px;
 padding-bottom: 60px;
}
}

/*--関連情報--*/
#relatedInfo{
 position: relative;
 padding: 0 5.3% 95px;
 margin: 150px 0 0;
}
#relatedInfo h2{ 
 margin-bottom: 60px;
 -webkit-transform: translate(0, -50%);
 -ms-transform: translate(0, -50%);
 transform: translate(0, -50%);
 text-align: center;
 line-height: 1;
}
#relatedInfo .inner{
 position: relative;
 overflow: hidden;
 padding: 0 60px;
 box-sizing: border-box;
}
.rSlider li{
 padding: 8px 15px;
}
.rSlider li a{
 box-shadow: 0 0 8px 0 rgba(0,0,0,0.08);
 display: block;
 border-radius:16px 16px 10px 10px;
 background: #fff;
 max-width: 290px;
}
.rSlider li figure{
 width: 100%;
 height: 120px;
}
.rSlider li figure img{
 border-radius:16px 16px 0 0;
 object-fit: cover;
 width: 100%;
 height: 100%;
}
.rSlider li p{
 padding: 15px 20px;
}

.rSlider .slick-arrow{
 top: 50%;
 padding: 0;
 margin: 0;
 width: 6px;
 height: 12px;
 z-index: 1;
}
.rSlider .slick-arrow::before{
 content: "";
	display: block;
	border-top: 2px #333 solid;
	border-right: 2px #333 solid;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
 opacity: 1;
}
.rSlider .slick-arrow.slick-disabled::before{
 opacity: 0.3;
}
.rSlider .slick-prev {
 left: -50px;
}
.rSlider .slick-prev::before{
 border:none;
	border-bottom: 2px #333 solid;
	border-left: 2px #333 solid;
}
.rSlider .slick-next{
 right: -50px;
}
@media screen and (max-width: 768px) {
#relatedInfo{
 margin: 90px 0 0;
}
#relatedInfo h2{ 
 margin-bottom: 30px;
}
#relatedInfo .inner{
 padding: 0 18px;
 box-sizing: border-box;
}
main .inner .rSlider{
 padding: 0;
}
 .rSlider li a{
  max-width: none;
 }
.rSlider .slick-prev {
 left: -10px;
}
.rSlider .slick-next{
 right: -10px;
}
}/*-SP only-*/