@charset "utf-8";
/* CSS Document */



/*
* "Noto Sans JP" licensed under the SIL Open Font License 1.1
* by https://fonts.google.com/specimen/Noto+Sans+JP
*/
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/NS-400.woff2") format("woff2"), url("fonts/NS-400.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/NS-700.woff2") format("woff2"), url("fonts/NS-700.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP vt";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/NS-700-vertical.woff2") format("woff2"), url("fonts/NS-700-vertical.woff") format("woff");
  font-display: swap;
}




/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/


h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
small,
dl,
dt,
dd,
ol,
ul,
li {
	margin: 0;
	font-size: 100%;
}

ul {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

img {
	vertical-align: top;
}

li {
	list-style-type: none;
	vertical-align: baseline;
}

input,
button,
textarea,
select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}



/*--------------------------------------
　Base
---------------------------------------*/
*{
box-sizing: border-box;
}
img{
-webkit-backface-visibility: hidden;
}


body {
background: url("./img/pt.jpg") 0 0 repeat;
background-size: 128px auto;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 400;
font-size:1.5em;
line-height:2.0;
color: #122a72;
text-align: justify;
}

img { 
  max-width: 100%; 
  height:auto;
}

a {
color: #122a72;
text-decoration: none;
}

a:hover {
text-decoration: none;
}

p{
text-align: justify;
}

p a{
text-decoration: underline;
}


.fl {
  float: left;
}

.fr {
  float: right;
}

.strong {
  font-weight: bold;
}

.f110 {
  font-size: 110%;
}

.f120 {
  font-size: 120%;
}

.f130 {
  font-size: 130%;
}

.f150 {
  font-size: 150%;
}

.f200 {
  font-size: 200%;
}

.f300 {
  font-size: 300%;
}


/* Micro clearfix */

/* For modern browsers */
.cf:before,.cf:after { content:""; display:table; }
.cf:after { clear:both; }
/* For IE 6/7 (trigger hasLayout) */
.cf { zoom:1; }


.flImg{
float:left;
}
.frImg{
float:right;
}


h1,h2{
position: relative;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
padding: 0;
line-height: 1.5;
}
h3,h4,h5,h6{
position: relative;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
padding: 0;
line-height: 1.5;
}


.sttl{position: relative;margin: 0 0 12px;font-size: 1.8rem;font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;font-weight: 700;line-height: 1.5;}
.catch{
position: relative;
margin: 0 0 12px;
font-size:2.2rem;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
line-height: 1.6;
}


.fontS{
font-size: 67%;
}
.fontL{
font-size: 110%;
}

.fontBold{
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
}
.fontEng{
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
font-size:1.4rem;
color: #d3300a;
}



html {
font-size: 62.5%;
}



.ulBox,
.liBox{
position: relative;
}




.maindeco,
.maindeco2{
position: relative;
}
.maindeco::before{content: "";position: absolute;top: -2.7rem;left: -2.7rem;width: 2.7rem;height: 2.7rem;border-right: 1px solid #28997a;border-bottom: 1px solid #28997a;}
.maindeco::after{content: "";position: absolute;top: -2.7rem;right: -2.7rem;width: 2.7rem;height: 2.7rem;border-left: 1px solid #28997a;border-bottom: 1px solid #28997a;}
.maindeco2::before{content: "";position: absolute;bottom: -2.7rem;left: -2.7rem;width: 2.7rem;height: 2.7rem;border-right: 1px solid #28997a;border-top: 1px solid #28997a;}
.maindeco2::after{content: "";position: absolute;bottom: -2.7rem;right: -2.7rem;width: 2.7rem;height: 2.7rem;border-left: 1px solid #28997a;border-top: 1px solid #28997a;}
.maindeco .maindeco2 .inner{border: 1px solid #33B491;}

/* ── “SUMMARY” ブロック（.sum）のときだけ枠線を無効化 ── */
.sum.maindeco::before,
.sum.maindeco::after,
.sum.maindeco > .maindeco2::before,
.sum.maindeco > .maindeco2::after {               /* 外側４隅の線を非表示 */
  display: none;
}

.sum.maindeco > .maindeco2 > .inner {             /* 内側１px 枠も不要なら */
  border: none;
}



/*------------
600px--common
------------*/

.sp,
.sp_br{
display:none!important;
}
.sp2{
display:none;
}


body{
position: relative;
width: 100%;
min-width:1100px;
}

.forTab{
overflow: hidden;
}


a{
transition: all .2s ease-in-out;
}
a:hover{
opacity: 0.7;
}
a:hover img{
opacity: 1;
}

.mainWrap h1 a, .mainWrap h2 a, .mainWrap h3 a, .mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
text-decoration: none;
}


.areaInner{
position: relative;
width: 1000px;
margin: 0 auto;
}





/*--------------------------------------
　body_PC
---------------------------------------*/
*{
text-underline-offset: 0.15em;
}


/*--------------------------------------
　header_PC
---------------------------------------*/
#header{
position: relative;
z-index: 14;
margin: 0 0 0;
}

#header::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 1190px;
background: url("./img/pt_grid.png") 0 0 repeat;
background-size: 15px auto;
}
#header::after{
content: "";
position: absolute;
top: 5px;
left: 0;
width: 100%;
height: 1116px;
background: url(./img/mainbg.png) 50% 0 no-repeat;
}


#header .topArea{
position: relative;
z-index: 1;
width: 1000px;
margin:  0 auto;
padding: 7rem 0 1rem;
text-align: center;
}

#header .siteName,
#header .siteName a{
position: relative;
font-weight: 400;
font-size:1.2rem;
line-height: 1.6;
color: #fff;
}
#header .sps{
position: relative;
font-size:1.2rem;
line-height: 1.6;
color: #fff;
}


#header .logo{
width: 23rem;
margin: 1.6rem auto;
}
#header .logo img{
width: 100%;
}






/*--------------------------------------
　page-top_PC
---------------------------------------*/
#page-top {
position: fixed;
z-index: 101;
bottom: 30px;
right: 30px;
width: 70px;
}

#page-top{
  transition: .3s;
  /*デフォルトで非表示にする*/
  opacity: 0;
  visibility: hidden;
}
/*このクラスが付与されると表示する*/
#page-top.active{
  opacity: 1;
  visibility: visible;
}
/*このクラスが付与されると停止する*/
#page-top.absolute{
}





/*--------------------------------------
　Global Nav
---------------------------------------*/
#gNav_pc{
position: fixed;
top: 0;
right: 0;
z-index: 10000;


transition: .3s;
/*デフォルトで非表示にする*/
opacity: 0;
visibility: hidden;
}
/*このクラスが付与されると表示する*/
#gNav_pc.active{
opacity: 1;
visibility: visible;
}



/* ハンバーガーメニュー */

#gNav_pc #showRight2{
z-index: 10000;
}

#gNav_pc button{
width: 80px;
transition: all .2s ease-in-out;
}
#gNav_pc button:hover{
opacity: .7;
}
#gNav_pc button.active{
background: url(./img/sp-btn-menu_off.png) 0 0 no-repeat;
background-size:80px auto;
position: fixed!important;
top:0!important;
right: 0!important;
}
#gNav_pc button.active img{
opacity: 0;
}


/* General styles for all menus */
.cbp-spmenu {
position: fixed;
margin: 80px 0 0;
padding: 60px 0 100px;
background: url("./img/menubg.jpg") 0 0 no-repeat;
background-size: cover;

overflow: auto;
-ms-overflow-style: none; /* IE, Edge 対応 */
scrollbar-width: none;/* Firefox 対応 */
}


.cbp-spmenu #mainMenu2{
position: relative;
z-index: 1;
/*overflow: auto;*/
overflow: visible;
margin: 0 auto;
/*padding: 0 0 200px;*/
height: 100%;
width: 90rem;

display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.cbp-spmenu #mainMenu2::-webkit-scrollbar{
display: none;/* Chrome, Safari 対応 */
}


.cbp-spmenu #mainMenu2 .gnavBox{
position: relative;
width: 45%;
/*float: left;*/
}
.cbp-spmenu #mainMenu2 .gnavBox:nth-child(2n){
/*float: right;*/
}



.cbp-spmenu a {
display: block;
padding: 14px 20px 14px 4px;
text-decoration: none;
line-height: 1.3;
cursor: pointer;
color: #fff;
font-size:1.5rem;
}
.cbp-spmenu .sttl{
margin: 0;
}
.cbp-spmenu .sttl a {
position: relative;
background: url(./img/arrow_wt.svg) calc(100% - 2.3rem) 50% no-repeat ;
background-size: .8rem auto;
font-size:1.6rem;
}

.cbp-spmenu .sttl.tglMenu a {
background: none;
}
.cbp-spmenu .sttl.tglMenu a::before {
content: '';
display: inline-block;
width: 16px;
height: 1px;
background-color: #fff;
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
transition: opacity .5s;
}
.cbp-spmenu .sttl.tglMenu a::after {
content: '';
display: inline-block;
width: 16px;
height: 1px;
background-color: #fff;
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%) rotate(-90deg);
transition: transform .5s;
}
.cbp-spmenu .sttl.open a::before {
opacity: 0;
}
.cbp-spmenu .sttl.open a::after {
transform: translateY(-50%) rotate(-180deg);
}


.cbp-spmenu .home a {
background: url(./img/arrow_wt.svg) calc(100% - 2.3rem) 50% no-repeat ;
background-size: .8rem auto;
}

.cbp-spmenu .accChild{
/*position: absolute;*/

width: 100%;
z-index: 1;
}


.cbp-spmenu li a {
background: url(./img/arrow_wt.svg) calc(100% - 2.3rem) 50% no-repeat #28997a;
background-size: .8rem auto;
padding: 14px 50px 14px calc(14px + 1em);
}

.cbp-spmenu a:hover {
opacity: 0.7;
}
.cbp-spmenu a:active {
}

/* Orientation-dependent styles for the content of the menu */

.cbp-spmenu-vertical {
width: 100%;
height: 100%;
top: 0;
z-index: -1;
}
.cbp-spmenu-vertical a {
border-bottom: 1px solid rgba(255, 255, 255, .8);
padding: 14px 5rem 14px 1.4rem;
}


/* Vertical menu that slides from the left or right */

.cbp-spmenu-right {
opacity: 0;
visibility: hidden;
/*right: -100vw;*/
right: 0;
}
.cbp-spmenu-right.cbp-spmenu-open {
opacity: 1;
visibility: visible;
right: 0;
z-index: 1000;
}


/* Transitions */
.cbp-spmenu,
.cbp-spmenu-push {
transition: all 0.5s ease;
}

#gNav_pc .accChild {
display: none;
}

.cbp-spmenu .accordion br{
display: none;
}


body.body-fix{
overflow: hidden;
}


/* btns */
.cbp-spmenu .btns{
width: 90rem;
margin: 0 auto 30px;
padding: 0;
justify-content: space-between;
}
.cbp-spmenu .btns div{
width: 48%;
margin: 20px 0 10px;
}
.cbp-spmenu .btns div a{
color: #122a72;
}




/*--------------------------------------
　fixNav_PC
---------------------------------------*/

#fixNav{
position: fixed;
z-index: 110;
top: 0;
left: 0;
width: 100%;
min-width: 1100px;
min-height: 80px;
background: #fff;
border-bottom: 1px solid #28997a;

transition: .3s;
/*デフォルトで非表示にする*/
opacity: 0;
visibility: hidden;
}
/*このクラスが付与されると表示する*/
#fixNav.active{
opacity: 1;
visibility: visible;
}
/*このクラスが付与されると停止する*/
#fixNav.absolute{
/*opacity: 0;
visibility: hidden;*/
}



#fixNav .logo{
position: absolute;
top:15px;
left: 20px;
width: 10rem;
}
#fixNav .logo img{
width: 100%;
}

#fixNav .btnArea{
position: absolute;
top: 12px;
right: 10.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
}
#fixNav .btnArea{
padding: 0 0;
}
#fixNav .btnArea .areaNote{
position: relative;
padding: 0 6rem 0 0;
font-weight: 700;
}
#fixNav .btnArea .areaNote::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 5rem;
height: 100%;
background: url("./img/tri3b.svg") 0 50% no-repeat;
background-size: auto 1.2rem;
}


#fixNav .btnArea a{
display: flex;
align-items: center;
justify-content: center;
min-width: 11rem;
min-height: 52px;
margin: 0 0 0 1.5rem;
padding: 8px 1rem 10px;
background: #33b491;
border-radius:9999px;
font-weight: 700;
line-height: 1.3;
text-align: center;
color: #fff;
}
#fixNav .btnArea a:first-child{
border: none;
}
#fixNav .btnArea a:hover{
background: #f8f9fa;
border: 1px solid #28997a;
color: #28997a;
opacity: 1;
}





/*--------------------------------------
　Main Contents_PC
---------------------------------------*/

#contents {position: relative;z-index: 14;width: 100%;overflow-x: hidden;padding: 0 0 8rem;}


.mainWrap {
position: relative;
z-index: 1;
padding: 52px 0 52px;
min-height: 500px;
}
.mainWrap::before{
content: "";
position: absolute;
z-index: 1;
top: 0;
left: 0;
width: 100%;
height: 52px;
background: url(./img/trim1_top.png) 50% 0 no-repeat;
}
.mainWrap::after{
content: "";
position: absolute;
z-index: 1;
bottom: 0;
left: 0;
width: 100%;
height: 52px;
background: url(./img/trim1_bot.png) 50% 0 no-repeat;
}



.mainWrap > .areaInner{
background: #fff;
border: 1px solid #28997a;
}
.mainWrap .areaInner2{
padding: 0 5rem 5rem;
}



.smappage a br{
display: none;
}


.index a,
.mainWrap a{
display: block;
}
.index p a,.mainWrap p a,
.index li a,.mainWrap li a,
.index td a,.mainWrap td a{
display: inline;
}


/*--------------------------------------
　pankuzu_PC
---------------------------------------*/
#pankuzuWrap{
position: relative;
width: 100%;
margin: 0 0 0;
}
#pankuzu{
width: 100%;
margin: 0 auto 20px;
padding: 2rem 2.5rem 0;
font-size:1.2rem;
color: #666;
}
#pankuzu a{
display: inline;
text-decoration: underline;
color: #666;
}

#pankuzu br{
display: none;
}



/*--------------------------------------
　h1Area_PC
---------------------------------------*/
.h1Area{
position: relative;
z-index: 2;
margin: 0 0 60px;
padding: 20px 0 30px;
}
.h1Area h1{
position: relative;
margin: 0 0 20px;
font-size:4.8rem;
}
.h1Area .headNote{
line-height: 1.5;
font-size:1.2rem;
}





/*--------------------------------------
　about_PC
---------------------------------------*/

.about{
position: relative;
z-index: 14;
width: 1000px;
margin: 0 auto -7rem;
}
.about .inner{
padding: 9rem 5rem 2rem;
background: url(./img/eng_about.svg) 2.5rem 2.5rem no-repeat #fff;
background-size: auto 31px;
}
.about .logo{
position: absolute;
top: 9.5rem;
width: 18.4rem;
}
.about .txtArea{
margin: 0 0 0 23rem;
}




/*--------------------------------------
　Footer_PC
---------------------------------------*/

footer{
position: relative;
z-index: 13;
width: 100%;
background: #33b491;
padding: 16rem 0 2rem;
color: #fff;
}

footer .footInner{
width: 1100px;
margin: 0 auto;
padding: 0 0 2rem;
}


.footLogo{
position: relative;
margin: 0 auto 30px;
text-align: center;
}

.footLogo .logoImg{
display: inline-block;
width: 5rem;
}
.footLogo .siteName{
display: inline-block;
margin: 1px 0 0;
}
.footLogo .siteName a{
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
font-size:1.2rem;
color: #fff;
}


footer .footBox{
position: relative;
z-index: 9;
margin: 0 0 40px;
text-align: left;
}

.footBox .sttl{
margin: 0 0 12px;
padding: 0 0 10px;
border-bottom: 1px solid rgba(255, 255, 255, .8);
}
.footBox .sttl a{
position: relative;
display: block;
padding: 4px 0 4px;
font-size:1.8rem;
line-height: 1.3;
color: #fff;
}

footer .smap .sttl a{
font-size:1.6rem;
}

.footBox > ul{
padding: 0 0;
}
.footBox li{
display: inline-block;
}

.footBox li ul{
}

.footBox li a{
font-size:1.5rem;
color: #fff;
}
.footBox li:after{
content: "　/　";
}
.footBox li:last-child:after{
content: "";
}


.footBox li.subCat{
display: inline;
margin: 0 20px 0 0;
}
.footBox li.subCat:after{
content: "";
}
.footBox li.subCat > a{
}
.footBox li.subCat > a:after{
}
.footBox ul.subList{
display: inline;
}

.footBox ul.subList > li:first-child::before{
content: "：";
}
.footBox ul.subList li:after{
content: " / ";
}
.footBox ul.subList li:last-child::after{
content: "";
}
.footBox ul.subList a{
font-weight: 400;
}

.footBox a br{
display: none;
}


footer .noticeArea{
margin: 0 15rem;
padding: 15px 5rem 20px;
border: 1px solid #fff;
}
footer .noticeArea p{
font-size:1.2rem;
text-align: center;
letter-spacing: 0;
}
footer .noticeArea p:nth-child(1){
margin: 0 0 0;
padding: 0 0 0;
}
footer .noticeArea a{
color: #fff;
text-decoration: underline;
}
footer .noticeArea .botPrg{
padding: 10px 0 0;
}



footer .botArea{
position: relative;
min-width: 1000px;
box-sizing: border-box;
}
footer .botArea .botInner{
}
footer .botArea .copy{
padding: 10px 30px 16px;
font-size:1.2rem;
text-align: center;
letter-spacing: 0;
}
footer .botArea .copy a{
text-decoration: none;
color: #fff;
}






/* ================== */
/*  PC共通パーツ　*/
/* ================== */
/* p */
.mainWrap p, .index p{
margin: 15px 0;
padding: 0 0;
word-break: break-all;
}




.mainWrap h2{
position: relative;
margin: 70px 0 35px;
padding: 20px 2rem 22px 4.5rem;
background: url(./img/h2_deco.svg) 1.2rem 50% no-repeat #33b491;
background-size: 1.8rem auto;
font-size:3.4rem;
color: #fff;
}
.mainWrap h2::before {
}
.mainWrap h2::after{
}



.mainWrap h2 a{
position: relative;
display: block;
padding: 0 45px 0 0;
color: #fff;
}
.mainWrap h2 a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 7px;
width: 30px;
height: 100%;
background: url("./img/arrow_wt.svg") 99% calc(50% + 1px) no-repeat;
background-size: 1.5rem auto;
transition: all .2s ease-in-out;
}
.mainWrap h2 a:hover::before{
}
.mainWrap h2 a::after{
}
.mainWrap h2 a:hover::after{
}




.mainWrap h3{position: relative;margin: 2rem 0 30px;padding: 16px 1rem 18px 5.5rem;background: url(./img/dash.png) 0 100% repeat-x;background-size: auto 1px;/* border-top: 1px solid #28997a; */font-size:2.8rem;}
.mainWrap h3::before{
content: "";
position: absolute;
top: 0;
left: 1.4rem;
width: 2.7rem;
height: 100%;
background: url(./img/h3_deco.svg) 0 50% no-repeat;
background-size: 2.7rem auto;
}
.mainWrap h3 a{
position: relative;
z-index: 1;
display: block;
padding: 0 4.5rem 0 0;
}
.mainWrap h3 a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 7px;
width: 30px;
height: 100%;
background: url("./img/arrow.svg") 99% calc(50% + 1px) no-repeat;
background-size: 1.2rem auto;
transition: all .2s ease-in-out;
}
.mainWrap h3 a:hover::before{
}
.mainWrap h3 a::after{
}
.mainWrap h3 a:hover::after{
}



.mainWrap h4, .mainWrap h5, .mainWrap h6{
position: relative;
margin: 40px 0 30px;
padding: 10px 1rem 12px 1rem;
border-bottom: 1px solid #d8d8d8;
font-size:2.0rem;
}
.mainWrap h5::before, .mainWrap h6::before{
}
.mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
position: relative;
padding: 0 40px 0 0;
}
.mainWrap h4 a::before, .mainWrap h5 a::before, .mainWrap h6 a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 7px;
width: 24px;
height: 100%;
background: url("./img/arrow.svg") 99% calc(50% + 1px) no-repeat;
background-size: 1.0rem auto;
transition: all .2s ease-in-out;
}
.mainWrap h5 a:hover::before, .mainWrap h6 a:hover::before{
}
.mainWrap h5 a::after, .mainWrap h6 a::after{
}
.mainWrap h5 a:hover::after, .mainWrap h6 a:hover::after{
}




/* ulol */
.mainWrap ul,
.index ul,
#mainVis ul{margin: 10px 0 20px;padding:10px 10px 0;}
.mainWrap ul li,
.index ul li,
#mainVis ul li{
position: relative;
padding:3px 0 3px 20px;
}
.mainWrap ul li::before,
.index ul li::before{
position: absolute;
content: "";
top: 13px;
left: 2px;
width: 12px;
height: 12px;
background: #33b491;
border-radius:50%;
}

.mainWrap ol {
margin: 20px 0 20px;
padding:10px 10px 0;
}
.mainWrap ol li{
padding:3px 0 3px 22px;
list-style: none;
position: relative;
counter-increment: number;
}

.mainWrap ol li::before{
position: absolute;
top: 10px;
left: 0;
width: 15px;
height: 14px;
padding: 2px 0 1px;
background: #33b491;
text-align: center;
letter-spacing: -0.5px;
line-height: 1.0;
font-family: Arial, Helvetica, "sans-serif";
font-weight: 700;
font-size:1.4rem;
color: #fff;
}


.mainWrap ol li::before {
content: counter(number);
}


.mainWrap li a,
.index li a{
text-decoration: underline;
}
.mainWrap li a:hover,
.index li a:hover{
text-decoration: none;
}




/* btns */
.btn-internal,
.btn-web,
.btn-tel{position: relative;z-index: 1;display: flex;align-items: center;justify-content: center;margin: 30px auto;text-align: center;font-size: 2rem;font-weight: 700;line-height: 1.5;/* background: url(./img/arrow_sq.svg) 100% no-repeat; */background-size: 2.5rem;}
.btn-internal a,
.btn-web a,
.btn-tel a{
position: relative;
top:0;
left: 0;
margin: 0 6px 0 0;
width: 360px;
min-height: 77px;
display: flex;
align-items: center;
justify-content: center;
padding: 14px 5.5rem 16px;
border: 1px solid #122a72;
box-shadow:6px 6px 0 #122a72;

text-align: center;
line-height: 1.5;
font-weight: 700;
font-size:1.5rem;
transition: all .2s ease-in-out;

}
.btn-internal a::before,
.btn-web a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 21px;
width: 25px;
height: 100%;
background: url("./img/arrow_sq.svg") 99% calc(50% + 1px) no-repeat;
background-size: 22px auto;
transition: all .2s ease-in-out;
}
.btn-internal a:hover,
.btn-web a:hover{
top: 6px;
left: 6px;
box-shadow:0px 0px 0 #122a72;
opacity: 1;
}


.btn-internal a{
background: #fff;
}


.btn-web a{
background: #f4d700;
}
.btn-web a::before{
background: url("./img/window.svg") 99% calc(50% - 2px) no-repeat;
background-size: 25px auto;
}


.btn-tel{
display: none;
}
.btn-tel a{
background: #33b491;
color: #fff;
}
.btn-tel a::before{
content: "";
position: absolute;
top: 0;
left: 2rem;
width: 20px;
height: 100%;
background: url(./img/ico_tel.svg) 0 50% no-repeat;
background-size: 20px auto;
}




.btn-link{
margin: 20px 0;
text-align: right;
}
.btn-link a{position: relative;display: inline-block;padding: 4px 3rem 5px 0;background: url("./img/arrow_sq.svg") 100% calc(50% - 0px) no-repeat;background-size: 2rem auto;line-height: 1.5;text-align: right;text-decoration: underline;}







/* ================== */
/*  テーブル　　　　　*/
/* ================== */
table {
width: 98%;
margin:5rem auto 7rem;
}
table th {
width: 22%;
padding: 20px 16px;
background: #f2f3f4;
border: 1px solid #28997a;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
font-size:1.6rem;
line-height: 1.6;
text-align:center;

word-break: break-all;
}
table td {
background: #fff;
border: 1px solid #28997a;
padding: 20px 16px;
line-height: 1.6;
word-break: break-all;
}
table a{
text-decoration: underline;
}
table a:hover{
text-decoration: none;
}

table td .caption{
white-space:normal;
}






/* ================== */
/*  PCカスタマイズ共通　*/
/* ================== */
.caption,
.source{
margin: 10px 0 0;
padding: 0 0 4px;
font-size:1.0rem;
line-height: 1.5;
color: #999;
/*overflow: auto;*/
letter-spacing: 0;
text-align: center;
word-break: break-all;
}

.caption a {
display: inline;
color: #999;
text-decoration: underline;
}
.caption a:hover{
text-decoration: none;
}




.marker{
position: relative;
display: inline;
/*background: linear-gradient(transparent 60%, rgba(255, 85, 0, .3) 0%) no-repeat bottom 0 left; */
border-bottom: 3px solid #ffee71;
/*background: linear-gradient(transparent 50%, rgba(253, 229, 128, 1.0) 0%) no-repeat bottom 0 left; */
padding: 0 .5% 0;
margin: 0 .5%;
font-weight: 700;
line-height: 1;
}
.txt_bold{
font-weight: 700;
color: #e85510;
}

.name{
font-weight: 700;
background: #e1e1e1;
padding: 1px 3px;
border-radius: 30px;
padding: 1px 10px;
}

/* float-wrap */

.float-wrap{margin: 3rem 0 1rem;padding: 0 0px;}
.float-wrap .catch{
margin: 0 0 15px;
font-size:2.2rem;
}


.float-wrap .flame{
position: relative;
}


.float-wrap img{
width: auto;
}
.float-wrap p{margin: 0 0 2rem;padding: 0;}
.float-wrap ul{
display: inline-block;
margin: 10px 0;
}
.float-wrap .fl{
width: 320px;
padding: 0 30px 20px 0;
text-align: left;
}
.float-wrap .fr{
width: 320px;
padding: 0 0 20px 30px;
text-align: left;
}

.float-wrap .ct{
width: auto;
margin: 0 auto;
padding: 0 0 20px;
text-align: center;
}



/* ================== */
/*  サイトマップ*/
/* ================== */
.smap h2{
margin: 0 0 25px;
}
.smap ul{
margin: 0 0 70px;
}






/* ================== */
/*  追加パーツ*/
/* ================== */



/*--------------------------------------
　mokuji_PC
---------------------------------------*/

.mokuji{
transition: .3s;
/*デフォルトで非表示にする*/
opacity: 1;
/*visibility: hidden;*/
}
/*このクラスが付与されると表示する*/
.mokuji.active{
opacity: 1;
visibility: visible;
}
/*このクラスが付与されると停止する*/
.mokuji.absolute{
}


.mokuji{
position: relative;
margin: 30px 5rem 100px;
}
.mokuji .inner{
position: relative;
padding: 10px 4rem 30px;
background: #fcfcfc;
}

.mokuji .inner::before{
content: "";
position: absolute;
top: 26px;
left: 9.5rem;
width: 6rem;
height: 16px;
background: url("./img/eng_idx.svg") 0 0 no-repeat;
background-size: auto 16px;
}

.mokuji .sttl{
margin: 0 0 10px;
padding: 8px 0 14px;
border-bottom: 1px solid rgba(40, 153, 122,.5);
font-size:2.0rem;
}


.mokuji #toc{
position: relative;
padding: 0 0 20px;
}

.mokuji #toc ul{
margin:0;
padding:5px 0 5px;
}
.mokuji #toc ul li{
position: relative;
margin: 2px 0;
padding: 2px 0 2px 40px;
text-align: left;
line-height: 1.4;
}
.mokuji #toc ul li.chapter-h-two{
counter-increment: count;
}
.mokuji #toc ul li.chapter-h-two::before {
content: counter(count, decimal-leading-zero)".";/*2桁対応*/
position: absolute;
top: 12px;
left: 0;
transform: translate(0,-50%);
background: none;
font-size:1.6rem;
font-weight: 700;
color: #e85510;
}

.mokuji li a{
display: inline-block;
width: auto;
padding: 4px 0 6px;
background: none;
font-weight: 700;
font-size:1.6rem;
text-decoration: none;
}
.mokuji #toc ul ul{
margin: 0;
padding: 0 0 2px;
}
.mokuji #toc ul li.chapter-h-three {
padding: 0 0 0 6rem;
}
.mokuji #toc ul li.chapter-h-three::after {
content: "";
position: absolute;
top: 0;
left: 4.5rem;
width: 8px;
height: 100%;
background: url("./img/l_deco.png") 0 6px no-repeat;
background-size: 8px auto;
}
.mokuji #toc ul li.chapter-h-three::before {
width: 0;
height: 0;
background: none;
border: none;
}

.mokuji li br{
display: none;
}


/* accordion_grd */
.mokuji .text {
height: 120px;
overflow: hidden;
}
.mokuji .show_more2 {
position: absolute;
bottom: 0;
left: 0px;
width: 100%;
height: 70px;
padding-top: 60px;
text-align: center;
line-height: 70px;
background: linear-gradient(
180deg,
rgb(252, 252, 252, 0) 0%,
rgb(252, 252, 252, 1) 40%
);
border-radius:0 0 15px 15px;
cursor: pointer;
transition: bottom 0.2s;
}
.mokuji .active{
background: none;
/*bottom: -20px;*/
}
.mokuji .show_more2 span{
position: relative;
top: -30px;
display: inline-block;
width: 14rem;
padding: 6px 3rem 8px;
background: url(./img/plus1.svg) 90% calc(50% - 1px) no-repeat #fff;
background-size: 13px auto;
border-radius:9999px;
border: 1px solid #28997a;
text-align: center;
line-height: 1.5;
color: #28997a;
font-weight: 700;
font-size:1.3rem;
}
.mokuji .active span{
background: url(./img/minus1.svg) 90% 50% no-repeat #fff;
background-size: 13px auto;
}








/* relations_PC */
.relations{
position: relative;
margin: 30px 5rem 100px;
}
.relations .inner{
position: relative;
padding: 10px 4rem 30px;
background: #fcfcfc;
}

.relations .inner::before{
content: "";
position: absolute;
top: 31px;
left: 13.5rem;
width: 6rem;
height: 16px;
background: url("./img/eng_links.svg") 0 0 no-repeat;
background-size: auto 16px;
}

.relations .relations-title{
margin: 0 0 10px;
padding: 8px 0 14px;
border-bottom: 1px solid rgba(40, 153, 122,.5);
font-size:2.0rem;
font-weight: 700;
}


.relations .relations-wrapper{
position: relative;
padding: 0 0 5px;
}

.relations ul{
margin: 0;
}
.relations ul li{
position: relative;
margin: 4px 0;
padding: 0 0 0 0!important;
text-align: left;
line-height: 1.2;
}
.relations ul li::before{
width: 0!important;
height: 0!important;
background: none!important;
border: none!important;
}

.relations li a{
position: relative;
display: inline-block;
width: auto;
padding: 0 0 0 30px;
font-size:1.5rem;
text-decoration: none;
}
.relations li a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
left: 0.1rem;
width: 22px;
height: 100%;
background: url("./img/arrow_sq.svg") 0 9px no-repeat;
background-size: 22px auto;
transition: all .2s ease-in-out;
}
.relations li a:hover::before{
}
.relations ul li a::after {
}
.relations ul li a:hover::after{
}
.relations li p{
margin: 10px 0;
}




/* btns_PC */
.btns{
display: flex;
flex-wrap: wrap;
padding: 0 6%;
}
.btns div{
display: flex;
width: 44%;
margin: 20px auto 10px;
}
.btns div a{
/*display: flex!important;*/
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}
.btns .btn-tel{
display: none;
}


/* engbtn_PC */
.engBtn{
margin: 5rem 0;
position: relative;
}
.engBtn .btnTtl{
position: relative;
width: 366px;
margin: 0 auto;
color: #e85510;
text-align: center;
font-size:1.8rem;
}
.engBtn .btnTtl::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 13.5rem;
height: 100%;
background: url(./img/dash_red.png) 0 50% repeat-x;
background-size: auto 1px;
}
.engBtn .btnTtl::after{
content: "";
position: absolute;
top: 0;
right: 0;
width: 13.5rem;
height: 100%;
background: url(./img/dash_red.png) 0 50% repeat-x;
background-size: auto 1px;
}
.engBtn .btn-internal,
.engBtn .btn-web,
.engBtn .btn-tel{
margin: 10px auto 30px;
}

/* engTtl_PC */
.engTtl{position: relative;margin: 3rem 0 1rem;}
.engTtl .catch{margin: 0;background: #f2f3f4;padding: 16px 1rem 18px 4.5rem;border: none;font-size:2.2rem;color: #e85510;}
.engTtl .catch::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 26px;
height: 100%;
background: url(./img/eng_ck.svg) 50% 50% no-repeat #e85510;
background-size: 14px auto;
}








/* spv_PC */
.spv{
position: relative;
margin: 10rem 0;
padding: 70px 0 0;
}
.spv::before{content: "";position: absolute;top: 0;left: 0px;width: 100%;height: 44px;background: url(./img/eng_sps.svg) 0 0 no-repeat;background-size: auto 44px;opacity: .5;}
.spv .inner{
}
.spv .headArea{
position: relative;
width: 50rem;
margin: 0 0 30px;
padding: 25px 1rem 30px;
border-bottom: 1px solid #28997a;
}
.spv .headArea .pos{
position: absolute;
top: -15px;
left: 0;
width: 50rem;
font-size:1.6rem;
font-weight: 700;
color: #28997a;
}
.spv .headArea .pos::before{
content: "";
position: absolute;
top: 16px;
right: 0;
width:40rem;
height: 1px;
background: #28997a;
}

.spv .headArea .flame{
text-align: center;
}
.spv .headArea .flame img{
display: inline-block;
}

.spv .mainArea{
}
.spv .imgArea{
position: absolute;
top: 70px;
right: 0;
width: 34rem;
}


.spv .txtArea{
width: 50rem;
margin: 0 0 4rem;
}
.spv .txtArea .catch{
margin: 0 0 20px;
text-align: center;
color: #e85510;
}



/* intv_PC */
.intv{position: relative;margin: 8rem auto 8rem;}
.intv::before{
content: "";
position: absolute;
top: -50px;
left: 0;
width: 22rem;
height: 50px;
background: url("./img/intv_dk.svg") 0 0 no-repeat;
background-size: 22rem 50px;
}
.intv::after{
content: "";
position: absolute;
top: -38px;
left: 0;
width: 22rem;
height: 50px;
background: url("./img/eng_intv.svg") 50% 0 no-repeat;
background-size: auto 23px;
}

.intv .inner{
position: relative;
padding: 30px 42rem 30px 4rem;
background: #d2f8ee;
}
.intv .inner::before{
content: "";
position: absolute;
top: -1px;
left: 0;
width: 22rem;
height: 1px;
background: url(./img/dash.png) 0 100% repeat-x;
background-size: auto 1px;
}


.intv .tags{
margin: 0 0 2rem;
}
.intv .tag{
display: inline-block;
margin: 0 1rem 0 0;
padding: 5px 1rem 7px;
border-radius:9999px;
border: 1px solid #777;
line-height: 1;
text-align: center;
font-weight: 700;
color: #777;
}

.intv .catch{
line-height: 1;
font-size:2.6rem;
color: #fff;
}
.intv .catch .txt_bold{
color: #ffee71;
}
.intv .catch .obi{
display: inline-block;
margin: 0 0 1rem;
padding: 5px 1rem 7px;
background: #122a72;
}

.intv .flame{
position: absolute;
top: -25px;
right: 4rem;
width: 31rem; 
height: 35rem;
}
.intv .flame .sttl{position: absolute;bottom: 1rem;right: 0rem;padding: 2px 1rem;background: #122a72;line-height: 1;color: #fff;}
.intv .flame img{width: 31rem;object-fit: cover;height: 36rem;}

.intv .txtArea{
}




/* talk_PC */
.talks{position: relative;margin: 0rem 0;}
.talk{position: relative;display: flex;flex-wrap: wrap;align-items: center;width: 100%;margin: 5rem 0 5rem;flex-direction:row;}
.talkB{
flex-direction: row-reverse;
}

.talk .imgArea{
width: 11rem;
margin: 0 5rem;
}
.talk .imgArea .flame{
}
.talk .imgArea img{
}
.talkB .imgArea{
margin: 0 0 0 5rem;
}

.talk .cap{
position: relative;
padding: 6px 0 0;
line-height: 1.5;
text-align: center;
font-weight: 700;
font-size:1.6rem;
}

.talk .txtArea{
flex: 1; 
position: relative;
}
.talk .txtArea .inner{
position: relative;
padding: 25px 4rem 22px;
background: #fcfcfc;
}
.talk .txtArea .caption{
text-align: left;
}
.talk .txtArea .inner::before{
content: "";
position: absolute;
top: 0;
left: -2rem;
width: 3.7rem;
height: 100%;
background: url(./img/fuki.svg) 0 50% no-repeat;
background-size: 3.7rem auto;
}
.talkB .txtArea .inner::before{
left: auto;
right: -2rem;
transform: scale(-1, 1);
}



.talk .tags{
margin: 0 0 2rem;
}
.talk .tag{
display: inline-block;
margin: 0 1rem 0 0;
padding: 5px 1rem 7px;
background: #fff;
border-radius:9999px;
border: 1px solid #777;
line-height: 1;
text-align: center;
font-weight: 700;
color: #777;
}




/* qa_PC */
.qaWrap{padding: 0rem 0 3rem;}
.qa{padding: 1rem 0rem 0;}
.qa .sttl{
margin: 0 0 20px;
padding: 0 0 0 5.5rem;
background: none;
border: none;
font-size:2.0rem;
color: #28997a;
}
.qa .sttl::before{
content: "";
position: absolute;
top: 16px;
left: 0;
width: 5rem;
height: 1px;
background: #28997a;
}

.qa .txtArea{
padding: 0 0 0 5.5rem;
}
.qa .catch{
margin: 0 0 20px;
font-size:2.0rem;
}



/* his_PC */
.his{position: relative;background: #f2f3f4;padding: 60px 4rem 30px;}



.his .liBox{
padding: 0 0 20px;
}


.his .sttl{
width: 7rem;
float: left;
padding: 6px 1rem 8px;
background: #33b491;
border-radius:9999px;
line-height: 1;
font-size:1.6rem;
text-align: center;
color: #fff;
}
.his .sttl::before{
content: "";
position: absolute;
top: 50%;
right: -5.0rem;
width: 4rem;
height: 1px;
background: #28997a;
}

.his .fuki{
position: relative;
width: 69rem;
float: right;
}
.his .fuki .catch{
font-size:2.0rem;
}
.his .fuki .txtArea{
margin: 0 0 10px;
padding: 10px 4rem 15px;
background: #fff;
}

.his .imgType{
}

.his .flame{
width: 34.5rem;
margin: 0 auto;
padding: 25px 0 5px;
} 
.his .flame img{
width: 34.5rem;
object-fit: cover;
}



/* sum_PC */
.sum{position: relative;margin: 8rem 0;}

.sum .inner{
padding: 70px 4rem 20px;
background: #d2f8ee;
}

.sum .inner::before{
content: "";
position: absolute;
top: 1px;
left: 4rem;
width: 33rem;
height: 49px;
background: url("./img/eng_sum.svg") 0 0 no-repeat;
background-size: auto 49px;
}

.sum .catch{
margin: 0 0 20px;
padding: 0 0 0 1.7rem;
}
.sum .catch::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: #28997a;
}





/* entry_PC */
.entry{position: relative;margin: 6rem 0;padding: 2rem 0 0;}
.entry::before{
content: "";
position: absolute;
z-index: 1;
top: 0;
left: 0;
width: 100%;
height: 14rem;
background: url("./img/tri3.svg") 50% 0 no-repeat;
background-size: 6.6rem auto;
}

/* eng_slider1_PC */
.eng_slider1{
margin: 0 -50px 130px;
}
.eng_slider1 .slick-slide{
height: 85px;
margin-right: 22px!important;
margin-left: 22px!important;
}



.entryBox{
position: relative;
background: url("./img/entry_deco1.png") 50px 55px no-repeat #33b491;
}
.entryBox p a{
color: #fff;
}
.entryBox::before{
content: "";
position: absolute;
top: -70px;
left: 0;
width: 100%;
height: 10%;
background: url(./img/dk_gr.svg) 0 0 no-repeat;
background-size: 100% 70px;
}
.entryBox::after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 1px;
background: url(./img/dash_wt.png) 0 0 repeat-x;
background-size: auto 1px;
}


.entryBox .inner{
background: url(./img/entry_deco2.png) calc(100% - 50px) 55px no-repeat;
padding: 90px 5rem 0;
}

.entryBox .sttl{
margin: 0 0 40px;
color: #fff;
text-align: center;
font-size:3.0rem;
}
.entryBox .sttl .fontL{
display: block;
margin: 15px 0 0;
font-size:4.0rem;
letter-spacing: .15em;
line-height: 1;
}
.entryBox .sttl .fontL span:not([class]){
display: inline-block;
background: #28997a;
padding: 3px 0 6px .7rem;
border: 1px solid #fff;
border-left: none;
}
.entryBox .sttl .fontL span:first-child{
border-left: 1px solid #fff;
}
.entryBox .sttl .spline2 span:first-child{
border-left: none;
}

.entryBox .intro{
margin: 0 0 50px;
}
.entryBox p{
color: #fff;
}
.entryBox .intro p .txt_bold{
color: #ffee71;
}

.entryBox a{
	
}

.entryBox .formArea{height: auto;background: #cccccc;}

.entryBox .btnArea{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.entryBox .btnArea .engBtn{
}
.entryBox .btnArea .engBtn .btnTtl {
color: #fff;
}
.entryBox .btnArea .engBtn .btnTtl::before,
.entryBox .btnArea .engBtn .btnTtl::after{
width: 11.5rem;
background-image: url("./img/dash_wt.png");
}


/* End_PC */





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


/*------------
common--480px
------------*/

html{
}

.mainWrap .catch, .mainWrap .sttl,
.index .catch, .index .sttl{
font-size: 1.9rem;
}

#contents{
position: relative;
z-index: 0;
}



body{
background: #fff;
min-width: 320px;
text-align:left;
line-height:1.9;
word-break: break-all;
overflow-x: hidden;
}


.sp,
.sp_br{
display:block!important;
}

.pc,
.pc_br{
display:none!important;
}

img:not([width]) {
width:100%;
height:auto;
max-width: 100%;
}

a{
text-decoration: none;
}
a:hover,
a:hover img{
opacity: 1;
}

.areaInner{
width: auto;
margin: 0;
}


.fontEng{
font-size:1.2rem;
}



.maindeco,
.maindeco2{
position: relative;
}
.maindeco::before{
content: "";
position: absolute;
top: -1.4rem;
left: -1.4rem;
width: 1.4rem;
height: 1.4rem;
border-right: 1px solid #28997a;
border-bottom: 1px solid #28997a;
}
.maindeco::after{
content: "";
position: absolute;
top: -1.4rem;
right: -1.4rem;
width: 1.4rem;
height: 1.4rem;
border-left: 1px solid #28997a;
border-bottom: 1px solid #28997a;
}
.maindeco2::before{
content: "";
position: absolute;
bottom: -1.4rem;
left: -1.4rem;
width: 1.4rem;
height: 1.4rem;
border-right: 1px solid #28997a;
border-top: 1px solid #28997a;
}
.maindeco2::after{
content: "";
position: absolute;
bottom: -1.4rem;
right: -1.4rem;
width: 1.4rem;
height: 1.4rem;
border-left: 1px solid #28997a;
border-top: 1px solid #28997a;
}
.maindeco .maindeco2 .inner{
border: 1px solid #28997a;
}







/* notice 30px_4% */



/*--------------------------------------
　body_SP
---------------------------------------*/





/*--------------------------------------
　header_SP
---------------------------------------*/
#header{
position: relative;
z-index: 14;
min-height: 0;
margin: 0;
}
#header::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url("./img/pt_grid.png") 0 0 repeat;
background-size: 15px auto;
}
#header::after{
content: "";
position: absolute;
top: 5px;
left: 0;
width: 100%;
height: 1116px;
background: url(./img/mainbg_sp.png) 50% 0 no-repeat;
background-size: 100% auto;
}


#header .topArea{
position: relative;
z-index: 1;
width: 55vw;
margin:  0 auto;
padding: 3.5rem 0 2rem;
text-align: center;
}


#header .siteName,
#header .siteName a{
position: relative;
margin: 4px 0;
font-size:1.0rem;
line-height: 1.6;
color: #fff;
}
#header .sps{
position: relative;
margin: 4px 0;
font-size:1.0rem;
line-height: 1.6;
color: #fff;
}

#header .logo{
width: 14rem;
margin: 1.6rem auto;
}
#header .logo img{
width: 100%;
}






/*--------------------------------------
　page-top_SP
---------------------------------------*/
#page-top{
position: fixed;
z-index: 101;
bottom: 2%;
right: 2%;
width: 5.5rem;
}
#page-top{
  transition: .3s;
  /*デフォルトで非表示にする*/
  opacity: 0;
  visibility: hidden;
}
/*このクラスが付与されると表示する*/
#page-top.active{
  opacity: 1;
  visibility: visible;
}
/*このクラスが付与されると表示する*/
#page-top.absolute{
}


/*--------------------------------------
　fixBan_SP
---------------------------------------*/

#fixBan{
position: fixed;
z-index: 110;
width: auto;
top: auto;
bottom: 2%;
left: 1rem;
right: auto;

transition: .3s;
/*デフォルトで非表示にする*/
/*opacity: 0;
visibility: hidden;*/
}
/*このクラスが付与されると表示する*/
#fixBan.active{
opacity: 1;
visibility: visible;
}
/*このクラスが付与されると停止する*/
#fixBan.absolute{
opacity: 0;
visibility: hidden;
}


#fixBan a{
position: relative;
width: 21rem;
min-height: 55px;
display: flex;
align-items: center;
justify-content: center;
padding: 6px 4rem 8px;
background: #d3300a;
border: 1px solid #fff;
border-radius:9999px;
text-align: center;
line-height: 1.5;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
font-size:1.4rem;
color: #fff;
}
#fixBan a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 1.4rem;
width: 1.8rem;
height: 100%;
background: url("./img/arrow_out_wt.svg") 99% calc(50% - 2px) no-repeat;
background-size: 1.8rem auto;
transition: all .2s ease-in-out;
}







/*--------------------------------------
　Global Nav_SP挙動
---------------------------------------*/
#gNav{
position: fixed;
top: 0;
right: 0;
z-index: 112;

transition: .3s;
/*デフォルトで非表示にする*/
/*opacity: 1;
visibility: hidden;*/
}
/*このクラスが付与されると表示する*/
#gNav.active{
opacity: 1;
visibility: visible;
}
/*このクラスが付与されると表示する*/
#gNav.absolute{
}


/*--------------------------------------
　Global Nav_SP
---------------------------------------*/

/* ハンバーガーメニュー */
#gNav #showRight{
width: 5.2rem;
position: fixed;
top: 0;
right: 0;
z-index: 10000;
}
#gNav button.active{
background: url(./img/sp-btn-menu_off.png) 0 0 no-repeat;
background-size: 5.2rem auto;
}
#gNav button.active img{
opacity: 0;
}


/* General styles for all menus */
.cbp-spmenu {
position: fixed;
margin: 5.2rem 0 0;
padding: 3rem 0 0;
background: #33b491;

overflow: auto;
-ms-overflow-style: none; /* IE, Edge 対応 */
scrollbar-width: none;/* Firefox 対応 */
}


.cbp-spmenu #mainMenu{
position: relative;
z-index: 1;
/*overflow: auto;*/
overflow: visible;
margin: 0 0;
padding: 20px 0 70px;
height: 100%;
}

.cbp-spmenu #mainMenu::-webkit-scrollbar{
display: none;/* Chrome, Safari 対応 */
}


.cbp-spmenu a {
display: block;
padding: 14px 10% 14px;
text-decoration: none;
line-height: 1.3;
font-size:1.4rem;
}
.cbp-spmenu li a {
padding: 16px 10% 16px;
}
.cbp-spmenu .sttl{
margin: 0;
font-size:1.6rem;
letter-spacing: 0;
}

.cbp-spmenu .sttl a {
background: url(./img/arrow_wt.svg) calc(100% - 2.0rem) 50% no-repeat;
background-size: 8px auto;
}

.cbp-spmenu .sttl.tglMenu a {
background: none;
}
.cbp-spmenu .sttl.tglMenu a::before {
content: '';
display: inline-block;
width: 1.4rem;
height: .1rem;
background-color: #fff;
position: absolute;
right: 2rem;
top: 50%;
transform: translateY(-50%);
transition: opacity .5s;
}
.cbp-spmenu .sttl.tglMenu a::after {
content: '';
display: inline-block;
width: 1.4rem;
height: .1rem;
background-color: #fff;
position: absolute;
right: 2rem;
top: 50%;
transform: translateY(-50%) rotate(-90deg);
transition: transform .5s;
}
.cbp-spmenu .sttl.open a::before {
opacity: 0;
}
.cbp-spmenu .sttl.open a::after {
transform: translateY(-50%) rotate(-180deg);
}



.cbp-spmenu .home a {
background: url(./img/arrow_wt.svg) calc(100% - 2.0rem) 50% no-repeat;
background-size: 8px auto;
}
.cbp-spmenu .subList a{
padding: 14px 10% 14px calc(5% + 2em);
font-weight: 400;
}

.cbp-spmenu li a {
background: url(./img/arrow_wt.svg) calc(100% - 2.0rem) 50% no-repeat #28997a;
background-size: 8px auto;
padding: 14px 10% 14px calc(5% + 1em);
font-weight: 400;
}



.cbp-spmenu a:hover {
opacity: 1;
}
.cbp-spmenu a:active {
}

/* Orientation-dependent styles for the content of the menu */
.cbp-spmenu-vertical {
/*width: calc(100% - 100px);*/
width: 100%;
height: 100%;
top: 0;
z-index: -1;
}
.cbp-spmenu-vertical a {
border-bottom: 1px solid rgba(255, 255, 255, .8);
padding: 16px 11% 16px 5%;
}
.cbp-spmenu-vertical .home a {
border-bottom: 1px solid rgba(255, 255, 255, .8);
}
.cbp-spmenu-vertical .smap .home a {
border-top:none;
}



/* Vertical menu that slides from the left or right */
.cbp-spmenu-right {
opacity: 0;
right: -100%;
/*right: -280px;*/
/*right: 0;*/
}
.cbp-spmenu-right.cbp-spmenu-open {
opacity: 1;
right: 0;
z-index: 1000;
}


/* Transitions */
.cbp-spmenu,
.cbp-spmenu-push {
transition: all 0.3s ease;
}

#gNav .accChild {
display: none;
}

body.body-fix{
overflow: hidden;
}


/* logo */
.cbp-spmenu .logo{
width: 15rem;
margin: 0 auto 2.5rem;
}
.cbp-spmenu .logo a{
border-bottom:none;
}

/* btns */
.cbp-spmenu .btns{
width: 90%;
margin: 0 auto 10px;
padding: 0;
}
.cbp-spmenu .btns div{
width: 100%;
margin: 20px 0 10px;
}
.cbp-spmenu .btns div a{
color: #122a72;
}



/*--------------------------------------
　fixNav_SP
---------------------------------------*/

#fixNav{
position: fixed;
z-index: 110;
top: 0;
left: 0;
width: 100%;
min-width: 32rem;
min-height: 5.2rem;
background: #fff;
border-bottom: 1px solid #28997a;

transition: .3s;
/*デフォルトで非表示にする*/
opacity: 0;
visibility: hidden;
}
/*このクラスが付与されると表示する*/
#fixNav.active{
opacity: 1;
visibility: visible;
}
/*このクラスが付与されると停止する*/
#fixNav.absolute{
/*opacity: 0;
visibility: hidden;*/
}



#fixNav .logo{
position: absolute;
top:15px;
left: 20px;
width: 10rem;
}
#fixNav .logo img{
width: 100%;
}

#fixNav .btnArea{
position: absolute;
top: 10px;
right: 6rem;
display: flex;
flex-wrap: wrap;
align-items: center;
}
#fixNav .btnArea{
padding: 0 0;
}
#fixNav .btnArea .areaNote{
position: relative;
margin: 0 1rem 0 0;
padding: 0 3.5rem 0 0;
line-height: 1.3;
font-size:1.2rem;
font-weight: 700;
}
#fixNav .btnArea .areaNote::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 3rem;
height: 100%;
background: url("./img/tri3b.svg") 0 50% no-repeat;
background-size: auto .9rem;
}


#fixNav .btnArea a{
display: flex;
align-items: center;
justify-content: center;
min-width: 7rem;
min-height: 0;
margin: 0 0 0 .5rem;
padding: 6px .5rem 8px;
background: #33b491;
border-radius:9999px;
font-size:1.3rem;
font-weight: 700;
line-height: 1.3;
text-align: center;
color: #fff;
}
#fixNav .btnArea a:first-child{
border: none;
}
#fixNav .btnArea a:hover{
background: #33b491;
border: none;
color: #fff;
opacity: 1;
}





/*--------------------------------------
Main Contents_SP
---------------------------------------*/

#contents {
position: relative;
z-index: 14;
width: 100%;
overflow-x: hidden;
padding: 0 0 2rem;
}

.mainWrap {
position: relative;
z-index: 1;
padding: 0 0 2rem;
min-height: 0;
width: auto;
float: none;
}
.mainWrap::before{
width: 0;
height: 0;
background: none;
border: none;
}
.mainWrap::after{
width: 0;
height: 0;
background: none;
border: none;
}

.mainWrap > .areaInner{
background: #fff;
border: none;
border-top: 1px solid #28997a;
}
.mainWrap .areaInner2{
padding: 0 0 5rem;
}


/*--------------------------------------
pankuzu_SP
---------------------------------------*/

#pankuzuWrap{
overflow: auto;
white-space: nowrap;
margin: 0 0 0;
padding: 10px 3% 0;
position: static;
box-sizing: border-box;
width: auto;
}
#pankuzuWrap::-webkit-scrollbar{
height: 3px;
}
#pankuzuWrap::-webkit-scrollbar-track{
border-radius: 3px;
background: #eee;
}
#pankuzuWrap::-webkit-scrollbar-thumb{
border-radius: 3px;
background: #bbb;
}

#pankuzu{
width: 100%;
margin: 0 auto 10px;
padding: 0 0;
font-size:1.1rem;
}
#pankuzu a{
text-decoration: underline;
}


/*--------------------------------------
　h1Area_SP
---------------------------------------*/
.h1Area{
position: relative;
z-index: 2;
margin: 0 0 0;
padding: 20px 5% 50px;
}

.h1Area h1{
position: relative;
margin: 0 0 12px;
font-size:2.5rem;
line-height: 1.4;
}

.h1Area .headNote{
line-height: 1.5;
font-size:1.1rem;
}


/*--------------------------------------
　about_SP
---------------------------------------*/

.about{
position: relative;
z-index: 14;
width: auto;
margin: 0 5% -18rem;
}
.about .inner{
padding: 6.5rem 5% .5rem;
background: url(./img/eng_about.svg) 50% 1.5rem no-repeat #fcfcfc;
background-size: auto 22px;
}
.about .logo{
position: static;
width: 14rem;
margin: 0 auto 2rem;
}
.about .txtArea{
margin: 0 0 0;
}
.about .txtArea p{
font-size:1.4rem;
}
.about .txtArea a{
font-size:1.4rem;
}


/*--------------------------------------
　Footer_SP
---------------------------------------*/

footer{
position: relative;
z-index: 13;
width: 100%;
background: #33b491;
padding: 18rem 0 10px;
color: #fff;
}


footer .footInner{
width: auto;
margin: 0;
padding: 35px 0 0;
}


.footLogo{
position: relative;
margin: 0 auto 30px;
text-align: center;
}

.footLogo .logoImg{
display: inline-block;
width: 5rem;
}
.footLogo .siteName{
display: inline-block;
margin: 1px 0 0;
}
.footLogo .siteName a{
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
font-size:1.2rem;
color: #fff;
}


footer a{
line-height: 1.4;
font-size: 1.3rem;
}


footer .footBox{
margin: 0 0 0;
/*z-index: 0;*/
}
.footBox:first-of-type{
border-top: 1px solid rgba(255, 255, 255, .8);
}
.footBox a{
}
.footBox a:hover{
opacity: 1;
}


.footBox .sttl{
margin: 0;
padding: 0;
border: none;
background: none;
}
.footBox .sttl a{
display: block;
padding: 1.2em 10% 1.3em 4%;
font-size: 1.5rem;
border-bottom: 1px solid rgba(255, 255, 255, .8);
text-align: left;
letter-spacing: 0;
}

.footBox .sttl a::before {
content: '';
display: inline-block;
width: 1.4rem;
height: .1rem;
background-color: #fff;
position: absolute;
right: 1.9rem;
top: 50%;
transform: translateY(-50%);
transition: opacity .5s;
}
.footBox .sttl a::after {
content: '';
display: inline-block;
width: 1.4rem;
height: .1rem;
background-color: #fff;
position: absolute;
right: 1.9rem;
top: 50%;
transform: translateY(-50%) rotate(-90deg);
transition: transform .5s;
}


.footBox > ul{
padding: 0;
}
.footBox li{
display: block;
}


.footBox li:after{
content: "";
}

.footBox li a{
display: block;
padding: 1.3em 10% 1.3em 10.5%;
background: url(./img/arrow_wt.svg) calc(100% - 2.0rem) 50% no-repeat;
background-size: 8px auto;
border-bottom: 1px solid #d5cec2;
text-align: left;
font-size:1.3rem;
}
.footBox li li a{
padding: 1.3em 7% 1.3em 16.5%;
}
 
 
.footBox li a.ssttl{
display: block;
padding: 1.3em 10% 1.3em 4.5%;
background: url(./img/arrow_wt.svg) calc(100% - 2.0rem) 50% no-repeat;
background-size: 8px auto;
border-bottom: 1px solid #d5cec2;
}

.footBox li.sp a{
padding: 1.3em 10% 1.3em 4.5%;
}

/* サイトマップ */
footer .smap .sttl a{
background: url(./img/arrow_wt.svg) calc(100% - 2.0rem) 50% no-repeat;
background-size: 8px auto;
font-size:1.4rem;
}
footer .smap .sttl a::before,
footer .smap .sttl a::after{
width: 0;
height: 0;
background: none;
border: none;
}



.footBox.accordion .accChild{
display: none;
/*background: #d2ebee;*/
}
.footBox.accordion .accChild a{
background: url(./img/arrow_wt.svg) calc(100% - 2.0rem) 50% no-repeat #28997a;
background-size: 8px auto;
border-bottom: 1px solid #d5cec2;
}


.footBox.accordion .open a::before {
opacity: 0;
}
.footBox.accordion .open a::after {
transform: translateY(-50%) rotate(-180deg);
}




.footBox li.subCat{
display: block;
margin: 0 0 0 0;
}

.footBox ul.subList{
display: block;
margin: 0 0 0;
}

.footBox ul.subList > li:first-child::before{
content: "";
margin: 0;
}

.footBox ul.subList li:after{
content: "";
}


footer .noticeArea{
margin: 20px 5% 0;
padding: 5px 3% 20px;
color: #fff;
}
footer .noticeArea p{
font-size:1.1rem;
text-align: center;
letter-spacing: 0;
}
footer .noticeArea p:nth-child(1){
margin: 0 0 10px;
padding: 14px 5% 0;
text-align: left;
}
footer .noticeArea a{
color: #fff;
text-decoration: underline;
font-size:1.1rem;
}
footer .noticeArea .botPrg{
padding: 0 0 0;
}



footer .botArea{
min-width: 0;
padding: 25px 5% 30px;
box-sizing: border-box;
text-align: center;
}
footer .botArea .copy{
padding: 0 0;
font-size:1.1rem;
text-align: center;
line-height: 1.6;
}
footer .botArea a{
display: inline-block;
text-decoration: none;
font-size:1.1rem;
color: #fff;
}




/* ================== */
/*  SP共通パーツ　*/
/* ================== */

/* p */
.mainWrap p, .index p{
margin: 1rem 0;
line-height: 1.9;
}
.mainWrap .areaInner2 > p, .index > .areaInner > p{
padding: 0 5%;
}



.mainWrap h2 {
position: relative;
margin: 40px 5% 20px;
padding: 17px 3% 17px 3.5rem;
background: url(./img/h2_deco.svg) 1.0rem 50% no-repeat #33b491;
background-size: 1.5rem auto;
font-size:2.3rem;
color: #fff;
}
.mainWrap h2::before {
}

.mainWrap h2 a{
position: relative;
display: block;
padding: 0 10% 0 0;
color: #fff;
}
.mainWrap h2 a::before{
content: "";
position: absolute;
top: 0;
right: .3rem;
width: 1.1rem;
height: 100%;
background: url("./img/arrow_wt.svg") 99% calc(50% + 0px) no-repeat;
background-size: 1.1rem auto;
transition: all .2s ease-in-out;
}
.mainWrap h2 a:hover::before{
}
.mainWrap h2 a::after{
}
.mainWrap h2 a:hover::after{
}






.mainWrap h3{
position: relative;
margin: 30px 5%;
padding: 12px 2% 14px 10%;
background: url(./img/dash.png) 0 100% repeat-x;
background-size: auto 1px;
border-top: 1px solid #28997a;
font-size:2.1rem;
}
.mainWrap #chapter-10 {
  position: relative;
  margin: 30px 5% 0;
  }

.mainWrap h3::before{content: "";position: absolute;top: 0;left: 1.0rem;width: 1.8rem;height: 100%;background: url(./img/h3_deco.svg) 0 50% no-repeat;background-size: 1.7rem auto;}
.mainWrap h3 a{
position: relative;
z-index: 1;
display: block;
padding: 0 10% 0 0;
}
.mainWrap h3 a::before{
content: "";
position: absolute;
top: 0;
right: .3rem;
width: 0.8rem;
height: 100%;
background: url("./img/arrow.svg") 99% calc(50% + 0px) no-repeat;
background-size: 0.8rem auto;
transition: all .2s ease-in-out;
}
.mainWrap h3 a:hover::before{
}
.mainWrap h3 a::after{
}
.mainWrap h3 a:hover::after{
}






.mainWrap h4, .mainWrap h5, .mainWrap h6{
margin: 20px 5%;
padding: 10px 2% 10px .5rem;
border-bottom: 1px solid #d8d8d8;
font-size:1.8rem;
}
.mainWrap h5::before, .mainWrap h6::before{
}
.mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
position: relative;
padding: 0 5% 0 0;
}
.mainWrap h4 a::before, .mainWrap h5 a::before, .mainWrap h6 a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 3px;
width: 0.8rem;
height: 100%;
background: url("./img/arrow.svg") 99% calc(50% + 1px) no-repeat;
background-size: 0.8rem auto;
transition: all .2s ease-in-out;
}









.mainWrap ul{
margin: 1.5em 4% 1.5em;
padding:0.5em 1% 0;
}
.mainWrap ul li{
padding:0 0 .4rem 1.7rem;
}
.mainWrap ul li::before,
.index ul li::before{
position: absolute;
content: "";
top: 1.1rem;
left: .2rem;
width: 1.0rem;
height: 1.0rem;
}


.mainWrap ol {
margin: 1.5em 4% 1.5em;
padding:0.5em 1% 0;
}
.mainWrap ol li{
padding:0 0 .4rem 2.0rem;
}

.mainWrap ol li::before{
width: 1.6rem;
height: 1.7rem;
top: .7rem;
left: 0;
box-sizing: border-box;
padding: 0.13em 0 0;
letter-spacing: 0;
line-height: 1.0;
font-size:1.3rem;
}







/*  btns*/
.btn-internal,
.btn-web,
.btn-tel{position: relative;z-index: 1;width: 90%;display: flex;align-items: center;justify-content: center;margin: 2em auto;text-align: center;}


.btn-internal a,
.btn-web a,
.btn-tel a{position: relative;top:0;left: 0;width: 100%;min-height: 7.3rem;display: flex;align-items: center;justify-content: center;margin: 0 .5rem 0 0;padding: 1.2rem 9% 1.4rem;border: 1px solid #122a72;box-shadow:5px 5px 0 #122a72;text-align: center;line-height: 1.5;font-size:1.5rem;font-weight: 700;}

.btn-internal a::before,
.btn-web a::before{content: "";position: absolute;z-index: 10;top: 0;right: 1rem;width: 1.9rem;height: 100%;background: url("./img/arrow_sq.svg") 99% calc(50% + 0px) no-repeat;background-size: 1.9rem auto;transition: all .2s ease-in-out;}
.btn-internal a:hover,
.btn-web a:hover{
top: 0;
left: 0;
box-shadow:6px 6px 0 #122a72;
opacity: 1;
}


.btn-internal a{
background: #fff;
}


.btn-web a{
background: #f4d700;
}
.btn-web a::before{
right: 1.5rem;
width: 2.3rem;
background: url("./img/window.svg") 99% calc(50% - 2px) no-repeat;
background-size: 2.3rem auto;
}




.btn-tel{
display: block;
}
.btn-tel a{background: #122A72;color: #fff;border: 1px solid #1f7e64;box-shadow: 5px 5px 0 #1f7e64;}
.btn-tel a::before {
position: absolute;
top: 0;
left: 1.6rem;
width: 1.9rem;
height: 100%;
background: url(./img/ico_tel.svg) 0 50% no-repeat;
background-size: 19px auto;
}



.btn-link{
margin: 20px 5%;
text-align: right;
}
.btn-link a{
position: relative;
display: inline-block;
padding: 4px 2.2rem 4px 0;
background: url("./img/arrow.svg") 99% calc(50% + 1px) no-repeat;
background-size: 0.9rem auto;
line-height: 1.5;
text-align: right;
text-decoration: underline;
}





/* ================== */
/*  テーブル　　　　　*/
/* ================== */

table{
width: 88%;
margin:3rem auto;
border-bottom: 1px solid #a0a0a0;
}
table th {
width: 100%;
display: block;
padding: 1.5rem 2rem;
border-bottom: none;
line-height: 1.3;
text-align: center;
font-size:1.5rem;
}
table td {
width: 100%;
display: block;
padding: 1.5rem 2rem;
border-bottom: none;
line-height: 1.4;
text-align: center;
font-size:1.4rem;
}


.tableB .tblWrap{
overflow: auto;
width: 88%;
margin: 0 auto;
}
.tableB .note{
padding: 0 5%;
text-align: center;
color: #999999;
font-size:1.3rem;
}
.tableB table{
margin:10px auto;
}
.tableB table th {
white-space: nowrap;
width: 22%;
display: table-cell;
}
.tableB table td {
display: table-cell;
white-space: nowrap;
}

.tableB .scroll-hint-icon {
top: calc(50% - 40px);
left: calc(50% - 60px);
}


/* ================== */
/*  SPカスタマイズ共通　*/
/* ================== */
.caption,
.source{
margin: 0.8em 0 0;
font-size:1.0rem;
line-height: 1.3;
word-break: break-all;
color: #999;
}
.caption a:hover{
text-decoration: underline;
}


.marker{
}



/*  float-wrap */

.mainWrap .float-wrap .flame{
position: relative;
}
.mainWrap .float-wrap .caption{
margin-bottom: 5px;
}
.mainWrap .float-wrap{margin: 0 1.5rem;padding: 0 0%;}
.mainWrap .float-wrap .catch{
margin: 0em 0 0.4em;
line-height: 1.7;
}
.mainWrap .float-wrap p{
margin: 1rem 0;
padding: 0;
}
.float-wrap ul{
display: block;
margin: 6px 0;
}
.mainWrap .float-wrap .fl,
.mainWrap .float-wrap .fr,
.mainWrap .float-wrap .ct{
float: none;
padding: 0 0 0.5em;
width: 100%;
width: auto;
text-align: left;
}

.mainWrap .float-wrap .fl.t_small{
width: 40%;
float: left;
padding: 0 5% 0 0;
}
.mainWrap .float-wrap .fr.t_small{
width: 40%;
float: right;
padding: 0 0 0 5%;
}
.mainWrap .float-wrap img {
}






/* ================== */
/*  サイトマップ*/
/* ================== */
.smap h2{
}
.smap ul{
}




/* ================== */
/*  追加パーツ*/
/* ================== */


/*--------------------------------------
　mokuji_SP
---------------------------------------*/

.mokuji{
transition: .3s;
/*デフォルトで非表示にする*/
opacity: 1;
/*visibility: hidden;*/
}
/*このクラスが付与されると表示する*/
.mokuji.active{
opacity: 1;
visibility: visible;
}
/*このクラスが付与されると停止する*/
.mokuji.absolute{
}



.mokuji{
position: relative;
width: auto;
margin: 20px 5% 60px;
}

.mokuji .inner{position: relative;padding: 10px 5% 50px;background: #fcfcfc;}

.mokuji .inner::before{
content: "";
position: absolute;
top: 26px;
left: 6.5rem;
width: 6rem;
height: 1.3rem;
background: url("./img/eng_idx.svg") 0 0 no-repeat;
background-size: auto 1.3rem;
}


.mokuji .sttl{
margin: 0 0 10px;
padding: 8px 0 14px;
border-bottom: 1px solid rgba(40, 153, 122,.5);
font-size:1.8rem;
}


.mokuji #toc{
position: relative;
padding: 0 0 2rem;
}

.mokuji #toc ul{
margin:0;
padding:5px 0 5px;
}
.mokuji #toc ul li{
position: relative;
margin: 2px 0;
padding: 2px 0 2px 4rem;
text-align: left;
line-height: 1.4;
}
.mokuji #toc ul li.chapter-h-two{
counter-increment: count;
}
.mokuji #toc ul li.chapter-h-two::before {
content: counter(count, decimal-leading-zero)".";/*2桁対応*/
position: absolute;
top: 10px;
left: 0;
width: 4rem;
transform: translate(0,-50%);
background: none;
font-size:1.6rem;
font-weight: 700;
color: #e85510;
}

.mokuji li a{
display: inline-block;
width: auto;
padding: 4px 0 6px;
background: none;
font-weight: 700;
font-size:1.6rem;
text-decoration: none;
}
.mokuji #toc ul ul{
margin: 0;
padding: 0 0 2px;
}
.mokuji #toc ul li.chapter-h-three {
padding: 0 0 0 6rem;
}
.mokuji #toc ul li.chapter-h-three::after {
content: "";
position: absolute;
top: 0;
left: 4.5rem;
width: 8px;
height: 100%;
background: url("./img/l_deco.png") 0 6px no-repeat;
background-size: 8px auto;
}
.mokuji #toc ul li.chapter-h-three::before {
width: 0;
height: 0;
background: none;
border: none;
}

.mokuji li br{
display: none;
}


/* accordion_grd */
.mokuji .text {
height: 120px;
overflow: hidden;
}
.mokuji .show_more2 {position: absolute;bottom: 0;left: 0px;width: 100%;height: 68px;padding-top: 6.5rem;text-align: center;line-height: 6.5rem;background: linear-gradient(
180deg,
rgb(252, 252, 252, 0) 0%,
rgb(252, 252, 252, 1) 28%
);cursor: pointer;transition: bottom 0.2s;}
.mokuji .active{
background: none;
/*bottom: -20px;*/
}
.mokuji .show_more2 span{position: relative;top: -30px;display: inline-block;width: 15rem;padding: 12px 10% 14px;background: url(./img/plus1.svg) 90% calc(50% - 1px) no-repeat #fff;background-size: 1.4rem auto;border-radius:9999px;border: 1px solid #28997a;text-align: center;line-height: 1.5;color: #28997a;font-weight: 700;font-size:1.5rem;}
.mokuji .active span{
background: url(./img/minus1.svg) 90% 50% no-repeat #fff;
background-size: 1.4rem auto;
}








/* relations_SP */
.relations{
position: relative;
width: auto;
margin: 10px 5% 70px;
}

.relations .inner{
position: relative;
padding: 10px 5% 10px;
background: #fcfcfc;
}

.relations .inner::before{
content: "";
position: absolute;
top: 30px;
left: 10rem;
width: 6rem;
height: 1.3rem;
background: url("./img/eng_links.svg") 0 0 no-repeat;
background-size: auto 1.3rem;
}


.relations .relations-title{
margin: 0 0 10px;
padding: 8px 0 14px;
border-bottom: 1px solid rgba(40, 153, 122,.5);
font-size:1.8rem;
}


.relations .relations-wrapper{
position: relative;
padding: 0 0 10px;
}

.relations ul{
margin:0;
}
.relations ul li{
position: relative;
margin: 2px 0;
padding: 0 0 0 0!important;
text-align: left;
line-height: 1.4;
}
.relations ul li::before{
width: 0!important;
height: 0!important;
background: none!important;
border: none!important;
}

.relations li a{
display: inline-block;
width: auto;
padding: 2px 0 3px 3rem;
background: none;
font-size:1.6rem;
text-decoration: none;
}
.relations li a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
left: 0.1rem;
width: 22px;
height: 100%;
background: url("./img/arrow_sq.svg") 0 11px no-repeat;
background-size: 22px auto;
transition: all .2s ease-in-out;
}
.relations li p{
margin: .8rem 0;
line-height: 1.4;
}



/* btns_SP */
.btns{
display: block;
padding: 0 ;
}
.btns div{
display: flex;
width: 85%;
margin: 2.5rem auto;
}
.btns div a{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}
.btns .btn-tel{
display: none;
}




/* engbtn_SP */
.engBtn{
margin: 5rem 0;
position: relative;
}
.engBtn .btnTtl{
position: relative;
width: 85%;
margin: 0 auto;
color: #e85510;
text-align: center;
font-size:1.6rem;
}
.engBtn .btnTtl::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: calc((100% - 9rem) / 2);
height: 100%;
background: url(./img/dash_red.png) 0 50% repeat-x;
background-size: auto 1px;
}
.engBtn .btnTtl::after{
content: "";
position: absolute;
top: 0;
right: 0;
width: calc((100% - 9rem) / 2);
height: 100%;
background: url(./img/dash_red.png) 0 50% repeat-x;
background-size: auto 1px;
}
.engBtn .btn-internal,
.engBtn .btn-web,
.engBtn .btn-tel{
margin: 10px auto 30px;
}




/* engTtl_SP */
.engTtl{
position: relative;
margin: 5rem 5%;
}
.engTtl .catch{
margin: 0;
background: #f8f9fa;
padding: 16px 1rem 18px 3.5rem;
border: none;
font-size:1.9rem;
color: #e85510;
}
.engTtl .catch::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 2rem;
height: 100%;
background: url(./img/eng_ck.svg) 50% 50% no-repeat #e85510;
background-size: 1.1rem auto;
}








/* spv_SP */
.spv{
position: relative;
margin: 6rem 0;
padding: 5rem 5% 0;
}
.spv::before{
content: "";
position: absolute;
top: 0;
left: 2%;
width: 100%;
height: 3rem;
background: url(./img/eng_sps.svg) 0 0 no-repeat;
background-size: auto 3rem;
opacity: .5;
}
.spv .inner{
}
.spv .headArea{
position: relative;
width: 100%;
margin: 0 0 30px;
padding: 1.7rem 0 1.4rem;
border-bottom: 1px solid #28997a;
}
.spv .headArea .pos{
position: absolute;
top: -15px;
left: 0;
width: 100%;
font-size:1.5rem;
font-weight: 700;
color: #28997a;
}
.spv .headArea .pos::before{
content: "";
position: absolute;
top: 16px;
right: 0;
width: calc(100% - 10rem);
height: 1px;
background: #28997a;
}

.spv .headArea .flame{
width: 85%;
margin: 0 auto;
text-align: center;
}
.spv .headArea .flame img{
display: inline-block;
}

.spv .mainArea{
}
.spv .imgArea{
position: relative;
top: 0;
right: auto;
left: 0;
width: 90%;
margin: 0 auto 4rem;
}
.spv .imgArea .flame img{
height: 16rem;
object-fit: cover;
}

.spv .txtArea{
width: 100%;
margin: 0 0 2rem;
}
.spv .txtArea .catch{
margin: 0 0 20px;
text-align: center;
color: #e85510;
}
.spv .btns div{
width: 90%;
}




/* intv_SP */
.intv{
position: relative;
margin: 10rem 5% 6rem;
}
.intv::before{
content: "";
position: absolute;
top: -3.5rem;
left: 0;
width: 17rem;
height: 3.5rem;
background: url("./img/intv_dk.svg") 0 0 no-repeat;
background-size: 17rem 3.5rem;
}
.intv::after{
content: "";
position: absolute;
top: -2.8rem;
left: 0;
width: 17rem;
height: 3.5rem;
background: url("./img/eng_intv.svg") 50% 0 no-repeat;
background-size: auto 1.8rem;
}

.intv .inner{
position: relative;
padding: 2rem 5% 2.5rem;
background: #d2f8ee;
}
.intv .inner::before{
content: "";
position: absolute;
top: -1px;
left: 0;
width: 17rem;
height: 1px;
background: url(./img/dash.png) 0 100% repeat-x;
background-size: auto 1px;
}


.intv .tags{
margin: 0 0 2rem;
}
.intv .tag{display: inline-block;margin: 0 .8rem 0 0;padding: 5px 1rem 7px;border-radius:9999px;border: 1px solid #777;line-height: 1;text-align: center;font-size: 1.3rem;font-weight: 700;color: #777;}

.intv .catch{margin: 0 0 3rem;line-height: 2.0;font-size: 1.80rem;color: #fff;}
.intv .catch .txt_bold{
color: #ffee71;
}
.intv .catch .obi{
display: inline;
margin: 0 0 1rem;
padding: 1px 1rem 2px;
background: #122a72;
}

.intv .flame{
position: relative;
top: 0;
right: auto;
width: 85%; 
height: 26rem;
margin: 0 auto 3rem;
}
.intv .flame .sttl{position: absolute;bottom: 0rem;right: 0rem;padding: 3px 1rem;background: #122a72;line-height: 1;font-size: 1.4rem;color: #fff;}
.intv .flame img{
height: 26rem;
object-fit: cover;
}

.intv .txtArea{
}




/* talk_SP */
.talks{
position: relative;
margin: 6rem 5%;
}
.talk{
position: relative;
display: block;
width: 100%;
margin: 0 0 3rem;
}
.talkB{
}

.talk .imgArea{
position: relative;
z-index: 1;
width: 8rem;
margin: 0 auto -3rem;
}
.talk .imgArea .flame{
}
.talk .imgArea img{
}
.talkB .imgArea{
margin: 0 auto -3rem;
}

.talk .cap{
position: relative;
padding: 0 0 0;
line-height: 1.5;
text-align: center;
font-weight: 700;
font-size:1.5rem;
}

.talk .txtArea{
flex: 1; 
position: relative;
}
.talk .txtArea .inner{
position: relative;
padding: 35px 5% 22px;
background: #fcfcfc;
}
.talk .txtArea .caption{
text-align: left;
}
.talk .txtArea .inner::before{
width: 0;
height: 0;
background: none;
border: none;
}
.talkB .txtArea .inner::before{
}



.talk .tags{
margin: 0 0 2rem;
}
.talk .tag{
display: inline-block;
margin: 0 .8rem 0 0;
padding: 5px 1rem 7px;
background: #fff;
border-radius:9999px;
border: 1px solid #777;
line-height: 1;
text-align: center;
font-size:1.4rem;
font-weight: 700;
color: #777;
}




/* qa_SP */
.qaWrap{padding: 0rem 5%;}
.qa{
padding: 1.5rem 0;
}
.qa .sttl{margin: 0 0 1.5rem;padding: 0 0 0 3rem;background: none;border: none;font-size:1.7rem;color: #28997a;}
.qa .sttl::before{content: "";position: absolute;top: 1.6rem;left: 0;width: 2.5rem;height: 1px;background: #28997a;}

.qa .txtArea{
padding: 0 0 0;
}
.qa .catch{
margin: 0 0 1.5rem;
font-size:1.7rem;
}



/* his_SP */
.his{
position: relative;
background: #f9f9f9;
padding: 3rem 5% 1rem;
}

.his .liBox{
padding: 0 0 1.5rem;
}


.his .sttl{
width: 7rem;
float: none;
margin: 0 0 8px;
padding: 4px 3% 6px;
background: #33b491;
border-radius:9999px;
line-height: 1;
font-size:1.5rem;
text-align: center;
color: #fff;
}
.his .sttl::before{
width: 0;
height: 0;
background: none;
border: none;
}


.his .fuki{
position: relative;
width: auto;
float: none;
}
.his .fuki .catch{
font-size:1.7rem;
}
.his .fuki .txtArea{
margin: 0 0 10px;
padding: 8px 5% 10px;
background: #fff;
}

.his .imgType{
}

.his .flame{
width: auto;
margin: 0 auto;
padding: 10px 0 5px;
} 
.his .flame img{
width: 100%;
object-fit: cover;
}



/* sum_SP */
.sum{
position: relative;
margin: 7.5rem 5%;
}

.sum .inner{
padding: 5rem 5% 2rem;
background: #d2f8ee;
}

.sum .inner::before{
content: "";
position: absolute;
top: 1px;
left: 5%;
width: 20rem;
height: 3rem;
background: url("./img/eng_sum.svg") 0 0 no-repeat;
background-size: auto 3rem;
}

.sum .catch{
margin: 0 0 20px;
padding: 0 0 0 1.7rem;
}
.sum .catch::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 3px;
height: 100%;
background: #28997a;
}








/* entry_SP */
.entry{
position: relative;
margin: 7.5rem 0;
padding: 1.2rem 0 0;
}
.entry::before{
content: "";
position: absolute;
z-index: 1;
top: 0;
left: 0;
width: 100%;
height: 9rem;
background: url("./img/tri3.svg") 50% 0 no-repeat;
background-size: 4rem auto;
}

/* eng_slider1_PC */
.eng_slider1{
margin: 0 0 7rem;
}
.eng_slider1 .slick-slide{
height: 5rem;
margin-right: 22px!important;
margin-left: 22px!important;
}
.eng_slider1 .slick-slide img{
width: auto;
height: 5rem;
}


.entryBox{
position: relative;
background: url("./img/entry_deco1.png") 5% 2.5rem no-repeat #33b491;
background-size: 9rem auto;
}
.entryBox::before{
content: "";
position: absolute;
top: -3.5rem;
left: 0;
width: 100%;
height: 5%;
background: url(./img/dk_gr.svg) 0 0 no-repeat;
background-size: 100% 3.5rem;
}
.entryBox::after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 1px;
background: url(./img/dash_wt.png) 0 0 repeat-x;
background-size: auto 1px;
}


.entryBox .inner{
background: url(./img/entry_deco2.png) 95% 2.5rem no-repeat;
background-size: 12rem auto;
padding: 6rem 5% 2.5rem;
}

.entryBox .sttl{
margin: 0 0 2rem;
color: #fff;
text-align: center;
font-size:2.0rem;
}
.entryBox .sttl .fontL{
display: block;
margin: 15px 0 0;
font-size:2.8rem;
letter-spacing: .15em;
line-height: 1;
}
.entryBox .sttl .fontL span:not([class]){
display: inline-block;
background: #28997a;
padding: 3px 0 6px .7rem;
border: 1px solid #fff;
border-left: none;
}
.entryBox .sttl .fontL span:first-child{
border-left: 1px solid #fff;
}
.entryBox .sttl .spline2 span:first-child{
border-left: 1px solid #fff;
}

.entryBox .sttl .fontL .spline2{
display: block;
background: none;
padding: 0;
border: none;
margin: .6rem 0 0;
}



.entryBox .intro{
margin: 0 0 2.5rem;
}
.entryBox .intro p{
color: #fff;
}
.entryBox .intro p .txt_bold{
color: #ffee71;
}


.entryBox .formArea{height: auto;background: #cccccc;}

.entryBox .btnArea{
display: block;
}
.entryBox .btnArea .engBtn{
margin: 2rem 0;
}
.entryBox .btnArea .engBtn .btnTtl {
width: 90%;
color: #fff;
}
.entryBox .btnArea .engBtn .btnTtl::before,
.entryBox .btnArea .engBtn .btnTtl::after{
width: calc((100% - 11rem) / 2);
background-image: url("./img/dash_wt.png");
}
.entryBox .btnArea .engBtn .btn-internal,
.entryBox .btnArea .engBtn .btn-web,
.entryBox .btnArea .engBtn .btn-tel{
width: 90%;
margin: 5px auto;
}


.table-wrapper {
  overflow-x: auto;
  margin: 2rem 2rem 0 2rem;
  position: relative;
}
.table-wrapper::before {
  content: "▼横スクロールできます";
  position: absolute;
  /* left: 50%;
  transform: translateX(-50%); */
  left: 0;
  top: -5px;
}

.table-wrapper table {
  width: max-content;
}

.table-wrapper table th,
.table-wrapper table td {
  display: revert;
  white-space: normal;
  min-width: 200px;
  max-width: 334px;
  width: max-content;
}




}
/* End_SP */

