@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: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  src: url("fonts/ZKG-500.woff2") format("woff2"), url("fonts/ZKG-500.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/ZKG-700.woff2") format("woff2"), url("fonts/ZKG-700.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Zen Kaku Gothic New vt";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/ZKG-700-vertical.woff2") format("woff2"), url("fonts/ZKG-700-vertical.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: normal;
  src: url("fonts/Poppins-SemiBold.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
---------------------------------------*/
*,
*::before,
*::after{
box-sizing: border-box;
}

img{
-webkit-backface-visibility: hidden;
}


body {
position: relative;
font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 500;
font-size:1.5rem;
line-height:1.8;
color: #434343;
text-align: justify;
}

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

a {
color: #000;
text-decoration: none;
}

a:hover {
text-decoration: none;
}

p{
position: relative;
text-align: justify;
line-height:2.0;
}

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: "Zen Kaku Gothic New", "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: "Zen Kaku Gothic New", "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:2.4rem;
font-family: "Zen Kaku Gothic New", "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: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
line-height: 1.6;
color: #0e4eaa;
}


.fontS{
font-size: 75%;
}
.fontL{
font-size: 133%;
}

.fontBold{
font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
}


.fontEng{
font-family: "Poppins", sans-serif;
font-weight: 600;
}
.fontBl{
}
.fontGr{
}


html {
font-size: 62.5%;
}



.ulBox,
.liBox{
position: relative;
}




/*------------
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.6;
}
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: 110rem;
margin: 0 auto;
}





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


/*--------------------------------------
　header_PC
---------------------------------------*/
#header{
position: relative;
z-index: 14;
margin: 0 0 -22rem;
background: #FFF;
background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(214, 241, 244, 1) 37%, rgba(214, 241, 244, 1) 80%, rgba(255, 255, 255, 1) 100%);
}
#header::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url("./img/head_bg.png") 50% -12rem no-repeat;
opacity: .7;
}




#header .topArea2{
position: absolute;
z-index: 4;
top: 3.5rem;
left: 22rem;
font-weight: 500;
font-size:1.2rem;
line-height: 1.8;
}
#header .siteName{
display: inline-block;
font-weight: 500;
    background: #fff;
	padding:0 .5rem;
}
#header .siteName a{
}



#header .logo{
position: absolute;
z-index: 5;
top: 2rem;
left: 1.5rem;
width: 21rem;
}
#header .logo a{
display: block;
}
#header .logo img{
width: 100%;
}






/*--------------------------------------
　h1Area_PC
---------------------------------------*/
.h1Area{
position: relative;
z-index: 2;
margin: 0 0 1.5rem;
padding: 15rem 0 28rem;
}


.h1Area h1{
position: relative;
z-index: 1;
width: 100rem;
margin: 0 auto 2rem;
padding: 2rem 5rem 3.5rem;
background: #0e4eaa;
box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
border: 2px solid #fff;
border-radius: 1rem;
text-align: center;
font-size:4.8rem;
color: #fff;
}

.h1Area .headNote{
}








/*--------------------------------------
　Main Contents_PC
---------------------------------------*/
#contents {
position: relative;
z-index: 14;
width: 100%;
overflow-x: hidden;
margin: 0 0 0;
overflow: hidden;
padding: 0 0 10rem;
}
#contents::before{
}
.mainWrap {
position: relative;
z-index: 1;
width: 110rem;
margin:  0 auto;
padding: 0 0 5rem;
background: #fff;
border-radius: 2rem 2rem 0 0;
min-height: 50rem;
}

.mainWrap > .areaInner{
padding: 0 5rem 2rem;
}

.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;
}
#pankuzu{
width: 100%;
margin: 0 auto .5rem;
padding: 2rem 0 0;
font-size:1.2rem;
color: #666;
}
#pankuzu a{
display: inline;
text-decoration: underline;
color: #666;
}

#pankuzu br{
display: none;
}



/*--------------------------------------
　page-top_PC
---------------------------------------*/
#page-top {
position: fixed;
z-index: 101;
bottom: 2rem;
right: 1rem;
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: 1rem;
right: 1rem;
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{
position: relative;
width: 7.2rem;
height: 7.2rem;
background: #0e4eaa;
border-radius: 50%;
border: 2px solid #fff;
transition: .3s all;
}


#gNav_pc button span{
position: absolute;
left: 30%;
width: 40%;
height: 2px;
background-color: #fff;
transition: .3s all;
}
#gNav_pc button span:nth-child(1){
top:33%;
}
#gNav_pc button span:nth-child(2){
top:calc(33% + 1.1rem);
}
#gNav_pc button span:nth-child(3){
top:calc(33% + 2.2rem);
}

#gNav_pc button.active{
border: none;
}
#gNav_pc button.active span:nth-child(1){
  transform: translateY(1.1rem) rotate(-45deg);
}
#gNav_pc button.active span:nth-child(2){
  opacity: 0;
}
#gNav_pc button.active span:nth-child(3){
  transform: translateY(-1.1rem) rotate(45deg);
}




/* 展開内容 */

#gNav_pc .cbp-spmenu {
position: fixed;
margin: 0 0 0;
padding: 12.2rem 0 0;

/*background: url(./img/allstars.png) 90% 97% no-repeat #0e4eaa;
background-size: 50rem auto;*/
background: #0e4eaa;

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


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

display: flex;
flex-wrap: wrap;
justify-content: space-between;

align-content:flex-start;
min-height: 75vh;

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

#gNav_pc .cbp-spmenu #mainMenu2::before{
content: "";
position: absolute;
bottom: 7rem;
right: -3rem;
width: 50rem;
height: 10rem;
background: url(./img/allstars.png) 100% 100% no-repeat;
background-size: 50rem auto;
}



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



#gNav_pc .cbp-spmenu a {
display: block;
padding: 14px 1.8rem 14px 0;
text-decoration: none;
line-height: 1.3;
cursor: pointer;
color: #fff;
font-size:1.5rem;
}
#gNav_pc .cbp-spmenu .sttl{
margin: 0;
border-bottom: 1px solid rgba(255, 255, 255, .5);
}
#gNav_pc .cbp-spmenu .sttl a{
position: relative;
background: url("./img/arrow_ccl_wt.svg") calc(100% - 1.2rem) 50% no-repeat;
background-size: 2rem auto;
font-size:1.6rem;
}

#gNav_pc .cbp-spmenu .sttl.tglMenu{
position: relative;
}

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




#gNav_pc .cbp-spmenu .home a {
background: url("./img/arrow_ccl_wt.svg") calc(100% - 1.2rem) 50% no-repeat;
background-size: 2.2rem auto;
}

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

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


#gNav_pc .cbp-spmenu li a {
background: url("./img/arrow_ccl_wt.svg") calc(100% - 1.2rem) 50% no-repeat;
background-size: 2rem auto;
padding: 1.4rem 5rem 1.4rem 1.5rem;
}

#gNav_pc .cbp-spmenu a:hover {
opacity: 0.6;
}
#gNav_pc .cbp-spmenu a:active {
}

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

#gNav_pc .cbp-spmenu-vertical {
width: 100%;
height: 100%;
top: 0;
z-index: -1;
}
#gNav_pc .cbp-spmenu-vertical a {
/*border-bottom: 1px solid #848484;*/
padding: 14px 4rem 14px 0;
}


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

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

width: 60vw;
}


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

#gNav_pc .accChild {
display: none;
}

#gNav_pc .cbp-spmenu #mainMenu2 a br{
display: none;
}


/* body_gray */
body.body-fix-color{
}
body.body-fix-color::before{
content: "";
position: absolute;
z-index: 15;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #434343;
opacity: .7;
}


/* logo */
#gNav_pc .cbp-spmenu .logo{
position: relative;
top: -3rem;
width: 25rem;
margin: 0 0 0 10%;
}
#gNav_pc .cbp-spmenu .logo a{
display: block;
}
#gNav_pc .cbp-spmenu .logo img{
width: 100%;
}







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

#fixNav{
position: fixed;
z-index: 10000;
top: 1.2rem;
right: 10rem;
transition: .3s;

/*width: 22.6rem;*/

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



#fixNav{
width: 100%;
display: flex;
justify-content: flex-end;
align-items: center;
}
#fixNav .btn-internal{
width: auto;
margin: 0 0 0 0;
}
#fixNav .btn-internal a{
display: inline-block;
width: auto;
min-height: 0;
padding: 1.0rem 5.0rem 1.2rem 7.5rem;
}
#fixNav .btn-internal a::before{
    right: 1rem;
    width: 2.8rem;
    background: url(./img/arrow_wt.svg) 0 50% no-repeat;
    background-size: 2.8rem auto;
}

#fixNav .btn-internal a .wtBox{
display: inline-block;
margin: 0 .5rem 0 0;
padding: .3rem .3rem;
background: #fff;
border-radius: .2rem;
line-height: 1;
color: #f77036;
transition: all .2s ease-in-out;
}

#fixNav .btn-internal a::after{
    content: "";
    position: absolute;
    bottom: 0;
    left: -0.7rem;
    width: 7rem;
    height: calc(100% + .5rem);
    background: url(./img/bumon01_ill.png) 0 calc(100% + 2rem) no-repeat;
    background-size: 8rem auto;
    transition: all .1s ease-in;
}


#fixNav .btn-internal a:hover{
transform: translateY(0);
}

#fixNav .btn-internal a:hover{
background: #fff;
color: #f77036;
}
#fixNav .btn-internal a:hover .wtBox{
background: #f77036;
color: #fff;
}
#fixNav .btn-internal a:hover::before{
background-image: url("img/arrow_red.svg");
}

#fixNav .btn-internal a:hover::after{
background-position: 0 calc(0% - 2rem);
transform: scale(1.2);
}


/* linkList */
#fixNav .linkList{
display: flex;
align-items: center;
margin: 0 1.8rem 0 0;
padding: 2rem 2.5rem;
background: #fff;
border-radius: 9999px;
box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
}
#fixNav .linkList a{
display: inline-block;
margin: 0 1rem;
background: url("./img/arrow_bl_vt.svg") 100% 50% no-repeat;
background-size: 1rem auto;
padding: .2rem 1.6rem .2rem 0;
font-size:1.6rem;
font-weight: 700;
color: #0e4eaa;
}


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

footer{
position: relative;
z-index: 14;
width: 100%;
padding: 10rem 0 0;
border-radius: 2rem 2rem 0 0;
background: #0e4eaa;
}

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



footer .footInner .areaL{
width: 37rem;
float: left;
}

footer .noticeArea{
color: #fff;
}
footer .noticeArea p{
font-size:1.2rem;
}
footer .noticeArea p:nth-child(1){
}
footer .noticeArea a{
text-decoration: underline;
color: #fff;
}
footer .noticeArea .botPrg{
padding: .8rem 0 0;
}




footer .footInner .areaR{
width: 68rem;
float: right;
}

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


footer .footBox a{
color: #fff;
}

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

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

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

.footBox li ul{
}

.footBox li a{
font-size:1.5rem;
}
.footBox li:after{
content: "　/　";
color: #fff;
}
.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: "：";
color: #fff;
}
.footBox ul.subList li:after{
content: " / ";
color: #fff;
}
.footBox ul.subList li:last-child::after{
content: "";
}
.footBox ul.subList a{
font-weight: 500;
}

.footBox a br{
display: none;
}


footer .botArea{
position: relative;
min-width: 110rem;
padding: 1.6rem 0 1.2rem;
box-sizing: border-box;
}
footer .botArea .botInner{
}
footer .botArea .copy{
padding: .8rem 2rem 1.2rem;
font-size:1.3rem;
text-align: center;
color: #fff;
}
footer .botArea .copy a{
text-decoration: none;
color: #fff;
}






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

.mainWrap p + p, .index p + p{
margin-top: 3rem;
}

.mainWrap h2{
position: relative;
margin: 7rem 0 2rem;
padding: 2.2rem 2rem 2.5rem 4.5rem;
background: #0e4eaa;
background-size: 11.0rem auto;
border-radius: 1.6rem;
font-size:3.4rem;
color: #fff;
}
.mainWrap h2::before{
content: "";
position: absolute;
top: 2rem;
left: 2rem;
width: .4rem;
border-radius: 9999px 9999px 0 0;
height: calc(50% - 2rem);
background: #fff;
}
.mainWrap h2::after{
content: "";
position: absolute;
bottom: 2rem;
left: 2rem;
width: .4rem;
border-radius: 0 0 9999px 9999px;
height: calc(50% - 2rem);
background: #ffdd4a;
}


.mainWrap h2 a{
position: relative;
display: block;
padding: 0 6rem 0 0;
background: url("./img/arrow_ccl.svg") 100% calc(50% - 0px) no-repeat;
background-size: 3.0rem auto;
color: #fff;
}


.marker{
position: relative;
display: inline;
background: linear-gradient(transparent 70%, rgb(255 232 115 / 65%) 0%) no-repeat bottom 0 left; 
/*border-bottom: 2px solid #ff9500;*/
padding: 0 .5% 0;
margin: 0 .5%;
font-weight: 700;
line-height: 1;
}
.txt_bold{
font-weight: 700;
color: #ff6e6e;
}





.mainWrap h3{
position: relative;
margin: 5rem 0 2rem;
padding: 1.4rem 1rem 1.7rem 4.5rem;
border-bottom: 3px solid #d6f1f4;
font-size:2.8rem;
color: #0e4eaa;
}
.mainWrap h3::before{
content: "";
    position: absolute;
top: 50%;
	transform: translateY(-50%);
    left: -1rem;
    width: 4.6rem;
    height: 4.6rem;
    background: url(./img/deco1.svg) 0 0 / 4.6rem auto no-repeat;
}


.mainWrap h3 a{
position: relative;
z-index: 1;
display: block;
padding: 0 6rem 0 0;
background: url("./img/arrow_ccl.svg") 100% calc(50% - 0px) no-repeat;
background-size: 3.0rem auto;
color: #0e4eaa;
}



.mainWrap h4{
position: relative;
margin: 4rem 0 2rem;
padding: 1.5rem 2.5rem 1.5rem 2.5rem;
font-size:2.2rem;
background: url(./img/h2_bg.jpg) 0 0 repeat;
    background-size: 11.0rem auto;
    border-radius: 1.6rem;
    color: #0e4eaa;
}


.mainWrap h4 a{
position: relative;
padding: 0 3.2rem 0 0;
background: url("./img/arrow_ccl.svg") 100% calc(50% + .2rem) no-repeat;
background-size: 2.5rem auto;
	 color: #0e4eaa;
}

.mainWrap h5, .mainWrap h6{
position: relative;
margin: 4rem 0 3rem;
padding: 1rem 1rem 1.5rem .5rem;
font-size:2.2rem;
}
.mainWrap h5 a, .mainWrap h6 a{
position: relative;
display: inline-block;
padding: 0 3.2rem 0 0;
background: url("./img/arrow_ccl.svg") 100% calc(50% + .2rem) no-repeat;
background-size: 2.5rem auto;
}




.mainWrap h4 a::before, .mainWrap h5 a::before, .mainWrap h6 a::before{
}
.mainWrap h4 a::after, .mainWrap h5 a::after, .mainWrap h6 a::after{
}
.mainWrap h4 a:hover, .mainWrap h5 a:hover, .mainWrap h6 a:hover{
}
.mainWrap h4 a:hover::before, .mainWrap h5 a:hover::before, .mainWrap h6 a:hover::before{
}
.mainWrap h4 a:hover::after, .mainWrap h5 a:hover::after, .mainWrap h6 a:hover::after{
}




/* ulol */
.mainWrap ul,
.index ul,
#mainVis ul{
margin: 20px 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: 1.2rem;
left: .2rem;
width: 1.0rem;
height: 1.0rem;
background: #64b247;
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;
display: flex;
align-items: center;
justify-content: center;
top: .9rem;
left: 0;
width: 1.5rem;
height: 1.6rem;
background: #0e4eaa;
text-align: center;
line-height: 1.0;
font-family: Arial, Helvetica, "sans-serif";
font-weight: 700;
font-size:1.3rem;
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: 3.5rem auto;
text-align: center;
}
.btn-internal a,
.btn-web a,
.btn-tel a{
position: relative;
top:0;
left: 0;
width: 38rem;
min-height: 9.0rem;
display: flex;
align-items: center;
justify-content: center;
padding: 1.7rem 6.5rem 1.9rem;
border: 2px solid #fff;
border-radius: 1.6rem;
box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
text-align: center;
line-height: 1.7;
font-size:1.5rem;
font-weight: 700;
color: #fff;
transition: all .2s ease-in-out;
}
.btn-internal a::before,
.btn-web a::before,
.btn-tel a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 1.5rem;
width: 3.0rem;
height: 100%;
background: url("./img/arrow_wt.svg") 0 50% no-repeat;
background-size: 3.0rem auto;
transition: all .2s ease-in-out;
}


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


.btn-web a{
background: #64b247;
}
.btn-web a::before{
right: 2.0rem;
width: 2.8rem;
background: url("./img/arrow_out.svg") 0 50% no-repeat;
background-size: 2.8rem auto;
}


.btn-internal a:hover,
.btn-web a:hover{
transform: translateY(0);
opacity: 1;
}
.btn-internal a:hover{
background: #fff;
color: #f77036;
}
.btn-internal a:hover::before{
background-image: url("img/arrow_red.svg");
}
.btn-web a:hover{
background: #fff;
color: #64b247;
}
.btn-web a:hover::before{
background-image: url("img/arrow_out_gr.svg");
}





.btn-tel{
display: none;
}
.btn-tel a{
background: #31bede;
}
.btn-tel a::before{
content: "";
position: absolute;
top: 0;
right: 2.6rem;
width: 2.0rem;
height: 100%;
background: url(./img/ico_tel.svg) 0 calc(50% - 0rem) no-repeat;
background-size: 2.0rem auto;
}
.btn-tel a:hover{
}






.btn-link{
margin: 2rem 0;
text-align: right;
}
.btn-link a{
position: relative;
display: inline-block;
padding: 4px 3.0rem 5px 0;
background: url("./img/arrow_ccl.svg") 100% calc(50% + .1rem) no-repeat;
background-size: 2.6rem auto;
line-height: 1.5;
text-align: right;
font-weight: 700;
}
.btn-link a::before{
}






/* ================== */
/*  テーブル　　　　　*/
/* ================== */
table {
width: 98%;
margin:5rem auto 7rem;
}
table th {
width: 22%;
padding: 1.6rem 1.5rem;
background: #f5f4f2;
border: 1px solid #d2d1cf;
font-weight: 700;
line-height: 1.6;
text-align:center;
word-break: break-all;
}
table td {
background: #fff;
border: 1px solid #d2d1cf;
padding: 1.6rem 1.5rem;
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;

overflow: auto;
white-space: nowrap;
}
/*
.caption{
-ms-overflow-style: none;
scrollbar-width: none;
}
*/
.caption::-webkit-scrollbar{
height: 3px;
}
.caption::-webkit-scrollbar-track{
border-radius: 3px;
background: #eee;
}
.caption::-webkit-scrollbar-thumb{
border-radius: 3px;
background: #bbb;
}

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






/* float-wrap */

.float-wrap{
margin: 50px 0;
padding: 0 20px;
}
.float-wrap .catch{
margin: 0 0 -1.5rem;
font-size:2.2rem;
color: #0e4eaa;
}


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


.float-wrap img{
width: auto;
}
.float-wrap p{
margin: 10px 0;
padding: 0;
}
.float-wrap ul{
display: inline-block;
margin: 10px 0;
}
.float-wrap .fl{
width: 43rem;
padding: 0 3rem 2rem 0;
text-align: left;
}
.float-wrap .fr{
width: 43rem;
padding: 0 0 2rem 3rem;
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: 3rem 15rem 10rem;
}
.mokuji .inner{
position: relative;
padding: 1rem 4rem 3rem;
background: #f5f4f2;
border-radius: 1.6rem;
}

.mokuji .inner::before{
content: "INDEX";
position: absolute;
top: -0.5rem;
right: 3.5rem;
font-size:4.0rem;
font-family: "Poppins", sans-serif;
font-weight: 600;
color: #fff;
}


.mokuji .sttl{
margin: 0 0 1rem;
padding: .8rem 0 1.8rem;
background: url(./img/dotline_gr.png) 0 100% repeat-x;
background-size: auto .2rem;
font-size:2.0rem;
}


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

.mokuji #toc ul{
margin:0;
padding:.5rem 0;
}
.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: 1.0rem;
left: .7rem;
transform: translate(0,-50%);
background: none;
font-weight: 700;
color: #0e4eaa;
}

.mokuji li a{
display: inline-block;
width: auto;
padding: .4rem 0 .6rem;
background: none;
font-weight: 900;
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(245, 244, 242, 0) 0%,
rgb(245, 244, 242, 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: -3rem;
display: inline-block;
width: 14rem;
min-height: 4rem;
padding: .6rem 3rem .8rem;
background: url(./img/plus.svg) 90% calc(50% - 0px) no-repeat #fff;
background-size: 1.4rem auto;
border-radius:9999px;
border: 1px solid #d2d1cf;
text-align: center;
line-height: 1.5;
font-weight: 700;
font-size:1.5rem;
}
.mokuji .active span{
background: url(./img/minus.svg) 90% 50% no-repeat #fff;
background-size: 1.4rem auto;
}






/* ================== */
/*  関連記事　　　　　*/
/* ================== */

#related-article p {
  margin: 0;
}

#related-article.related-article01-frame {
position: relative;
margin: 15rem 10rem 4rem;
padding: 1rem 4rem 2.5rem;
background: #f5f4f2;
border-radius: 1.6rem;
}
#related-article.related-article01-frame::before{
content: "ARTICLE";
position: absolute;
top: -0.5rem;
right: 3.5rem;
font-size:4.0rem;
font-family: "Poppins", sans-serif;
font-weight: 600;
color: #fff;
}



#related-article .related-article01-title {
position: relative;
margin: 0 0 1.5rem;
padding: .8rem 0 1.8rem;
background: url(./img/dotline_gr.png) 0 100% repeat-x;
background-size: auto .2rem;
line-height: 1.5;
font-size:2.0rem;
font-weight: 900;
}

#related-article .related-article01-title span {
}

#related-article .related-article01-list {
margin: 1.5rem 0 0 0;
padding: 0 0 0;
}

#related-article .related-article01-list p {
margin: 0;
}

#related-article .related-article01-list li {
margin: 2rem 0 0;
padding: 0 0 0 0;
font-size: 100%;
line-height: 1.7;
position: relative;
list-style: none;
}

#related-article .related-article01-list li+li {
margin-top: 10px;
}

#related-article .related-article01-list li::before {
width: 0!important;
height: 0!important;
background: none!important;
border: none!important;
}

#related-article .related-article01-list a {
position: relative;
display: inline-block;
padding: 0 0 0 3.2rem;
text-decoration: none;
}
#related-article .related-article01-list a::before{
content: "";
position: absolute;
top: calc(50% - 1.25rem);
left: 0;
width: 2.5rem;
height: 2.5rem;
background: url("./img/arrow_ccl.svg") 0 50% / 2.2rem auto no-repeat;
transition: all .3s ease-in-out;
transform-origin: 0 50%;
}


#related-article .related-article01-list a:hover {
opacity: 0.6;
}

#related-article .relations-box#related-article .relations-box--column {
display: flex;
gap: 10px;
}

#related-article .relations-box__pic {
flex: 0 0 150px;
}
.is-hidden {
display: none;
}

.related-article01-more {
display: flex;
justify-content: center;
align-items: flex-end;
background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, #fff 50%);
background-color: transparent;
width: 100%;
height: 25%;
position: absolute;
bottom: -40px;
left: 0;
padding: 2rem 0;
}


.related-article01-more.is-closed {
display: none;
}

.related-article01-btn {
position: relative;
top: -0.5rem;
display: inline-block;
width: 14rem;
min-height: 4rem;
padding: .6rem 3rem .8rem;
background: url(./img/plus.svg) 90% calc(50% - 0px) no-repeat #fff;
background-size: 1.4rem auto;
border-radius:9999px;
border: 1px solid #b2b2b2;
text-align: center;
line-height: 1.5;
font-weight: 900;
font-size:1.5rem;
}
.related-article01-btn:hover {
opacity: 0.6;
}






/* btns_PC */
.btns{
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items:center;
padding: 1rem 6% 2rem;
}
.btns > div{
/*display: flex;*/
width: 38%;
margin: 2rem 1.8rem 1rem;
}
.btns .btn-internal a,
.btns .btn-web a,
.btns .btn-tel a{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
}
.btns .btn-tel{
display: none;
}







/* sum_PC */
.sum{
position: relative;
margin: 12rem 0 12rem;
padding: 1.5rem 3rem 3rem;
background: url(./img/dotbg_bl.jpg) 0 0 repeat;
background-size: 11.0rem auto;
border-radius: 1.6rem;
}
.sum::before{
content: "";
position: absolute;
top: -2.5rem;
right: -4rem;
width: 16.6rem;
height: 20rem;
background: url(./img/sum_deco01.png) 0 0 no-repeat;
}
.sum::after{
content: "";
position: absolute;
bottom: -3.0rem;
left: -9rem;
width: 16.0rem;
height: 19.6rem;
background: url(./img/sum_deco02.png) 0 0 no-repeat;
}
.sum .eng{
margin: 0 0 2.5rem;
line-height: 1.2;
font-size:5.0rem;
font-weight: 700;
color: #fff;
}

.sum .txtArea{
position: relative;
padding: 0 2rem;
}

.sum .catch{
margin: 0 0 1.7rem;
padding: 0 0 2.4rem;
font-size:2.4rem;
line-height: 1.7;
}
.sum .catch::before{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 2.5rem;
height: .4rem;
background: #0e4eaa;
border-radius: 9999px 0 0 9999px;
}
.sum .catch::after{
content: "";
position: absolute;
bottom: 0;
left: 2.5rem;
width: 2.5rem;
height: .4rem;
background: #ffdd4a;
border-radius: 0 9999px 9999px 0;
}
.sum .btns{
padding: 0 6% 1rem;
}









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

.qa .txtArea{
padding: 1.5rem 0 0 5.5rem;
}
.qa .float-wrap{
margin: 0;
padding: 0;
}
.qa .catch{
display: inline;
margin: 0 0 20px;
font-size:2.0rem;
color: #f7824f;
}
.qa .catch::before{
content: "A.";
position: absolute;
top: -1rem;
left: -3.5rem;
font-size:3.0rem;
font-weight: 700;
}
.qa .float-wrap .fr{
padding: 0 0 2rem 7rem;
}
.qa .float-wrap .fl{
padding: 0 7rem 2rem 0;
}




/* bumon_PC */
.bumon{
position: relative;
width: 80rem;
margin: 10rem auto 7rem;
padding: 2.8rem 5rem 3.5rem;
background: #ff6e6e;
box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
border-radius: 2.0rem;
}
.bumon01{background: #64b247;}
.bumon02{background: #31bede;}
.bumon03{background: #ff6e6e;}
.bumon04{background: #f7824f;}
.bumon05{background: #ffdd4a;}
.bumon06{background: #ca5fcc;}
.bumon07{background: #ec4949;}


.bumon .flame{
position: absolute;
top: -20rem;
left: 7rem;
}
.bumon06.a .flame,.bumon05.a .flame{
top: -21.7rem;
}
.bumon .flame::before{
    content: "";
    position: absolute;
    z-index: 1;
    bottom: -4rem;
    left: -8rem;
    width: 11rem;
    height: 15rem;
    background: url(./img/bumon03_ill.png) 50% 100% no-repeat;
    background-size: 11rem auto;
}
.bumon01 .flame::before{background-image: url(./img/bumon01_ill.png);}
.bumon02 .flame::before{background-image: url(./img/bumon02_ill.png);}
.bumon03 .flame::before{background-image: url(./img/bumon03_ill.png);}
.bumon04 .flame::before{background-image: url(./img/bumon04_ill.png);}
.bumon05 .flame::before{background-image: url(./img/bumon05_ill.png);}
.bumon06 .flame::before{background-image: url(./img/bumon06_ill.png);}
.bumon07 .flame::before{background-image: url(./img/bumon07_ill.png);}



.bumon .sttl{
display: inline-block;
margin: 0 0 0 29rem;
padding: 0 4.5rem 1.0rem 0;
font-size:3.6rem;
color: #fff;
}
.bumon05 .sttl{
color: #434343;
}
.bumon .sttl::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 3.4rem;
height: 4.3rem;
background: url("./img/deco2.svg") 0 0 no-repeat;
background-size: 3.4rem auto;
}
.bumon05 .sttl::before{
background-image: url("./img/deco2_bk.svg") ;
}
.bumon .spec{
margin: 0 0 3.5rem 33.5rem;
font-size:1.6rem;
font-weight: 700;
color: #fff;
}
.bumon05 .spec{
color: #434343;
}
.bumon .spec .wtBox{
display: inline-block;
margin: 0 1rem 0 0;
padding: .4rem 1.0rem .5rem;
background: #fff;
line-height: 1;
font-size:1.4rem;
color: #ff6e6e;
}
.bumon01 .spec .wtBox{color: #64b247;}
.bumon02 .spec .wtBox{color: #31bede;}
.bumon03 .spec .wtBox{color: #ff6e6e;}
.bumon04 .spec .wtBox{color: #f7824f;}
.bumon05 .spec .wtBox{color: #434343;}
.bumon06 .spec .wtBox{color: #ca5fcc;}
.bumon07 .spec .wtBox{color: #ec4949;}

.bumon .txtArea{
position: relative;
padding:2rem 5rem 3rem;
background: #fff;
border-radius: 1.6rem;
}
.bumon .catch{
margin: 0 0 1.5rem;
padding: .8rem 0 1.8rem;
background: url(./img/dotline_gr.png) 0 100% repeat-x;
background-size: auto .2rem;
text-align: center;
color:#0e4eaa;
}






/* spv_PC */
.spv{
position: relative;
margin: -10rem 0 -2rem;
padding: 4rem 0 22rem;
background: #0E4EAA;
background: linear-gradient(180deg, rgba(14, 78, 170, 1) 30%, rgba(83, 139, 223, 1) 50%);
color: #fff;
}
.spv::before{
content: "";
position: absolute;
z-index: 1;
top: -0.5rem;
left: 0;
width: 100%;
height: 22vw;
background: url(./img/spv_head.svg) 0 0 no-repeat;
background-size: 100% 22vw;
}

.spv .info{
margin: 0 auto 6rem;
    text-align: center;
}
@media screen and (max-width: 1100px) {
.spv::before{
width: 100%;
height: 25rem;
background: url(./img/spv_head.svg) 0 0 no-repeat;
background-size: 100% 25rem;
}
}

.spv .fuki{
z-index: 2;
display: inline-block;
margin: 0 0 6rem 2rem;
padding: 3rem 3.5rem 4rem 8rem;
background: #64b247;
border-radius: 9999px;
line-height: 1.3;
font-size:3.6rem;
}
.spv .fuki::before{
content: "";
position: absolute;
bottom: -3.0rem;
right: 4.2rem;
width: 7rem;
height: 4rem;
background: url(./img/fuki_hip_gr.svg) 0 0 no-repeat;
background-size: 7rem auto;
}
.spv .fuki::after{
content: "";
position: absolute;
top: calc(50% - 2rem);
left: 3.5rem;
width: 3.3rem;
height: 4rem;
background: url("./img/deco3.svg") 0 0 no-repeat;
background-size: 3.3rem auto;
}





.spv .mainArea{
position: relative;
z-index: 2;
margin: 0 0 4rem;
}

.spv .imgArea{
width: 52rem;
float: left;
padding: 3.5rem 4rem 2rem;
background: #6498e5;
border-radius: 1.6rem;
}
.spv .mainArea .flame{
}
.spv .mainArea .caption{
color: #fff;
}

.spv .txtArea{
width: 52.5rem;
float: right;
padding: 2rem 0 0;
}
.spv .boxWt{
margin: 0 0 2.5rem;
padding: 2rem 3.5rem 3rem;
background: #fff;
border-radius: 1.6rem;
line-height: 2.8;
font-size:1.6rem;
color: #0e4eaa;
}
.spv .boxWt span{
padding: 0 0 1rem;
background: url(./img/dotline_gr.png) 0 90% repeat-x;
background-size: auto .2rem;
}
.spv .boxWt span .marker{
font-weight: 700;
background: none;
}
.spv .txtArea p{
padding: 0 3rem;
}
 .spv .txtArea .comname{
   font-size: 2rem;
       margin: 0 0 1rem;
       padding: 0 3rem;
}
  .spv .txtArea .comname span{
   font-family: "Poppins", sans-serif;
    font-weight: 600;
}

.spv .btns {
padding: 0 0 6rem;

}
.spv .btns > div {
width: 35%;
}

.spv .btns a .wtBox{
display: inline-block;
margin: 0 .5rem 0 0;
padding: .3rem .3rem;
background: #fff;
border-radius: .2rem;
line-height: 1;
color: #f77036;
transition: all .2s ease-in-out;
}
.spv .btns .btn-web a .wtBox{
color: #64b247;
}
.spv .btns .btn-internal a .wtBox{
color: #f77036;
}


.spv .btns .btn-web a::after{
content: "";
position: absolute;
bottom: 0;
left:0;
width: 9.5rem;
height: calc(100% + 1rem);
background: url(./img/bumon02_ill.png) 0 calc(100% + 2rem) no-repeat;
background-size:9.5rem auto;
transition: all .1s ease-in;
}
.spv .btns .btn-internal a::after{
content: "";
position: absolute;
bottom: 0;
left: .5rem;
width: 9.5rem;
height: calc(100% + 1rem);
background: url(./img/bumon01_ill.png) 0 calc(100% + 2rem) no-repeat;
background-size: 9.5rem auto;
transition: all .1s ease-in;
}


.spv .btns a:hover{
transform: translateY(0);
}

.spv .btns .btn-web a:hover{
background: #fff;
color: #64b247;
}
.spv .btns .btn-web a:hover .wtBox{
background: #64b247;
color: #fff;
}
.spv .btns .btn-web a:hover::before{
background-image: url("img/arrow_out_gr.svg");
}
.spv .btns .btn-web a:hover::after{
background-position: 0 calc(0% - 2rem);
transform: scale(1.2);
}


.spv .btns .btn-internal a:hover{
background: #fff;
color: #f77036;
}
.spv .btns .btn-internal a:hover .wtBox{
background: #f77036;
color: #fff;
}
.spv .btns .btn-internal a:hover::before{
background-image: url("img/arrow_red.svg");
}
.spv .btns .btn-internal a:hover::after{
background-position: 0 calc(0% - 2rem);
transform: scale(1.2);
}






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

.about{
position: relative;
z-index: 15;
width: 100rem;
margin: -22rem auto 10rem;
}
.about::before{
}
.about::after{
content: "";
    position: absolute;
    top: -8.5rem;
    left: 0;
    width: 100%;
    height: 15.2rem;
    background: url(./img/allstars.png) 50% 0 no-repeat;
}



.about .inner{
position: relative;
padding: 7.5rem 5rem 1.5rem;
background: #fff;
border-radius: 1.6rem;
box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
}

.about .logo{
position: absolute;
top: calc(50% - 2rem);
right: 5rem;
width: 20rem;
}

.about .catch{
margin: 0 0 1.2rem;
}
.about .txtArea{
margin: 0 23rem 0 0;
}

.about .btn-link {
margin-top: 2.0rem;
}



/*--------------------------------------
　biggerlink_PC
---------------------------------------*/

.biggerlink{
cursor: pointer;
transition: all .2s ease-in-out;
}
.biggerlink:hover{
opacity: .6;
}
.biggerlink a:hover{
opacity: 1;
}



/* End_PC */







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


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

html{
}

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

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



body{
min-width: 320px;
text-align:left;
line-height:1.9;
font-size:1.4em;
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;
}


p{
text-align: justify;
line-height:2.0;
}


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






/* notice 30px_4% */





/*--------------------------------------
　header_SP
---------------------------------------*/
#header{
position: relative;
z-index: 14;
margin: 0 0 0;
background: #FFF;
background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(214, 241, 244, 1) 70%, rgba(214, 241, 244, 1) 90%, rgba(255, 255, 255, 1) 100%);
min-height: 33rem;
}
#header::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url("./img/head_bg_sp.png") 50% 8.5rem no-repeat;
background-size: 41.8rem auto;
opacity: .7;
}




#header .topArea2{
position: relative;
top: 0;
left: 0;
margin: 1rem 20% 1.5rem 3%;
text-align: left;
font-weight: 500;
font-size:1.1rem;
line-height: 1.6;
}
#header .siteName{
display: inline-block;
font-weight: 500;
}
#header .siteName a{
}



#header .logo{
position: relative;
top: 0;
left: 0;
width: 15.9rem;
margin: 0 auto 4rem;
}
#header .logo a{
display: block;
}
#header .logo img{
width: 100%;
}





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

.h1Area h1{
position: relative;
z-index: 1;
width: auto;
margin: 0 0 0;
padding:1rem 1.5rem;
background: #0e4eaa;
box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
border: 2px solid #fff;
border-radius: .8rem;
text-align: center;
font-size:2.5rem;
color: #fff;
}





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

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

.mainWrap {
position: relative;
z-index: 1;
width: auto;
margin:  0 0;
padding: 0 0 1rem;
background: #fff;
border-radius: 0;
min-height: 50rem;
}


.mainWrap > .areaInner{
padding: 0 0 2.5rem;
}









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

#pankuzuWrap{
overflow: auto;
white-space: nowrap;
margin: 0 5% 1.5rem;
padding: 1rem 0 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;
}




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








/*--------------------------------------
　Global Nav_SP
---------------------------------------*/
#gNav{
position: fixed;
top: .5rem;
right: 2%;
z-index: 10000;


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


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

#gNav #showRight{
z-index: 10000;
}

#gNav button{
position: relative;
top: -1px;
width: 5.5rem;
height: 5.5rem;
background: #0e4eaa;
border-radius: 50%;
border: 2px solid #fff;
transition: .3s all;
}

#gNav button span{
position: absolute;
left: 27%;
width: 46%;
height: .15rem;
background-color: #fff;
transition: .3s all;
}
#gNav button span:nth-child(1){
top:33%;
}
#gNav button span:nth-child(2){
top:calc(33% + 0.85rem);
}
#gNav button span:nth-child(3){
top:calc(33% + 1.7rem);
}


#gNav button.active{
border: none;
}
#gNav button.active span:nth-child(1){
  transform: translateY(0.85rem) rotate(-45deg);
}
#gNav button.active span:nth-child(2){
  opacity: 0;
}
#gNav button.active span:nth-child(3){
  transform: translateY(-0.85rem) rotate(45deg);
}


#gNav button:hover{
opacity: 1;
}




/* 展開内容 */

#gNav .cbp-spmenu {
position: fixed;
margin: 0 0 0;
padding: 5rem 0 6rem;

background: #0e4eaa;

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



#gNav .cbp-spmenu #mainMenu{
position: relative;
z-index: 1;
/*overflow: auto;*/
overflow: visible;
margin: 0 0;
padding: 7rem 0 14rem;
height: 100%;

min-height: 78vh;

}

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

#gNav .cbp-spmenu #mainMenu::before{
content: "";
        position: absolute;
        bottom: 3rem;
        left: 0;
        width: 100%;
        height: 7.2rem;
        background: url(./img/allstars.png) 50% 100% no-repeat;
        background-size: 35rem auto;
}


#gNav .cbp-spmenu #mainMenu .gnavBox:first-child{
border-top: 1px solid rgba(255, 255, 255, .5);
}

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

#gNav .cbp-spmenu .sttl a {
background: url(./img/arrow_ccl_wt.svg) calc(100% - 1.8rem) 50% no-repeat;
background-size: 1.8rem auto;
}

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



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

#gNav .cbp-spmenu li a {
position: relative;
background: url(./img/arrow_ccl_wt.svg) calc(100% - 1.8rem) 50% no-repeat #0b408b;
background-size: 1.8rem auto;
padding: 14px 10% 14px calc(5% + 1em);
font-weight: 500;
}

#gNav .cbp-spmenu .subList li a::before {
left: calc(5% + 1em);
}



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

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



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


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

#gNav .accChild {
display: none;
}



/* logo */
#gNav .cbp-spmenu .logo{
position: relative;
top: 2rem;
width: 14.5rem;
margin: 0 auto;
}
#gNav .cbp-spmenu .logo a{
display: block;
border: none;
padding: 0;
}
#gNav .cbp-spmenu .logo img{
width: 100%;
}








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

#fixNav_sp{
position: fixed;
z-index: 10000;
bottom: .7rem;
left: 2%;
/*width: 26rem;*/

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




#fixNav_sp{
/*width: 100%;*/
display: flex;
justify-content: flex-start;
align-items: flex-end;
padding: 0 0;
}
#fixNav_sp .btn-internal{
width: 26rem;
margin: 0 0 0 0;
}
#fixNav_sp .btn-internal a{
display: inline-block;
width: auto;
min-height: 0;
padding: .5rem 15% .7rem 23%;
line-height: 1.6;
font-size:1.3rem;
}
#fixNav_sp .btn-internal a::before{
        right: 1rem;
        width: 2.2rem;
        background: url(./img/arrow_wt.svg) 0 50% no-repeat;
        background-size: 2.2rem auto;
}

#fixNav_sp .btn-internal a .wtBox{
display: inline-block;
margin: 0 .5rem 0 0;
padding: .3rem .3rem;
background: #fff;
border-radius: .2rem;
line-height: 1;
color: #f77036;
transition: all .2s ease-in-out;
}

#fixNav_sp .btn-internal a::after{
content: "";
position: absolute;
bottom: 0;
left: 0rem;
width:6rem;
height: calc(100% + 1rem);
background: url(./img/bumon01_ill.png) 0 calc(100% + 1.3rem) no-repeat;
background-size: 6rem auto;
transition: all .1s ease-in;
}

#fixNav .btn-internal a:hover{
transform: translateY(0);
}

#fixNav .btn-internal a:hover{
background: #f77036;
color: #fff;
}
#fixNav .btn-internal a:hover .wtBox{
background: #fff;
color: #f77036;
}
#fixNav .btn-internal a:hover::before{
background-image: url("img/arrow_wt_vt.svg");
}
#fixNav .btn-internal a:hover::after{
background-position: 0 calc(100% + 1.3rem);
transform: scale(1.0);
}





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

footer{
position: relative;
z-index: 13;
width: 100%;
padding: 0 0 5rem;
border-radius: 0;
background: #0e4eaa;
}


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


footer .footInner .areaL{
width: auto;
float: none;
margin: 0 5% 4rem;
}


footer .noticeArea{
color: #fff;
}
footer .noticeArea p{
font-size:1.1rem;
}
footer .noticeArea p:nth-child(1){
}
footer .noticeArea a{
text-decoration: underline;
color: #fff;
}
footer .noticeArea .botPrg{
padding: 1.2rem 0 0;
text-align: center;
}




footer .footInner .areaR{
width: auto;
float: none;
}

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

}
.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, .5);
text-align: left;
letter-spacing: 0;
}

.footBox .sttl a::before {
content: '';
display: inline-block;
width: 1.6rem;
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.6rem;
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_ccl_wt.svg") calc(100% - 2.0rem) 50% no-repeat;
background-size: 1.8rem auto;
border-bottom: 1px solid rgba(255, 255, 255, .5);
text-align: left;
font-size:1.3rem;
}
.footBox li li a{
padding: 1.3rem 10% 1.3rem 4.5%;
}
 
 
.footBox li a.ssttl{
display: block;
padding: 1.3em 10% 1.3em 4.5%;
background: url(./img/arrow_ccl_wt.svg) calc(100% - 1.8rem) 50% no-repeat;
background-size: 1.8rem auto;
border-bottom: 1px solid rgba(255, 255, 255, .5);
}

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

/* サイトマップ */
footer .smap .sttl a{
background: url(./img/arrow_ccl_wt.svg) calc(100% - 1.8rem) 50% no-repeat;
background-size: 1.8rem 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{
padding: 1.1rem 10% 1.2rem 4.5%;
background: url("./img/arrow_ccl_wt.svg") calc(100% - 1.8rem) 50% no-repeat #0b408b;
background-size: 1.8rem auto;
border-bottom: 1px solid rgba(255, 255, 255, .5);
}


.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 .botArea{
min-width: 0;
padding: 1.5rem 5% 3.0rem;
box-sizing: border-box;
}
footer .botArea .copy{
padding: 0 0;
font-size:1.1rem;
text-align: center;
color: #fff;
}
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:2.0;
}

.mainWrap p + p, .index p + p{
margin-top: 1.8rem;
}

.mainWrap > .areaInner > p, .index > .areaInner > p{
padding: 0 5%;
}
.mainWrap > .areaInner > .caption{
padding: 0 5%;
}
.mainWrap > .areaInner > .low-center-img-box{
padding: 0 5%;
}
.mainWrap > .areaInner > .low-center-img-box *{
margin-left: 0;
margin-right: 0;
}


.mainWrap h2 {
position: relative;
margin: 4rem 5% 2rem;
padding: 1rem 5% 1.2rem 8%;
background: #0e4eaa;
background-size: 11.0rem auto;
border-radius: 1.0rem;
font-size:2.3rem;
color: #fff;
}
.mainWrap h2::before{
content: "";
position: absolute;
top: 2rem;
left: 4%;
width: .3rem;
border-radius: 9999px 9999px 0 0;
height: calc(50% - 2rem);
background: #fff;
}
.mainWrap h2::after{
content: "";
position: absolute;
bottom: 2rem;
left: 4%;
width: .3rem;
border-radius: 0 0 9999px 9999px;
height: calc(50% - 2rem);
background: #ffdd4a;
}



.mainWrap h2 a{
position: relative;
display: block;
padding: 0 13% 0 0;
background: url(./img/arrow_ccl.svg) 100% calc(50% - 0px) no-repeat;
        background-size: 2.2rem auto;
}
.mainWrap h2 a::before{
}





.mainWrap h3{
position: relative;
margin: 3rem 5% 1.7rem;
padding: 1.2rem 3% 1.2rem 8%;
border-bottom: 3px solid #d6f1f4;
font-size:2.0rem;
color: #0e4eaa;
}
.mainWrap h3::before{
content: "";
position: absolute;
left: -0.5rem;
width: 2.7rem;
height:  2.7rem;
background: url(./img/deco1.svg) 0 0 / 2.7rem auto no-repeat;
}

.mainWrap h3 a{
position: relative;
z-index: 1;
display: block;
padding: 0 13% 0 0;
background: url("./img/arrow_ccl.svg") 100% calc(50% - 0px) no-repeat;
background-size: 2.2rem auto;
}

.mainWrap h3 a:hover{
}







.mainWrap h4{
position: relative;
margin: 2.5rem 5% 1.7rem;
padding: 1rem 1.5rem;
font-size:1.8rem;
}


.mainWrap h4 a{
position: relative;
padding: 0 8% 0 0;
background: url("./img/arrow_ccl.svg") 100% calc(50% + 0rem) no-repeat;
background-size: 2.0rem auto;
}


.mainWrap h5, .mainWrap h6{
position: relative;
margin: 2rem 5%;
padding: 1rem 3% 1rem 1%;
font-size:1.8rem;
}
.mainWrap h5 a, .mainWrap h6 a{
position: relative;
display: inline-block;
padding: 0 8% 0 0;
background: url("./img/arrow_ccl.svg") 100% calc(50% + .2rem) no-repeat;
background-size: 2.0rem auto;
}








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


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

.mainWrap ol li::before{
position: absolute;
display: flex;
align-items: center;
justify-content: center;
top: .6rem;
left: 0;
width: 1.5rem;
height: 1.6rem;
letter-spacing: 0;
line-height: 1.0;
font-size:1.1rem;
}







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


.btn-internal a,
.btn-web a,
.btn-tel a{
position: relative;
top:0;
left: 0;
width: 100%;
min-height: 7.5rem;
display: flex;
align-items: center;
justify-content: center;
padding: 1.2rem 16% 1.4rem;
border: 2px solid #fff;
border-radius: 1.0rem;
box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
text-align: center;
line-height: 1.5;
font-size:1.5rem;
font-weight: 700;
color: #fff;
transition: all .2s ease-in-out;
}

.btn-internal a::before,
.btn-web a::before,
.btn-tel a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 1.5rem;
width: 2.0rem;
height: 100%;
background: url("./img/arrow_wt.svg") 0 50% no-repeat;
background-size: 2.0rem auto;
transition: all .2s ease-in-out;
}


.btn-internal a{
}


.btn-web a{
}
.btn-web a::before{
right: 1.5rem;
width: 2.0rem;
background: url("./img/arrow_out.svg") 0 50% no-repeat;
background-size: 2.0rem auto;
}


.btn-internal a:hover,
.btn-web a:hover{
transform: translateY(0);
opacity: 1;
}
.btn-internal a:hover{
background: #f77036;
color: #fff;
}
.btn-internal a:hover::before{
background-image: url("img/arrow_wt.svg");
}
.btn-web a:hover{
background: #64b247;
color: #fff;
}
.btn-web a:hover::before{
background-image: url("img/arrow_out.svg");
}






.btn-tel{
display: block;
}
.btn-tel a{
}
.btn-tel a::before{
content: "";
position: absolute;
top: 0;
right: 1.6rem;
width: 1.6rem;
height: 100%;
background: url(./img/ico_tel.svg) 0 calc(50% - 0rem) no-repeat;
background-size: 1.6rem auto;
}



.btn-link{
margin: .2rem 5%;
text-align: right;
}
.btn-link a{
position: relative;
display: inline-block;
padding: .4rem 8.5% .5rem 0;
background: url("./img/arrow_ccl.svg") 100% calc(50% + .05rem) no-repeat;
background-size: 2.1rem auto;
line-height: 1.5;
text-align: right;
font-weight: 700;
}



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

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


.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% - 4rem);
left: calc(50% - 6rem);
}




.tableC table th {
display: table-cell;
width: auto;
}
.tableC table td {
display: table-cell;
width: auto;
}





/* ================== */
/*  SPカスタマイズ共通　*/
/* ================== */
.caption,
.source{
margin: 0.8em 0 0;
font-size:1.0rem;
line-height: 1.6;
word-break: break-all;
color: #999;
overflow: visible;
white-space: normal;
/*
overflow: auto;
white-space: nowrap;
*/
}
.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: 2.5em 6%;
padding: 0 1%;
}
.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;
margin: 0 5% 8rem;
}

.mokuji .inner{
position: relative;
padding: 1rem 5% 0;
background: #f5f4f2;
border-radius: 1.0rem;
}

.mokuji .inner::before{
content: "INDEX";
position: absolute;
top: -0.8rem;
right: 3%;
font-size:3.5rem;
font-family: "Poppins", sans-serif;
font-weight: 600;
color: #fff;
}

.mokuji .sttl{
margin: 0 0 .6rem;
padding: .6rem 0 1.6rem;
background: url(./img/dotline_gr.png) 0 100% repeat-x;
background-size: auto .2rem;
font-size:1.8rem;
}


.mokuji #toc{
position: relative;
padding: 0 0 3rem;
}
.mokuji #toc.open{
z-index: 1;
}
.mokuji #toc ul{
margin:0;
padding:5px 0;
}
.mokuji #toc ul li{
position: relative;
margin: 2px 0;
padding: 2px 0 2px 3rem;
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: 1.0rem;
left: 0;
width: 4rem;
transform: translate(0,-50%);
background: none;
font-weight: 700;
color: #0e4eaa;
}

.mokuji li a{
display: inline-block;
width: auto;
padding: 4px 0 6px;
background: none;
font-weight: 700;
text-decoration: none;
}
.mokuji #toc ul ul{
margin: 0;
padding: 0 0 .1rem;
}
.mokuji #toc ul li.chapter-h-three {
padding: 0 0 0 5rem;
}
.mokuji #toc ul li.chapter-h-three::after {
content: "";
position: absolute;
top: 0;
left: 3.5rem;
width: .8rem;
height: 100%;
background: url("./img/l_deco.png") 0 .6rem no-repeat;
background-size: .8rem 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: 14rem;
overflow: hidden;
}
.mokuji .show_more2 {
position: absolute;
bottom: 0;
left: 0px;
width: 100%;
height: 70px;
padding-top: 6.5rem;
text-align: center;
line-height: 6.5rem;
background: linear-gradient(
180deg,
rgb(245, 245, 245, 0) 0%,
rgb(245, 245, 245, 1) 60%
);
cursor: pointer;
transition: bottom 0.2s;
}
.mokuji .active{
background: none;
/*bottom: -20px;*/
}
.mokuji .show_more2 span{
position: relative;
top: -2.5rem;
display: inline-block;
width: 40%;
min-height: 4rem;
padding: .6rem 10% .7rem;
background: url(./img/plus.svg) 90% calc(50% - 1px) no-repeat #fff;
background-size: 1.3rem auto;
border-radius:9999px;
border: 1px solid #d2d1cf;
text-align: center;
line-height: 1.5;
font-weight: 700;
font-size:1.5rem;
}
.mokuji .active span{
background: url(./img/minus.svg) 90% 50% no-repeat #fff;
background-size: 1.3rem auto;
}








/* ================== */
/*  関連記事_SP　　　　　*/
/* ================== */

#related-article p {
  margin: 0;
}

#related-article.related-article01-frame {
position: relative;
margin: 4rem 5% 4rem;
padding: .5rem 5% 2.5rem;
background: #f5f4f2;
border-radius: 1.0rem;
}
#related-article.related-article01-frame::before{
content: "ARTICLE";
position: absolute;
top: -0.8rem;
right: 3%;
font-size:3.5rem;
font-family: "Poppins", sans-serif;
font-weight: 600;
color: #fff;
}

#related-article .related-article01-title {
position: relative;
margin: 0 0 1.5rem;
padding: 1.0rem 0 1.8rem;
background: url(./img/dotline_gr.png) 0 100% repeat-x;
background-size: auto .2rem;
line-height: 1.5;
font-size:1.8rem;
font-weight: 900;
}

#related-article .related-article01-title span {
}

#related-article .related-article01-list {
margin: 1.5rem 0 0 0;
padding: 0 0 0;
}

#related-article .related-article01-list p {
margin: 0;
}

#related-article .related-article01-list li {
margin: 2rem 0 0;
padding: 0 0 0 0;
font-size: 100%;
line-height: 1.7;
position: relative;
list-style: none;
}

#related-article .related-article01-list li+li {
margin-top: 10px;
}

#related-article .related-article01-list li::before {
width: 0!important;
height: 0!important;
background: none!important;
border: none!important;
}

#related-article .related-article01-list a {
position: relative;
display: inline-block;
padding: 0 0 0 2.6rem;
text-decoration: none;
}
#related-article .related-article01-list a::before{
content: "";
position: absolute;
top: calc(50% - 1.0rem);
right: 0;
width: 2.1rem;
height: 2.1rem;
background: url(./img/arrow_ccl.svg) 0 50% / 2.1rem auto no-repeat;
transition: all .3s ease-in-out;
transform-origin: 0 50%;
}


#related-article .related-article01-list a:hover {
opacity: 0.6;
}

#related-article .relations-box#related-article .relations-box--column {
display: flex;
gap: 10px;
}

#related-article .relations-box__pic {
flex: 0 0 150px;
}
.is-hidden {
display: none;
}

.related-article01-more {
display: flex;
justify-content: center;
align-items: flex-end;
background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, #fff 50%);
background-color: transparent;
width: 100%;
height: 25%;
position: absolute;
bottom: -40px;
left: 0;
padding: 2rem 0;
}


.related-article01-more.is-closed {
display: none;
}

.related-article01-btn {
position: relative;
top: -0.5rem;
display: inline-block;
width: 14rem;
min-height: 4rem;
padding: .6rem 3rem .8rem;
background: url(./img/plus.svg) 90% calc(50% - 0px) no-repeat #fff;
background-size: 1.4rem auto;
border-radius:9999px;
border: 1px solid #b2b2b2;
text-align: center;
line-height: 1.5;
font-weight: 900;
font-size:1.5rem;
}
.related-article01-btn:hover {
opacity: 1;
}





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






/* sum_SP */
.sum{
position: relative;
margin: 6rem 5% 7rem;
padding: 1.0rem 5% 1rem;
background: url(./img/dotbg_bl.jpg) 0 0 repeat;
background-size: 11.0rem auto;
border-radius: 1.5rem;
}
.sum::before{
content: "";
position: absolute;
top: -3.0rem;
right: -1.5rem;
width: 7.5rem;
height: 10rem;
background: url(./img/sum_deco01.png) 0 0 no-repeat;
background-size: 7.5rem auto;
}
.sum::after{
content: "";
position: absolute;
bottom: -6.0rem;
left: -2.3rem;
width: 7.0rem;
height: 10rem;
background: url(./img/sum_deco02.png) 0 0 no-repeat;
background-size: 7.0rem auto;
}
.sum .eng{
margin: 0 0 1.8rem;
line-height: 1.2;
font-size:4.0rem;
font-weight: 700;
color: #fff;
}

.sum .txtArea{
position: relative;
padding: 0 0;
}

.sum .catch{
margin: 0 0 1.5rem;
padding: 0 0 2.0rem;
font-size:1.8rem;
line-height: 1.7;
}
.sum .catch::before{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 2.0rem;
height: .3rem;
background: #0e4eaa;
border-radius: 9999px 0 0 9999px;
}
.sum .catch::after{
content: "";
position: absolute;
bottom: 0;
left: 2.0rem;
width: 2.0rem;
height: .3rem;
background: #ffdd4a;
border-radius: 0 9999px 9999px 0;
}
.sum .btns{
margin: -1rem 0 0;
padding: 0 0 0;
}
.btns > div {
width: 85%;
}








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

.qa .txtArea{
padding: 1.5rem 0 0;
}
.qa .float-wrap{
margin: 0;
padding: 0;
}
.qa .catch{
display: block;
margin: 0 0 1rem;
padding: 0 0 0 3.5rem;
font-size:1.7rem;
color: #f7824f;
}
.qa .catch::before{
content: "A.";
position: absolute;
top: -1rem;
left: 0;
font-size:2.5rem;
font-weight: 700;
}
.qa .float-wrap .fr{
padding: 0 0 0.5em;
}
.qa .float-wrap .fl{
padding: 0 0 0.5em;
}
.qa .float-img{
margin: 0 5%;
}




/* bumon_SP */
.bumon{
position: relative;
width: auto;
margin: 6.5rem 5%;
padding: 1.7rem 0 3.5rem;
background: #ff6e6e;
box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
border-radius: 1.5rem;
}
.bumon01{background: #64b247;}
.bumon02{background: #31bede;}
.bumon03{background: #ff6e6e;}
.bumon04{background: #f7824f;}
.bumon05{background: #ffdd4a;}
.bumon06{background: #ca5fcc;}
.bumon07{background: #ec4949;}



.bumon .flame{
position: absolute;
width: 15rem;
top: -14rem;
left: .5rem;
}
	.bumon06.a .flame, .bumon05.a .flame {
           top: -15.2rem;
}
.bumon .flame::before{
content: "";
position: absolute;
z-index: 1;
bottom: -5rem;
left: -1.5rem;
width: 8rem;
height: 14rem;
background: url(./img/bumon03_ill.png) 50% 100% no-repeat;
background-size: 8rem auto;
}
.bumon01 .flame::before{background-image: url(./img/bumon01_ill.png);}
.bumon02 .flame::before{background-image: url(./img/bumon02_ill.png);}
.bumon03 .flame::before{background-image: url(./img/bumon03_ill.png);}
.bumon04 .flame::before{background-image: url(./img/bumon04_ill.png);}
.bumon05 .flame::before{background-image: url(./img/bumon05_ill.png);}
.bumon06 .flame::before{background-image: url(./img/bumon06_ill.png);}
.bumon07 .flame::before{background-image: url(./img/bumon07_ill.png);}


.bumon .sttl{
display: inline-block;
margin: 0 0 0 14.8rem;
padding: 0 3.2rem .5rem 0;
font-size:2.2rem;
color: #fff;
}
.bumon05 .sttl{
color: #434343;
}
.bumon .sttl::before{
content: "";
position: absolute;
top: -0.5rem;
right: 0;
width: 2.7rem;
height: 3.5rem;
background: url("./img/deco2.svg") 0 0 no-repeat;
background-size: 2.7rem auto;
}
.bumon05 .sttl::before{
background-image: url("./img/deco2_bk.svg") ;
}
.bumon .spec{
margin: 0 0 1.5rem 19rem;
font-size:1.4rem;
font-weight: 700;
color: #fff;
}
.bumon05 .spec{
color: #434343;
}

.bumon .spec .wtBox{
position: relative;
top: .3rem;
display: inline-block;
margin: 0 0 0;
padding: .3rem 5% .4rem;
background: #fff;
line-height: 1;
font-size:1.3rem;
color: #ff6e6e;
}
.bumon01 .spec .wtBox{color: #64b247;}
.bumon02 .spec .wtBox{color: #31bede;}
.bumon03 .spec .wtBox{color: #ff6e6e;}
.bumon04 .spec .wtBox{color: #f7824f;}
.bumon05 .spec .wtBox{color: #434343;}
.bumon06 .spec .wtBox{color: #ca5fcc;}
.bumon07 .spec .wtBox{color: #ec4949;}


.bumon .txtArea{
position: relative;
margin: 0 5%;
padding: 1rem 5% 2rem;
background: #fff;
border-radius: 1.0rem;
}
.bumon .catch{
margin: 0 0 1.2rem;
padding: .8rem 0 1.4rem;
background: url(./img/dotline_gr.png) 0 100% repeat-x;
background-size: auto .2rem;
text-align: center;

}





/* spv_SP */
.spv{
position: relative;
margin: -1rem 0 -2rem;
padding: 0 0 5rem;
background: #0E4EAA;
background: linear-gradient(180deg, rgba(14, 78, 170, 1) 5%, rgba(83, 139, 223, 1) 40%);
color: #fff;
}
.spv::before{
content: "";
position: absolute;
top: 6.6rem;
left: 0;
width: 100%;
height: 16rem;
background: url(./img/spv_head.svg) 50% 0 no-repeat;
background-size: 160% 16rem;
}
.spv::after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 7rem;
background: #fff;
}
	
.spv .info{
margin: 1rem 5% 5rem;
    text-align: left;
}
.spv .fuki{
position: relative;
z-index: 1;
display: block;
width: 32rem;
margin: 0 auto 12rem;
padding: 2.2rem 2% 2.4rem 13%;
background: #64b247;
border-radius: 9999px;
line-height: 1.3;
font-size:2.2rem;
}
.spv .fuki::before{
content: "";
position: absolute;
bottom: -2.0rem;
right: 2.7rem;
width: 4.3rem;
height: 2.5rem;
background: url(./img/fuki_hip_gr.svg) 0 0 no-repeat;
background-size: 4.3rem auto;
}
.spv .fuki::after{
content: "";
position: absolute;
top: calc(50% - 1.6rem);
left: 1.5rem;
width: 2.6rem;
height: 3.2rem;
background: url("./img/deco3.svg") 0 0 no-repeat;
background-size: 2.6rem auto;
}





.spv .mainArea{
margin: 0 0 1rem;
}

.spv .imgArea{
width: 90%;
float: none;
margin: 0 auto;
padding: 2.0rem 5% 1.5rem;
background: #6498e5;
border-radius: 1.0rem;
}
.spv .mainArea .flame{
}
.spv .mainArea .caption{
color: #fff;
}

.spv .txtArea{
width: auto;
float: none;
padding: 3rem 0 0;
}
.spv .boxWt{
margin: 0 5% 1.5rem 0;
padding: 1.5rem 5% 2rem;
background: #fff;
border-radius: 0 1rem 1rem 0;
line-height: 2.5;
font-size:1.5rem;
color: #0e4eaa;
}
.spv .boxWt span{
padding: 0 0 .5rem;
background: url(./img/dotline_gr.png) 0 90% repeat-x;
background-size: auto .2rem;
}
.spv .txtArea p{
padding: 0 5%;
}
	
	.spv .txtArea .comname {
    font-size: 1.8rem;
    margin: 0 auto .5rem;
    padding: 0;
		text-align:center;
}

.spv .btns {
margin: -1rem 0 0;
padding: 0 0 1rem;
}
.spv .btns > div {
width: 85%;
}

.spv .btns a .wtBox{
display: inline-block;
margin: 0 .5rem 0 0;
padding: .3rem .3rem;
background: #fff;
border-radius: .2rem;
line-height: 1;
color: #f77036;
transition: all .2s ease-in-out;
}
.spv .btns .btn-web a .wtBox{
color: #64b247;
}
.spv .btns .btn-internal a .wtBox{
color: #f77036;
}


.spv .btns .btn-web a::after{
content: "";
position: absolute;
bottom: 0;
left: .5rem;
width: 6rem;
height: calc(100% + 2rem);
background: url(./img/bumon02_ill.png) 0 calc(100% + 1.1rem) no-repeat;
background-size: 6rem auto;
transition: all .1s ease-in;
}
.spv .btns .btn-internal a::after{
content: "";
position: absolute;
bottom: 0;
left: .5rem;
width: 6rem;
height: calc(100% + 2rem);
background: url(./img/bumon01_ill.png) 0 calc(100% + 1.1rem) no-repeat;
background-size: 6rem auto;
transition: all .1s ease-in;
}


.spv .btns a:hover{
transform: translateY(0);
}

.spv .btns .btn-web a:hover{
background: #64b247;
color: #fff;
}
.spv .btns .btn-web a:hover .wtBox{
background: #fff;
color: #64b247;
}
.spv .btns .btn-web a:hover::before{
background-image: url("img/arrow_out.svg");
}
.spv .btns .btn-web a:hover::after{
background-position: 0 calc(100% + 1.1rem);
transform: scale(1.0);
}


.spv .btns .btn-internal a:hover{
background: #f77036;
color: #fff;
}
.spv .btns .btn-internal a:hover .wtBox{
background: #fff;
color: #f77036;
}
.spv .btns .btn-internal a:hover::before{
background-image: url("img/arrow_wt.svg");
}
.spv .btns .btn-internal a:hover::after{
background-position: 0 calc(100% + 1.1rem);
transform: scale(1.0);
}




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

.about{
position: relative;
z-index: 15;
width: auto;
margin: 0 5% 4rem;
}
.about::before{
}
.about::after{
content: "";
        position: absolute;
        top: -3.5rem;
        left: 0;
        width: 100%;
        height: 7.2rem;
        background: url(./img/allstars.png) 50% 0 no-repeat;
        background-size: 35rem auto;
}


.about .inner{
position: relative;
padding: 5.8rem 5% 1.5rem;
background: #fff;
border-radius: 1.0rem;
}
.about .inner::before {
content: "";
position: absolute;
z-index: -1;
top: 0;
left: -5.5%;
width: 100vw;
height: 50%;
background: #538bdf;
}

.about .logo{
position: static;
width: 16.0rem;
margin: 0 auto 2.5rem;
}
.about .logo .logoImg{
width: 15.0rem;
margin: 0 auto.5rem;
}

.about .catch{
margin: 0 0 1.0rem;
font-size:1.8rem;
}
.about .txtArea{
margin: 0 0 0;
}

.about .btn-link {
margin: .5rem 0 .2rem;
}





/*--------------------------------------
　biggerlink_SP
---------------------------------------*/

.biggerlink{
cursor: pointer;
transition: all .2s ease-in-out;
}
.biggerlink:hover{
opacity: 1;
}
.biggerlink a:hover{
opacity: 1;
}



}
/* End_SP */


.com {
    padding: 2rem 0 3rem;
    margin: 15rem auto;
	width:88rem;
    background: linear-gradient(180deg, rgba(255, 244, 199, 1) 50%, rgb(255 244 199 / 59%) 100%);
    border-radius: 2.0rem;
    box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
}
.com .mainArea{
position: relative;
}

.com .mainArea .fuki{
position: absolute;
top: -8.8rem;
right: -5.5rem;
width: 45.7rem;
height: 19rem;
padding: 2.5rem 2rem 0;
background: url(./img/fuki_bl.svg) 0 0 no-repeat;
background-size: 45.7rem auto;
text-align: center;
color: #fff;
}
.com .mainArea .fuki::after {
content: "";
position: absolute;
bottom: 6.5rem;
right: 5.0rem;
width: 3.3rem;
height: 4rem;
background: url(./img/deco3.svg) 0 0 / 3.3rem no-repeat;
transform: scale(-1, 1);
}
.com .mainArea .fuki .fontS{
display: block;
margin: 0 0 .5rem;
}

.com .mainArea .fontEng{
margin: 0 6.5rem 1rem;
line-height: 1;
font-size:6.0rem;;
color: #ffdd4a;
opacity: .5;
}
.com .mainArea .comname{
margin: 0 6.5rem 1rem;
    font-size: 3.6rem;
    color: #0e4eaa;
	    font-weight: 700;
}
.com .mainArea h2{
padding: 0 7rem 3rem;
font-size:3.6rem;
color: #0e4eaa;
}

.com .imgArea{
position: relative;
}
.com .imgArea .flame{
position: absolute;
z-index: 1;
top: -2.5rem;
right: -2.5rem;
width: 34.7rem;
height: 34.7rem;
display: flex;
align-items: center;
justify-content: center;
background: #fff;
border: 2px solid #d2d1cf;
border-radius: 50%;
}

.com .mainArea .txtArea{
width: 54rem;
}
.com .mainArea .boxWt{
margin: 0 0 2.5rem;
padding: 2rem 4rem 3rem 7rem;
background: #ffffffe0;
border-radius: 0 1.6rem 1.6rem 0;
line-height: 2.8;
font-size:1.6rem;
color: #0e4eaa;
}
.com .mainArea .boxWt span{
padding: 0 0 1rem;
background: url(./img/dotline_gr.png) 0 90% repeat-x;
background-size: auto .2rem;
}
.com .mainArea .txtArea p{
padding: 0 4rem 1rem 7rem;
line-height: 2.2;
}

.com .btns{
padding: 1rem 0 2rem;
}
.btns > div {
width: 40%;
}
.com .btns a .wtBox{
display: inline-block;
margin: 0 .5rem 0 0;
padding: .3rem .3rem;
background: #fff;
border-radius: .2rem;
line-height: 1;
color: #f77036;
transition: all .2s ease-in-out;
}
.com .btns .btn-web a .wtBox{
color: #64b247;
}
.com .btns .btn-internal a .wtBox{
color: #f77036;
}






@media screen and (max-width: 480px) {
.com {
    padding: 2rem 0 2rem;
    margin: 15rem auto 6rem;
    width: 88%;
	border-radius: 1.5rem;
}

.com .mainArea{
position: relative;
}

.com .mainArea .fuki{
position: absolute;
top: -10.8rem;
right: 2%;
width: 27.5rem;
height: 11rem;
padding: 1.5rem 5% 0;
background: url(./img/fuki_bl.svg) 0 0 no-repeat;
background-size: 27.5rem auto;
text-align: center;
font-size:1.4rem;
color: #fff;
}
	.com .mainArea .comname {
    margin:0 5% 1.5rem;
    font-size: 2.3rem;
}
.com .mainArea .fuki::after {
content: "";
position: absolute;
bottom: 3.5rem;
right: 3.0rem;
width: 2.5rem;
height: 3.1rem;
background: url(./img/deco3.svg) 0 0 / 2.5rem no-repeat;
}
.com .mainArea .fuki .fontS{
display: block;
margin: 0 0 .5rem;
}

.com .mainArea .fontEng{
margin: 0 5% .5rem;
line-height: 1;
font-size:4.0rem;;
color: #ffdd4a;
opacity: .5;
}
.com .mainArea h2{
padding: 0 5% 1.5rem;
font-size:2.3rem;
color: #0e4eaa;
}

.com .imgArea{
position: relative;
}
.com .imgArea .flame{
position: absolute;
z-index: 1;
top: -2.5rem;
right: -1.5rem;
width: 17.3rem;
height: 17.3rem;
padding: 2rem;
display: flex;
align-items: center;
justify-content: center;
background: #fff;
border: 2px solid #d2d1cf;
border-radius: 50%;
}
.com .imgArea .flame2{
width: 20rem;
margin: 0 5% 4rem;
}
.com .imgArea .flame2 img{
border-radius: 1.0rem;
}

.com .mainArea .txtArea{
width: auto;
}
.com .mainArea .boxWt{
position: relative;
        margin: 0 5% 2.0rem 0;
        padding: 1.5rem 3% 2.5rem 5%;
        border-radius: 0 1.0rem 1.0rem 0;
        line-height: 2.5;
        font-size: 1.5rem;
        color: #0e4eaa;
}


.com .mainArea .boxWt span{
padding: 0 0 .5rem;
background: url(./img/dotline_gr.png) 0 90% repeat-x;
background-size: auto .2rem;
}
.com .mainArea .txtArea p{
padding: 0 5% 0;
line-height: 2.2;
}

.com .btns{
padding: 0 0 1rem;
}
.btns > div {
width: 85%;
}
.com .btns a .wtBox{
display: inline-block;
margin: 0 .5rem 0 0;
padding: .3rem .3rem;
background: #fff;
border-radius: .2rem;
line-height: 1;
color: #f77036;
transition: all .2s ease-in-out;
}
.com .btns .btn-web a .wtBox{
color: #64b247;
}
.com .btns .btn-internal a .wtBox{
color: #f77036;
}
}


.threeBox .ulBox{
display: flex;
justify-content: space-between;
}
.threeBox .liBox{
width: 32.2rem;
    padding: 2.5rem 2rem 3rem;
    background: #fff9df;
    border-radius: 1.6rem;
    color: #434343;
}
.threeBox .liBox:nth-child(2){background: #ffedee;}
.threeBox .liBox:nth-child(3){background: #f1ffeb;}


.threeBox .liBox .catch{
display: flex;
align-items: center;
justify-content: center;
margin:0 0 21rem;
text-align: center;
font-size:2.4rem;
color: #0e4eaa;
}
.threeBox .liBox .catch::before{
content: "";
position: absolute;
bottom:-20.5rem;
left: 0;
width: 100%;
height: 19rem;
background: url(./img/sct08_icon01.png) 50% 0 no-repeat;
background-size: 20rem auto;
}
.threeBox .liBox:nth-child(2) .catch::before{
background-image: url(./img/sct08_icon02.png);
}
.threeBox .liBox:nth-child(3) .catch::before{
background-image: url(./img/sct08_icon03.png);
}


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

.threeBox .ulBox{
display: block;
	        margin: 6.5rem 5%;
}
.threeBox .liBox{
width: auto;
margin: 0 0 2rem;
padding: 2.5rem 5% 3rem;
background: #fff9df;
border-radius: 1rem;
color: #434343;
}
.threeBox .liBox:nth-child(2){background: #ffedee;}
.threeBox .liBox:nth-child(3){background: #f1ffeb;}


.threeBox .liBox .catch{
display: flex;
align-items: center;
justify-content: center;
margin: 0 0 17rem;
text-align: center;
font-size:1.8rem;
color: #0e4eaa;
}
.threeBox .liBox .catch::before{
content: "";
position: absolute;
bottom: -20.5rem;
left: 0;
width: 100%;
height: 19rem;
background: url(./img/sct08_icon01.png) 50% 0 no-repeat;
background-size: 16rem auto;
}
.threeBox .liBox:nth-child(2) .catch::before{
background-image: url(./img/sct08_icon02.png);
}
.threeBox .liBox:nth-child(3) .catch::before{
background-image: url(./img/sct08_icon03.png);
}
}

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

	.voice-section{
    margin: 4rem 5%;
}
}

