@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: "poppins";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/Poppins-Light.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "poppins-semi";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/Poppins-SemiBold.ttf") format("truetype");
  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 {
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 400;
font-size:1.5em;
line-height:1.8;
color: #14181a;
text-align: justify;
}

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

a {
color: #292f33;
text-decoration: none;
}

a:hover {
text-decoration: none;
}

p{
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: '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:2.4rem;
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: 75%;
}
.fontL{
font-size: 133%;
}

.fontBold{
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
}


.fontEng{
font-family: 'poppins', sans-serif;
font-weight: 300;
}
.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.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: 1044px;
margin: 0 auto;
}





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


/*--------------------------------------
　header_PC
---------------------------------------*/
#header{
position: relative;
z-index: 14;
background: #f0f3f6;
border-bottom: 1px solid #ccd1d5;
height: 8.2rem;
}

#header .siteName{
display: inline-block;
font-weight: 400;
}
#header .siteName a{
font-weight: bold;
}

#header .logoBox{
display: flex;
align-items: center;
gap: 2rem;
padding: 0 3rem;
height: 8.2rem;
}
#header .logo{
position: relative;
width: 16.7rem;
}
#header .logo a{
display: block;
width:16.7rem;
}
#header .logo img{
width: 100%;
}
#header .h1Name {
position: static;
flex: 1;
padding: 6px 0;
display: flex;
top: 2rem;
left: 2rem;
}
#header .siteName, #header .siteName span {
font-size: 1.1rem;
line-height: 1.5;
color: #292f33;
}
#header .siteName a, #header .siteName span {
display: inline-block;
color: #292f33;
text-decoration: none;
}








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

.mainWrap > .areaInner{
padding: 0 0 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 {
overflow: auto;
white-space: nowrap;
margin: 0 auto 5rem;
max-width: 100%;
background: #889bb4;
padding: 0.8rem;
border-top: 1px solid #ccd1d5;
}
#pankuzu {
max-width: 1044px;
padding: 0;
font-size: 1.2rem;
color: #fff;
margin: 0 auto;
background: none;
}	
#pankuzu span {
font-size: 1.2rem;
}	
#pankuzu a {
display: inline;
text-decoration: underline;
color: #fff;
font-size: 1.2rem;
}	
#pankuzu br{
display: none;
}



/*--------------------------------------
　page-top_PC
---------------------------------------*/
#page-top {
position: fixed;
z-index: 101;
bottom: 3rem;
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: 0;
right: 0;
z-index: 10000;
transition: .3s;
}
/*このクラスが付与されると表示する*/
#gNav_pc.active{
opacity: 1;
visibility: visible;
}



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

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

#gNav_pc button{
position: relative;
width: 10.5rem;
height: 8.2rem;
background:#28343b;
transition: .3s all;
}


#gNav_pc button span{
position: absolute;
left: 25%;
width: 50%;
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% + 2rem);
}


#gNav_pc button.active span:nth-child(1){
  transform: translateY(10px) rotate(-45deg);
}
#gNav_pc button.active span:nth-child(2){
  transform: translateY(-10px) rotate(45deg);
}




/* 展開内容 */

#gNav_pc .cbp-spmenu {
position: fixed;
margin: 0 0 0;
padding: 19.2rem 0 10rem;
transition: transform 0.5s ease, opacity 0.5s ease;
/* TOP用 */
/* 
margin: 9.2rem 0 0;
padding: 10rem 0 10rem;
*/


background: #2b353c;

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 200px;*/
height: 100%;
width: 120rem;

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


#gNav_pc .cbp-spmenu #mainMenu2 .gnavBox{
position: relative;
width: 30%;
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/arrow1_wt.png") calc(100% - 1rem) 50% no-repeat;
background-size: 2.0rem auto;
font-size:1.6rem;
}

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

#gNav_pc .cbp-spmenu .sttl.tglMenu a {
background: none;
display: flex;
align-items: center;
}
#gNav_pc .cbp-spmenu .sttl.tglMenu a::before {
content: '';
display: inline-block;
width: 1.5rem;
height: 1px;
background-color: #fff;
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
transition: opacity .5s;
}
#gNav_pc .cbp-spmenu .sttl.tglMenu a::after {
content: '';
display: inline-block;
width: 1.5rem;
height: 1px;
background-color: #fff;
position: absolute;
right: 10px;
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/arrow1_wt.png") calc(100% - 1rem) 50% no-repeat;
background-size: 2.0rem auto;
	display: flex;
    align-items: center;
}

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

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


#gNav_pc .cbp-spmenu li a {
background: url("./img/arrow1_wt.png") calc(100% - 1rem) 50% no-repeat;
background-size: 2.0rem auto;
padding: 1.4rem 5rem 1.4rem 0;
}

#gNav_pc .cbp-spmenu a:hover {
opacity: 0.7;
}
#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;
	height: 73px;
}


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

#gNav_pc .cbp-spmenu-right {
opacity: 0;
right: 0;
pointer-events: none; /* 閉じている時はクリック不可にする */
transition: transform 0.5s ease; /* opacityではなく動きに注目させる */
}
#gNav_pc .cbp-spmenu-right.cbp-spmenu-open {
opacity: 1;
visibility: visible;
pointer-events: auto;
z-index: 1000;
}


/* 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.body-fix{
overflow: hidden;
}








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

#fixNav{
position: fixed;
z-index: 1001;
top: 0;
right: 0;
width: 100%;
height: 8.2rem;
background: #f0f3f6;
transition: .3s;
/*デフォルトで非表示にする*/
opacity: 0;
visibility: hidden;
}
/*このクラスが付与されると表示する*/
#fixNav.active{
opacity: 1;
visibility: visible;
}
/*このクラスが付与されると停止する*/
#fixNav.absolute{
/*opacity: 0;
visibility: hidden;*/
}

#fixNav .logoArea {
    position: relative;
    top: 0;
    left: 3rem;
    align-items: center;
    height: 100%;
    display: flex;
    width: 16.7rem;
}
#fixNav .logoArea img {
  
	 width: 100%;
}

#fixNav .btnArea{
position: absolute;
top: 1.0rem;
right: 12rem;
display: flex;
flex-wrap: wrap;
align-items: center;
}
#fixNav .btnArea{
text-align: right;
}
#fixNav .btnArea a{
display: inline-block;
height: 100%;
margin: 0;
padding: .5rem 2rem;
font-size:1.3rem;
font-weight: 700;
line-height: 1.5;
text-align: center;
border-left: 1px solid #B4B4B4;
}
#fixNav .btnArea a:nth-child(3) {
border-right: 1px solid #B4B4B4;
}





/*--------------------------------------
　h1Area_PC
---------------------------------------*/
.mv_lower {
background: url(img/mv_lower_grad.png) no-repeat bottom center, url(img/mv_lower.jpg) no-repeat top center;
background-size: 100% auto, 100% auto;
min-height: 28rem;
position: relative;
display: flex;
flex-direction: column;
}
.mv .h1Inr {
flex: 1;
width: 1044px;
margin: 0 auto;
padding: 4rem 0 4rem;
display: flex;
align-items: center;
justify-content: center;
}
.h1Area {
display: flex;
flex-direction: column;
justify-content: center;
height: 100%;
}
.h1Area h1 {
font-size: 4.8rem;
font-weight: 700;
line-height: 1.5;
word-break: break-all;
position: relative;
z-index: 1;
color: #292f33;
text-align: left;
}

.byArea {
  width: 1044px;
  margin: 0 auto 6rem;
}
.byArea .by {
	font-size: 1.1rem;
	line-height: 1.5;
	color: #292f33;
	text-align: left;
}
.lower .by {
	font-size: 1.1rem;
	line-height: 1.5;
	color: #292f33;
	text-align: left;
  margin-top: 5px;
}






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

footer {
  margin: 0 0 0 0;
  padding: 8rem 0 0 0;
  position: relative;
  background: #1e282f;
  font-size: 0;
}
footer a:hover {
  text-decoration: underline;
  opacity: 1;
}
footer .ftWrap {
  background: #f1f5ff;
  padding: 7rem 0 0;
}
footer .areaInner {
  width: 110rem;
  margin: 0 auto;
  padding: 0;
  position: relative;
}
footer a {
  text-decoration: none;
  color: #fff;
}
footer a:hover {
  text-decoration: underline;
}
footer .areaInner .footBox {
  margin: 0 0 30px 0;
}
footer .areaInner .footBox .sttl {
  border-bottom: 1px solid #fff;
  padding: 0 0 6px 0;
  margin: 0 0 14px 0;
}
footer .areaInner .footBox .sttl a {
/*
  background: url("img/arr_ccl_wh_right.png") no-repeat left center;
  background-size: 1.3rem auto;
*/
  display: inline-block;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 900;
  padding: .3rem 0 .3rem 0;
}
footer .areaInner .smap {
  margin: 0 0 50px 0;
}
footer .areaInner .smap .sttl a {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 600;
}
footer .foot_link {
  font-size: 14px;
  font-size: 1.4rem;
  text-align: right;
  margin-bottom: 50px;
}
footer .foot_link a {
  font-size: 14px;
  font-size: 1.4rem;
  text-decoration: underline;
}
footer .foot_link a:nth-child(1) {
  display: inline-block;
  margin-right: 15px;
}
footer .foot_link a:nth-child(2) {
  display: inline-block;
  margin-left: 15px;
}
footer .foot_link a:hover {
  text-decoration: none;
}
footer .footBox ul {
  padding: 0 20px;
}
footer .areaInner .footBox .accChild {
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
}
footer .areaInner .footBox .accChild li {
  background: none;
}
footer .areaInner .footBox .accChild li.subCat {
    margin: 0 30px 0 0;
    padding: 0;
}
footer .areaInner .footBox .accChild li.subCat::after {
  content: "　/　";
  letter-spacing: 0;
  color: #fff;
}
footer .areaInner .footBox .accChild .sp+li::before {
  /* content: "　|　"; */
  letter-spacing: 0;
}
footer .areaInner .footBox .accChild .sp+li::before {
  /* content: "|　"; */
  letter-spacing: 0;
}
footer .areaInner .footBox .accChild .sp+li.subCat::before {
  content: "";
}
footer .areaInner .footBox .accChild .subList li::after {
  content: "　/　";
  letter-spacing: 0;
  color: #fff;
}
footer .areaInner .footBox .accChild li {
  margin: 0;
  width: calc(33% - 10px);
}
footer .areaInner .footBox .accChild li.sp {
  display: none;
}
footer .areaInner .footBox .accChild li a {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: normal;
  padding: 0;
}
footer .areaInner .footBox .accChild .subList li:first-child:before {
  content: "　/　";
  letter-spacing: 0;
  color: #fff;
}
footer .areaInner .footBox .accChild .subList {
  display: inline-block;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
}
footer .areaInner .footBox .accChild .subList li {
  padding: 0 0 0 0;
  display: inline-block;
  margin: 0;
}
footer .areaInner .footBox .accChild .subList li a {
  padding: 0 10px;
  font-size: 13px;
  font-size: 1.3rem;
}
footer .areaInner .noticeArea {
  margin: 0 auto 1.3rem;
  width: 71%;
  padding: 23px 30px 24px;
  background: #fff;
  border-radius: 0;
}
footer .areaInner .noticeArea p {
  font-size: 1.2rem;
  line-height: 1.8;
  color: #292F33;
  text-align: left;
}
footer .areaInner .noticeArea a {
  color: #292F33;
  text-decoration: underline;
}
footer .areaInner .botPrg {
  font-size: 1.2rem;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 47px;
  color: #fff;
}
footer .botArea {
  padding: 0.7rem 0 1.1rem;
  background: #e2e9ed;
}
footer .botArea .botInner {
  width: 1200px;
  margin: 0 auto;
  position: relative;
}
footer .botArea .botInner .smap {
  float: right;
}
footer .botArea .botInner .smap a {
  background: url("img/arr_ccl_wh_right.png") 6px 50% no-repeat;
  background-size: 1.6rem auto;
  padding: 0 0 0 3rem;
  text-decoration: none;
  color: #FFF;
  font-size: 1.4rem;
}
footer .botArea .botInner .smap a:hover {
  text-decoration: underline;
}
footer p.copy {
  padding: 0;
  margin: 0;
  font-size: 1.2rem;
  text-align: center;
  color: #292F33;
}
footer p.copy a {
  color: #292F33;
  text-decoration: none;
}
footer .twoColBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  margin: 0 0 5rem;
}
footer .twoColBox .logoBox {
  width: 30rem;
}
footer .logoBox {
  margin-bottom: 2rem;
}
footer .logoBox a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-decoration: none;
}
footer .logoBox a:hover {
  opacity: 0.6;
}
footer .logoBox .logo {
  width: 29.5rem;
  margin: 0 auto;
}
footer .twoColBox .notice {
  font-size: 1.2rem;
  line-height: 1.8;
  margin: 0 0 1.5rem;
  letter-spacing: normal;
}
footer .twoColBox .colBox {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}






/* ================== */
/*  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: 2rem;
}

.mainWrap h2{
position: relative;
margin: 7rem 0 3.5rem;
padding: 2.2rem 2rem 2.5rem 3.5rem;
background: url(./img/h2_bg.png) left 5px center no-repeat;
background-size: 12rem auto;
font-size:3.4rem;
color: #fff;
overflow: hidden;
}
.mainWrap h2::before{
content: "";
position: absolute;
z-index: -1;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #28343b;
}
.mainWrap h2::after{
}



.mainWrap h2 a{
position: relative;
display: block;
padding: 0 4.5rem 0 0;
color: #fff;
}
.mainWrap h2 a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: .7rem;
width: 3rem;
height: 100%;
background: url("./img/arrow1_wt.png") 99% calc(50% + 1px) no-repeat;
background-size: 3.0rem 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: 6rem 0 2rem;
padding: 1.2rem 1rem 1.2rem 2.2rem;
border-bottom: 1px solid #3d4a5c;
font-size:2.8rem;
color:#28343b;
font-weight: 700;
line-height: 1.5;
background: none;
}


.mainWrap h3::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 0.6rem;
height: 100%;
background: linear-gradient(to bottom, #ffb6b3 50%, #28343b 50%);
mask-image: none;
-webkit-mask-image: none;
}
.mainWrap h3 a{
position: relative;
z-index: 1;
display: block;
padding: 0 5.5rem 0 0;
color: #28343b;
}
.mainWrap h3 a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 1.7rem;
width: 3rem;
height: 100%;
background: url("./img/arrow2.png") 99% calc(50% + 1px) no-repeat;
background-size: 3.0rem 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;background: #f0f3f6;margin: 4rem 0 2rem;padding: 1rem 1rem 1.2rem 2rem;border-bottom: 1px solid #3d4a5c;font-size:2.4rem;color: #28343b}
.mainWrap h5::before, .mainWrap h6::before{
}
.mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
position: relative;
padding: 0 5.5rem 0 0;
color: #28343b;
}
.mainWrap h4 a::before, .mainWrap h5 a::before, .mainWrap h6 a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 2.1rem;
width: 2.5rem;
height: 100%;
background: url("./img/arrow2.png") 99% calc(50% + 1px) no-repeat;
background-size: 2.5rem 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: 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.0rem;
left: .2rem;
width: 1.2rem;
height: 1.5rem;
background: url(./img/ul_icon.png) 0 0 no-repeat;
background-size: 1.2rem auto;

}

.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.7rem;
height: 1.8rem;
background: #28343b;
text-align: center;
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: 4rem auto;
text-align: center;
}
.btn-internal a,
.btn-web a,
.btn-tel a{
position: relative;
top:0;
left: 0;
width: 40rem;
min-height: 7.6rem;
display: flex;
align-items: center;
justify-content: center;
padding: 1.2rem 7.0rem 1.4rem;
border-radius:9999px;
color: #292F33;
border: 2px solid #292F33;
box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
text-align: center;
line-height: 1.5;
font-size:1.6rem;
font-weight: 700;
transition: all .2s ease-in-out;
}
.btn-internal a::before,
.btn-web a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 1.8rem;
width: 2.5rem;
height: 100%;
background: url("./img/arrow1.png") 99% calc(50% + 1px) no-repeat;
background-size: 2.5rem auto;
transition: all .2s ease-in-out;
}
.btn-internal a::after,
.btn-web a::after{
}


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



.btn-web a{
color: #fff;
background: #00B35F;
border: none;
}
.btn-web a::before{
background: url("./img/arrow_out.png") 99% calc(50% - .1rem) no-repeat;
background-size: 2.5rem auto;
}

#fixNav .btn-web {
margin: 0 0 0 2rem;
}
#fixNav .btn-web a {
position: relative;
top: 0;
left: 0;
width: 27rem;
min-height: 6.2rem;
padding: 0;
display: flex;
}








.btn-tel{
display: none;
}
.btn-tel a{
background: #889bb4;
color: #fff;
border: none;
}
.btn-tel a::before{
content: "";
position: absolute;
top: 0;
left: 2.2rem;
width: 2.1rem;
height: 100%;
background: url(./img/ico_tel.png) 0 50% no-repeat;
background-size: 2.1rem auto;
}
.btn-tel a:hover{
}



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










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




.marker{
position: relative;
display: inline;
background: linear-gradient(transparent 65%, rgb(255 217 215) 0%) no-repeat bottom 0 left; 
/*border-bottom: 4px solid #ffb926;*/
/*background: linear-gradient(transparent 88%, #e76400 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:#df3c36;
	font-size: 1.5rem;
}


/* float-wrap */

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


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


.mokuji{
position: relative;
margin: 3rem 12rem 7rem;
}
.mokuji .inner {
    position: relative;
    padding: 1rem 4rem 3rem;
    background: url("./img/mokuji_bg.png") right 16px top -16px no-repeat;
    background-color: #fff;
    border: .1px solid #3d4a5c;
    background-size: 27%;
}
.mokuji .inner::before{
content: "INDEX";
position: absolute;
top: 2.3rem;
right: 4rem;
line-height: 4.8rem;
font-family: "poppins";
font-size:4.8rem;
color: #292f33;
opacity: .14;
	display:none;
}

.mokuji .sttl{
margin: 0 0 1rem;
padding: .8rem 0 1.4rem;
border-bottom: 1px solid #3d4a5c;
font-size:2.0rem;
}


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

.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;
background: none;
}
.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: 15px;
left: .1rem;
transform: translate(0,-60%);
background: none;
font-size:1.5rem;
font-weight: 700;
color: #292f33;
}

.mokuji li a{
display: inline-block;
width: auto;
padding: 4px 0 6px;
background: none;
font-weight: 700;
font-size:1.5rem;
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;
display: block;
will-change: height;
box-sizing: border-box;
}
.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(255, 255, 255, 0) 0%,
rgb(255, 255, 255, 1) 40%
);
border-radius:0 0 15px 15px;
cursor: pointer;
transition: bottom 0.2s;
transition: background 0.3s ease;
}
.mokuji .active{
background: none;
}
.mokuji .show_more2 span{
position: relative;
top: -3rem;
display: inline-block;
width: 15rem;
min-height: 4rem;
padding: .6rem 3rem .8rem;
background: url("./img/icon_plus.png") 90% calc(50% - 1px) no-repeat #fff;
background-size: 1.4rem auto;
border-radius:9999px;
border: 2px solid #7f7f7f;
text-align: center;
line-height: 1.5;
font-weight: 700;
font-size:1.6rem;
}
.mokuji .active span{
background: url(./img/icon_minus.png) 90% 50% no-repeat #fff;
background-size: 1.4rem auto;
}







/* relations_PC */
.relations{
position: relative;
margin: 7rem 12rem 0;
}
.relations .inner{
position: relative;
padding: 1rem 4rem 3rem;
background: url(./img/mokuji_bg.png) right 16px top -16px no-repeat;
background-color: #fff;
border: .1px solid #3d4a5c;
    background-size: 27%;
}

.relations .inner::before{
content: "LINKS";
position: absolute;
top: 2.3rem;
right: 4rem;
line-height: 4.8rem;
font-family: "poppins";
font-size: 4.8rem;
color: #292f33;
opacity: .14;
}

.relations .relations-title{
margin: 0 0 1rem;
padding: .8rem 0 1.4rem;
border-bottom: 1px solid #3d4a5c;
font-size: 2.0rem;
font-weight: 700;
line-height: 1.5;
}

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

.relations ul{
margin: 0;
}
.relations ul li{
position: relative;
margin: 0 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 3.5rem;
font-size:1.6rem;
text-decoration: none;
}

.relations li a::before{
content: "";
position: absolute;
z-index: 10;
top: 1.0rem;
left: .3rem;
width: 2rem;
height: 2.1rem;
background: url("./img/arrow1.png") 0 0 no-repeat;
background-size: 2rem auto;
}
.relations li a:hover::before{
}
.relations ul li a::after {
}
.relations ul li a:hover::after{
}
.relations li p{
margin: .8rem 0;
line-height: 1.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 2rem 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;
}


/* nutTtl_PC */
.nutTtl{
position: relative;
margin: 0 0 3.5rem;
padding: 1.4rem 7rem 1.6rem;
background: #28343b;
text-align: center;
line-height: 1.5;
font-size:2.4rem;
font-weight: 700;
color: #fff;
}

/* his_PC */
.his{
position: relative;
margin: 12rem 0 8rem;
background: #fff;
box-shadow: 0px 5px 13.16px 0.84px rgba(80, 80, 80, 0.2);
}

.his .ulBox{
padding: 1rem 5rem 1rem 8rem;
}
.his .liBox{
display: flex;
padding: 0 0 2.5rem;
}
.his .liBox::before{
content: "";
position: absolute;
top: 1rem;
left: -2.6rem;
width: .2rem;
height: 100%;
background: #f36460;
}
.his .liBox:last-child::before{
width: 0;
height: 0;
background: none;
border: none;
}

.his .sttl{
width: 9.0rem;
padding: 0 0 0 1.2rem 3.5rem;
font-size:1.8rem;
color: #f36460;
}
.his .sttl::before{
content: "";
position: absolute;
top: .2rem;
left: -3.5rem;
width: 2rem;
height: 2.5rem;
background: url(./img/his_icon.png) 0 0 no-repeat;
background-size: 2rem auto;
}

.his .txtArea{
padding: 0 0 0 3rem;
}

.his .txtArea .catch{
margin: 0 0 -0.8rem;
padding: 0;
background: none;
border: none;
font-size:2.0rem;
color: #292f33;
}







/* ckBox_PC */
.ckBox{
position: relative;
margin: 7rem 0 7rem;
background: #f4f5f7;
}
.ckBox .titArea{display: inline-block;width: auto;background: linear-gradient(to right, #F4774C 0%, #EB322D 100%);padding: 1rem 3rem;font-family: "poppins";font-size: 2.5rem;line-height: 1;color: #fff;}
.ckBox .txtArea{
position: relative;
padding: 2.5rem 5rem 1.9rem 5rem;
overflow: hidden;
}
.ckBox .txtArea .catch {margin: 0 0 -0.8rem;padding: 0;background: none;border: none;font-size: 3.0rem;color: #28343b;}

.ckBox .txtArea .float-wrap {
        margin: 4rem 0 2rem;
        padding: 0;
    }





/* intv_PC */
.intv {
	margin: 8rem auto 6rem;
	background: #f4f7f9;
	padding:4rem 4rem 3rem 28rem;
	position: relative;
}
.intv .nameBox {
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
	gap: 2rem;
}
.intv .nameBox .label {
	background: #fff;
	font-size: 1.6rem;
	text-align: center;
	font-weight: 900;
	line-height: 1.4;
	padding: 0.7rem 1.5rem;
}
.intv .nameBox .name {
	font-size: 1.6rem;
	font-weight: 900;
}
.intv .nameBox .name span {
	font-size: 1.8rem;
}
.intv .cclPic {
	position: absolute;
	top:0;
	left: -5rem;
	width: 28rem;
	height: 28rem;
	border-radius: 100%;
}
.intv .cclPic::before {
  content: "";
  position: absolute;
  top: -3rem;
  left: -4rem;
  width: 35rem;
  height: 35rem;
  background: url(./img/bg_circle_int.png) no-repeat center center;
  background-size: 100%;
  z-index: 1;
}
.intv .cclPic img {
	height: 23rem;
	width: 23rem;
	object-fit: cover;
	border-radius: 100%;
	position: absolute;
	top: 2.5rem;
	left: 2.5rem;
}
.intv .catch {
	font-size: 2rem;
	font-weight: 900;
	color: #EB322D;
	line-height: 1.6;
	margin-bottom: 2rem;
}


.intv .btn-internal{
    margin: 3.5rem auto 1rem;
}




/* qa_PC */
.parts_qa {
	margin: 2rem auto;
}
.parts_qa .qaBox {
	background: #f4f7f9;
	padding: 0 3rem;
	margin-bottom: 2rem;
}
.parts_qa .qaBox:last-child {
	margin-bottom: 0;
	background:#fff;
}
.parts_qa .qTit {
	font-size: 2rem;
	font-weight: 900;
	line-height: 1.6;
	position: relative;
	padding: 2rem 6rem 2rem 6rem;
	min-height: 7rem;
	display: flex;
	align-items: center;
	border: none;
}
.parts_qa .qTit.close {
}
.parts_qa .qTit:before {
	content: "Q";
	color: #CACFD4;
  font-family: "poppins", sans-serif;
	font-size: 4rem;
	font-weight: 900;
	position: absolute;
	top: 0.3rem;
	left: 1rem;
}
.parts_qa .aBox {
	position: relative;
	border-top: solid 1px #CACFD4;
	padding: 0 0 1rem 6rem;
}
.parts_qa p {	
	line-height: 2.1;
}
.parts_qa p:before {
	content: "A";
	color: #ffb6b3;
  font-family: "poppins", sans-serif;
	font-size: 4rem;
	font-weight: 900;
	position: absolute;
	top: -0.6rem;
	left: 1.2rem;
}



.sum {
    margin: 12rem 0 10rem;
    position: relative;
    z-index: 1;
    margin-left: 0;
    width: 100%;
    background: linear-gradient(to right, #fff4f0 0%, #ffd1d0 100%);
    padding: 4rem 50px 3rem;
    color: #fff;
    overflow: visible;
}
.sum::before, .sum::after {
display: none;
}
.sum .summary-label {
	position: absolute;top: -3.5rem;right: 83rem;font-family: "poppins", sans-serif;font-size: 4rem;font-weight: 300;line-height: 1;letter-spacing: 0.1em;color: #ffb3b1;opacity: 1;}
.sum-content-header {margin-bottom: 2rem;padding-left: 0;}
.sum-badge {display: inline-block;background: #fff;color: #eb322d;padding: 0.5rem 2rem;font-weight: 900;font-size: 1.8rem;margin-bottom: 2rem;}
.sum-main-catch {font-size: 2.6rem;font-weight: 700;line-height: 1.5;color: #292f33;}
.sum-separator {height: 1px;background: rgb(255 255 255);margin-left: calc(-1 * (100vw - 100%) / 2);width: calc(100% + (100vw - 100%) / 2);margin-bottom: 2.5rem;}
.sum-content-body {padding-left: 0;color: aliceblue;}
.sum .txtArea p {color: #292f33;font-size: 1.4rem;line-height: 1.8;padding-right: 0;}

.sum .btns {
justify-content: flex-start;
padding: 0;
}
.sum .btns > div {
width: 32rem;
margin: 0 2rem 0 0;
}









/* spv_PC */
.spv {
position: relative;
z-index: 1;
margin: 8rem 0 8rem -8rem ;
width: calc(100% + 8rem + (100vw - 100%) / 2);
padding: 7rem 0 6rem 8rem;
background: url("./img/sponsored_bg.jpg") no-repeat center right;
background-size: cover;
color: #fff;
border-radius: 0;
}
.spv::before, .spv::after, .spv .inner::before {
display: none;
}
.spv .txt_bold {
       color:#ffb1af;
}
.spv .inner {
width: 1044px;
margin: 0;
padding: 0;
}

.spv .sponsored-label {position: absolute;top: 3rem;left: 8rem;font-family: "poppins", sans-serif;font-size: 3rem;font-weight: 300;line-height: 1;letter-spacing: 0.05em;color: #889bb46b;}

.orange-badges {
display: flex;
flex-direction: column;
align-items: flex-start;
margin-bottom: 2rem;
}

.orange-badges .badge {
display: inline-block;
padding: 0.6rem 2rem 0.8rem;
font-size: 2.8rem;
font-weight: 700;
line-height: 1.2;
color: #fff;
background: linear-gradient(to right, #F4774C 0%, #EB322D 100%);
margin: 0;
}
.orange-badges {
display: flex;
flex-direction: column;
align-items: flex-start;
margin-bottom: 2.5rem;
}

.orange-badges .badge,
.orange-badges .badge-group {
margin: 0;
}
.orange-badges .badge-group {
display: inline-flex;
background: linear-gradient(to right, #F4774C 0%, #EB322D 100%);
width: fit-content;
}
.orange-badges .badge-group .badge {
background: transparent;
padding: 0.6rem 0 0.8rem;
}
.orange-badges .badge-group .badge:first-child { padding-left: 2rem; }
.orange-badges .badge-group .badge:last-child { padding-right: 2rem; }

.supervision-line {
display: flex;
align-items: baseline;
gap: 1.5rem;
margin-bottom: 3.5rem;
}
.supervision-line .label {
font-size: 1.6rem;
border-bottom: 1px solid #fff;
}
.supervision-line .company {
font-size: 3.2rem;
font-weight: 700;
}
.spv .txtArea {
max-width: 810px;
margin-bottom: 4rem;
background: transparent;
padding: 0 ;
}
.spv .txtArea p {
color: #fff;
margin: 0;
}
.spv .btns {
display: flex;
justify-content: flex-start;
padding: 0;
width: 100%;
}
.spv .btns > div {
width: 36rem;
margin: 0 3rem 0 0;
}
.spv .spv-btn-white a {
background: #fff;
color: #292f33;
}
.spv .spv-btn-white a::before {
background: url("./img/arr_ccl_red_right.png") no-repeat center right;
background-size: 2.5rem auto;
}
.spv .spv-btn-green a {
background: #00B35F;
border: none;
color: #fff;
}





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

.aboutWrap {
  width: 100%;
  padding: 8rem 0 0;
  background:#1e282f;
}
.about{
position: relative;
z-index: 15;
width: 110rem;
margin: 0 auto;
}

.about .fontEng{
display: block;
margin: 0 2rem 0 0;
vertical-align: middle;
font-size:2.0rem;
color: #F36460;
}

.about .inner{
position: relative;
margin: 0 0 0;
padding: 5rem 5rem 4rem 0;
background: #F4F7F9;
display: flex;
flex-direction: row-reverse;
align-items: center;
justify-content: space-between;
}
.about .inner::before{
content: "";
position: absolute;
top: 0;
left: -100vw;
width: 100vw;
height: 100%;
background: #F4F7F9;
}

.about .logo{
position: static;
width: 77.5rem ;
margin-left: 5rem;
}

.about .logo .logoImg{
margin: 0 0 .5rem;
}
.about .logo .sps{
font-size:1.2rem;
}

.about .catch{
margin: 0 0 .5rem;
font-size:2.0rem;
}
.about .txtArea{
margin: 0 0 0 0;
}

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

/* 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{
min-width: 320px;
text-align:left;
line-height:1.9;
font-size:1.5em;
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% */



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





/*--------------------------------------
　header_SP
---------------------------------------*/
#header{
position: relative;
z-index: 14;
height: auto;
padding: 0;
}
#header .h1Name {
  padding: 0;
}
#header .siteName{
width: 100%;
margin: 0 auto;
padding: 0.5rem 3% 0.7rem;
font-size: 1.1rem;
}
#header .siteName a{
font-size: 1.1rem;
}

#header .logoBox {
display: block;
align-items: center;
gap: 0;
padding: 0;
height: auto;
}

#header .logo{
display: flex;
align-items: center;
position: relative;
width: 100%;
height: 6.6rem;
margin: 0;
padding: 0.5rem 3%;
border-bottom: 1px solid #ccd1d5;
}
#header .logo a{
display: block;
width: 13rem;
margin: 0 0 .5rem;
}
#header .logo img{
width: 100%;
}


.mv_lower {
background: url(img/mv_lower_grad.png) no-repeat bottom center, url(img/mv_lower.jpg) no-repeat top center;
background-size: cover, cover;
min-height: initial;
min-height: auto;
position: relative;
display: flex;
flex-direction: column;
}

.mv .h1Inr {
flex: 1;
width: 100%;
margin: 0 auto;
padding: 3.5rem 0 3.5rem;
display: flex;
align-items: center;
justify-content: center;
}

.byArea {
  width: 100%;
  padding: 0 5%;
}



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

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

.mainWrap {
position: relative;
z-index: 1;
padding: 0 0 5rem;
min-height: 50rem;
}


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









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

#pankuzuWrap{
overflow: auto;
white-space: nowrap;
margin: 0 0 3rem;
padding: 10px 5% 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: 10000;
bottom: 2px;
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: 0;
right: 0;
z-index: 10000;


transition: .3s;
/*デフォルトで非表示にする*/
opacity: 0;
visibility: hidden;
}
/*このクラスが付与されると表示する*/
#gNav.active{
opacity: 1;
visibility: visible;
}
_::-webkit-full-page-media, _:future, :root #gNav{
top: 1rem;
}

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

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

#gNav button{
position: relative;
top:0;
width: 6rem;
height: 6.6rem;
background: #2b353c;
transition: .3s all;
}

#gNav button span{
position: absolute;
left: 25%;
width: 50%;
height: 1px;
background-color: #fff;
transition: .3s all;
}
#gNav button span:nth-child(1){
top:42%;
}
#gNav button span:nth-child(2){
top:calc(42% + 1.0rem);
}



#gNav button.active span:nth-child(1){
  transform: translateY(5px) rotate(-45deg);
}
#gNav button.active span:nth-child(2){
  transform: translateY(-5px) rotate(45deg);
}





/* 展開内容 */

#gNav .cbp-spmenu {
position: fixed;
margin: 0 0 0;
padding: 6.6rem 0 0;
background: #2b353c;
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: 0rem 0 7rem;
height: 100%;
}

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

#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/arrow1_wt.png) calc(100% - 1.8rem) 50% no-repeat;
background-size: 1.9rem auto;
}

#gNav .cbp-spmenu .sttl.tglMenu a {
background: none;
}
#gNav .cbp-spmenu .sttl.tglMenu a::before {
content: '';
display: inline-block;
width: 1.5rem;
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.5rem;
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/arrow1_wt.png) calc(100% - 1.8rem) 50% no-repeat;
background-size: 1.9rem auto;
}
#gNav .cbp-spmenu .subList a{
padding: 14px 10% 14px calc(5% + 2em);
font-weight: 400;
}

#gNav .cbp-spmenu li a {
position: relative;
background: url(./img/arrow1_wt.png) calc(100% - 1.8rem) 50% no-repeat #525c6c;
background-size: 1.9rem auto;
padding: 14px 10% 14px calc(5% + 1em);
font-weight: 400;
}

#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;
}







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

#fixNav_sp {
position: fixed;
z-index: 1001;
bottom: 0;
left: 0;
width: 100%;
height: 6rem;

transition: .3s;
opacity: 0;
visibility: hidden;
}
#fixNav_sp.active{
opacity: 1;
visibility: visible;
}
#fixNav_sp .btn-web {
/*width: calc(100% - 5% - 7rem);*/
width: 27rem;
        margin: 0 !important;
        position: absolute;
        left: 0;
        bottom: 0;
}
#fixNav_sp .btn-web a {
font-size: 1.2rem;
min-height: 5.8rem;
padding: 5px 40px 5px 15px;
border-radius: 3rem 3rem 0 0;
}
#fixNav_sp .btn-web a::before {
background: url(./img/arrow_out.png) right center no-repeat;
background-size: 1.9rem auto;
}

#fixNav_sp_top{
position: fixed;
z-index: 1001;
top: 0;
right: 0;
width: 100%;
height: 6.6rem;
background: #f0f3f6;
transition: .3s;
opacity: 0;
visibility: hidden;
}
#fixNav_sp_top.active{
opacity: 1;
visibility: visible;
}
#fixNav_sp_top.absolute{
/*opacity: 0;
visibility: hidden;*/
}


#fixNav .logoArea {
  display: none;
}

#fixNav_sp_top .btnArea{
position: absolute;
top: .5rem;
left: 0;
display: flex;
width: 85%;
padding: 0 2%;
justify-content:flex-start;
align-items: center;
text-align: left;
}
#fixNav_sp_top .btnArea a{
display: inline-block;
height: 100%;
margin: 0 0;
padding:1rem 3% 1rem;
font-size:1.0rem;
font-weight: 700;
line-height: 1.5;
letter-spacing: -0.03em;
text-align: center;
border-left: 1px solid #B4B4B4;
}
#fixNav_sp_top .btnArea a:first-child {
  border: none;
}

/*--------------------------------------
　h1Area_SP
---------------------------------------*/
.h1Area{
position: relative;
z-index: 2;
margin: 0 auto 0;
width: 100%;
}

.h1Area h1{
position: relative;
padding: 0 5%;
font-size:2.4rem;

}
.h1Area h1::after{
width: 0;
height: 0;
background: none;
border: none;
}

.h1Area .headNote{
}





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

footer a:hover {
  text-decoration: none;
  opacity: 1;
}
footer {
  width: 100%;
  padding: 0 0 100px;
  margin: 0;
  position: relative;
}
footer .ftWrap {
  padding: 3rem 0 0;
}
footer .areaInner {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  border-top: 1px solid #fff;
}
footer .logo a {
  display: block;
}
footer .logo a:hover {
  opacity: 1;
}
footer .areaInner .footBox {
  margin: 0;
}
footer .areaInner .footBox:first-of-type {
  /*border-top: solid 1px rgba(0,0,0,0.5);*/
}
footer .areaInner .footBox .sttl {
  border-bottom: solid 1px #d2d4d8;
}
footer .areaInner .footBox .sttl a {
  display: block;
  font-size: 1.5rem;
  background: #202a3a;
  padding: 15px 40px 14px 4%;
  line-height: 1.5;
  font-weight: 700;
  position: relative;
}
footer .areaInner .footBox .sttl a::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  position: absolute;
  right: 4%;
  top: calc(50% - 6px);
  border-right: 1px solid white;
  border-bottom: 1px solid white;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  -o-transition: transform 0.3s ease;
}
footer .areaInner .footBox .sttl.tglMenu a {
  background: #202a3a;
  padding: 15px 40px 14px 4%;
}
footer .areaInner .footBox .sttl a:hover {
  text-decoration: none;
  opacity: 1;
}
footer .areaInner .footBox .sttl.open a {
  background: #202a3a;
}
footer .areaInner .footBox .sttl.open a::after {
  -webkit-transform: rotate(225deg);
  -ms-transform: rotate(225deg);
  transform: rotate(225deg);
  top: calc(50% - 2px);
}
footer .areaInner .footBox .sttl.open a.is-active::after {
}
footer .areaInner .footBox .sttl.sitemap a::after {
  content: "";
  width: 7px;
  height: 7px;
  position: absolute;
  right: 4%;
  top: 50%;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  border-bottom: none;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
footer .areaInner .footBox .sttl {
  padding: 0;
  margin: 0;
}
footer .areaInner .footBox .accChild {
  display: none;
  padding: 0;
  margin: 0;
  /*background: #fff;*/
}
footer .areaInner .footBox .accChild li {
  float: none;
  padding: 0;
  background: none;
  margin: 0;
  display: block;
  width: 100%;
}
footer .areaInner .footBox .accChild .sp {
  display: block;
}
/*footer .areaInner .footBox .accChild .sp a {
   padding: 14px 40px 14px 4%;
}*/
footer .areaInner .footBox .accChild li a {
  display: block;
  background: #525c6c;
  color: #fff;
  border-bottom: solid 1px #d2d4d8;
  padding: 14px 30px 14px 5%;
  font-size: 1.3rem;
  text-decoration: none;
  position: relative;
}
footer .areaInner .footBox .accChild li a::after {
  content: "";
  width: 7px;
  height: 7px;
  position: absolute;
  right: 4%;
  top: 50%;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
footer .areaInner .footBox .accChild li:last-child a {
  /*border-bottom: none;*/
}
footer .areaInner .footBox .accChild li a:hover {
  text-decoration: none;
}
footer .areaInner .footBox .accChild .subCat li a {
  background: #fff;
  color: #fff;
  position: relative;
}
footer .areaInner .footBox .accChild .subCat li a::after {
  content: "";
  width: 7px;
  height: 7px;
  position: absolute;
  right: 4%;
  top: calc(50% - 6px);
  border-top: 1px solid #1d1d1d;
  border-right: 1px solid #1d1d1d;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
footer .areaInner .footBox .accChild li.subCat {
  /*border-top: solid 1px #bbc6ce;*/
}
footer .areaInner .footBox .accChild li.subCat a {
  padding: 14px 40px 14px 4%;
}
footer .areaInner .footBox .accChild li.subCat:last-child a {
  /*border-bottom: none;*/
}
footer .areaInner .footBox .accChild li.subCat:last-child .subList:last-child a {
  /*border-bottom: none;*/
}
footer .areaInner .footBox .accChild .subList {
  padding: 0;
  margin: 0;
  float: none;
  display: block;
}
footer .areaInner .footBox .accChild .subList li {
  margin: 0;
  width: 100%;
  display: block;
  padding: 0;
}
footer .areaInner .footBox .accChild .subList li a {
  padding: 14px 40px 14px 6%;
  font-size: 1.2rem;
}
footer .areaInner .footBox .accChild .subList li a:before {
  /*content: "└";
  color: #b4965c;*/
  padding: 0 0.5rem 0 0;
}
footer .areaInner .footBox .accChild li:after {
  content: none;
}
footer .areaInner .footBox .accChild li:last-child:after {
  content: none;
}
footer .areaInner .footBox .accChild .subList li::after {
  content: none;
}
footer .areaInner .footBox .accChild .subList li:first-child::before {
  content: none;
}
footer .areaInner .footBox .accChild .subList li::before {
  content: none;
}
footer .areaInner .noticeArea {
  width: 85%;
  margin: 30px auto 20px;
  padding: 13px 15px 15px;
  font-size: 1.1rem;
  line-height: 1.8em;
}
footer .areaInner .noticeArea p {
  font-size: 1.1rem;
  text-align: left;
  font-weight: normal;
}
footer .areaInner .botPrg {
  font-size: 1rem;
  line-height: 1.4;
  margin: 0 0 30px;
  text-align: center;
}
footer .botArea {
  padding: 0 4%;
}
footer p.copy {
  margin: 0;
  padding: 0;
  font-size: 1rem;
  line-height: 1.6;
  text-align: center;
  float: none;
  display: block;
}
footer p.copy a {
}
footer p.copy a:hover {
  text-decoration: underline;
}
footer a {
  text-decoration: none;
}
footer .botArea .botInner {
  width: 100%;
  margin: 0 auto;
  padding: 1rem 0;
}
footer .twoColBox {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  margin: 0;
}
footer .twoColBox .logoBox {
  width: 100%;
  padding: 0 2rem;
  margin-bottom: 1rem;
}
footer .twoColBox .logoBox a:hover {
  opacity: 1;
}
footer .twoColBox .logoBox .logoBox {
  padding: 0;
}
footer .twoColBox .logoBox .logo {
  width: 23.3rem;
}
footer .twoColBox .notice {
  font-size: 1.1rem;
  line-height: 1.8;
  margin: 0 0 1.5rem;
  letter-spacing: normal;
}
footer .twoColBox .colBox {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}




/* ================== */
/*  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;
        margin: 1rem 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: 1.5rem 5% 1.7rem 7.5%;
background: url("./img/h2_bg.png") 0.5rem center no-repeat;
background-size: 6em auto;
font-size:2.3rem;
}

.mainWrap h2 a{
position: relative;
display: block;
padding: 0 10% 0 0;
color: #fff;
}
.mainWrap h2 a::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 2.4rem;
height: 100%;
background: url("./img/arrow1_wt.png") 99% calc(50% + 0px) no-repeat;
background-size: 2.4rem 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: 3rem 5% 2rem;
padding: 1.2rem 3% 1.2rem 5%;
border-bottom: 2px solid rgba(0,0,0,.5);
font-size:2.0rem;
}

.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: 0;
width: 2.0rem;
height: 100%;
background: url("./img/arrow2.png") 99% calc(50% + 0px) no-repeat;
background-size: 2.0rem 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: 2rem 5%;
padding: 1rem 3% 1rem 3%;
font-size:1.8rem;
color: #28343b;
}
.mainWrap h5::before, .mainWrap h6::before{
}
.mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
position: relative;
display: block;
padding: 0 8% 0 0;
color: #28343b;
}
.mainWrap h4 a::before, .mainWrap h5 a::before, .mainWrap h6 a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 0;
width: 1.8rem;
height: 100%;
background: url("./img/arrow2.png") 99% calc(50% + .18rem) no-repeat;
background-size: 1.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 2.1rem;
}
.mainWrap ul li::before,
.index ul li::before{
position: absolute;
content: "";
top: .7rem;
left: .3rem;
width: 1.1rem;
height: 1.5rem;
background: url(./img/ul_icon.png) 0 0 no-repeat;
background-size: 1.1rem auto;
}


.mainWrap ol {
margin: 1.5em 4% 1.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.6rem;
height: 1.8rem;
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.0rem 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;
margin: 0 0 0 0;
padding: 1.2rem 14% 1.4rem;
border-radius:9999px;
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;
transition: all .2s ease-in-out;
}

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




.btn-internal a{
}


.btn-web a{
}
.btn-web a::before{
background-image: url("./img/arrow_out.png");
background-size: 1.9rem auto;
}


.btn-internal a:hover,
.btn-web a:hover{
opacity: 1;
}




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

.btn-tel a:hover{
opacity: 1;
}



.btn-link{
margin: .2rem 5%;
text-align: right;
}
.btn-link a{
position: relative;
display: inline-block;
padding: 1.2rem 2.5rem 1.3rem 0;
background: url("./img/arrow1.png") 100% calc(50% - 0rem) no-repeat;
background-size: 2.0rem auto;
line-height: 1.5;
text-align: right;
font-weight: 700;
}




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

table{
width: 88%;
margin:3rem auto;
border-bottom: 2px solid #ccc;
}
table th {
width: 100%;
display: block;
padding: 1.5rem 2rem;
border-bottom: none;
line-height: 1.3;
text-align: center;
border: 1px solid #889bb4;
}
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% - 40px);
left: calc(50% - 60px);
}




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

.mokuji .inner{
position: relative;
padding: 1rem 5% 0;
background: url(./img/mokuji_bg.png) right 15px top -20px no-repeat;
background-size: 160px auto;
}

.mokuji .inner::before{
content: "INDEX";
position: absolute;
top: 2.5rem;
right: 5%;
line-height: 4.0rem;
font-family: "poppins";
font-size:4.0rem;
}

.mokuji .sttl{
margin: 0 0 .6rem;
padding: .6rem 0 1.6rem;
border-bottom:1px solid #3d4a5c78;
font-size:1.8rem;
}


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

.mokuji li a{
display: inline-block;
width: auto;
padding: 4px 0 6px;
background: none;
font-weight: 700;
font-size:1.7rem;
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: 160px;
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(255, 255, 255, 0) 0%,
rgb(255, 255, 255, 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: 45%;
min-height: 4rem;
padding: .6rem 10% .7rem;
background: url(./img/icon_plus.png) 90% calc(50% - 1px) no-repeat #fff;
background-size: 1.3rem auto;
border-radius:9999px;
border: 2px solid #7f7f7f;
text-align: center;
line-height: 1.5;
font-weight: 700;
font-size:1.5rem;
}
.mokuji .active span{
background: url(./img/icon_minus.png) 90% 50% no-repeat #fff;
background-size: 1.3rem auto;
}








/* relations_SP */
.relations{
position: relative;
width: auto;
margin: 6rem 5% 3rem;
}

.relations .inner{
position: relative;
padding: 1rem 5% 0;
background: url(./img/mokuji_bg.png) right 15px top -20px no-repeat;
background-size: 160px auto;
}

.relations .inner::before{
content: "Article";
position: absolute;
top: 2.5rem;
right: 5%;
line-height: 4.0rem;
font-family: "poppins";
font-size: 4.0rem;
}


.relations .relations-title{
position: relative;
margin: 0 0 .6rem;
padding: .6rem 0 1.6rem;
border-bottom: 2px solid rgba(127, 127, 127, .16);
font-size:1.8rem;
}


.relations .relations-wrapper{
position: relative;
padding: 0 0 2rem;
}

.relations ul{
margin:0;
}
.relations ul li{
position: relative;
margin: 0 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 10%;
background: none;
font-size:1.5rem;
text-decoration: none;
}
.relations li a::before{
content: "";
position: absolute;
z-index: 10;
top: .9rem;
left: 0;
width: 2.0rem;
height: 2.0rem;
background: url("./img/arrow2.png") 0 0 no-repeat;
background-size: 2.0rem auto;
}
.relations li p{
margin: .4rem 0;
line-height: 1.7;
}



/* 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;
}



/* nutTtl_PC */
.nutTtl{
position: relative;
margin: 0 0 1.5rem;
padding: 1.2rem 10% 1.4rem;
text-align: center;
line-height: 1.5;
font-size:2.0rem;
font-weight: 700;
color: #fff;
}

/* his_PC */
.his{
position: relative;
margin: 6rem 5% 10rem;
}

.his .ulBox{
padding: .5rem 5% 1rem 2%;
}
.his .liBox{
display: block;
padding: 0 0 2.0rem;
}
.his .liBox::before{
content: "";
position: absolute;
top: 1rem;
left: 1.1rem;
width: .2rem;
height: 100%;
}
.his .liBox:last-child::before{
width: 0;
height: 0;
background: none;
border: none;
}

.his .sttl{
width: auto;
padding: 0 0 0 2.5rem;
font-size:1.7rem;
}
.his .sttl::before{
content: "";
position: absolute;
top: .4rem;
left: .5rem;
width: 1.5rem;
height: 2.5rem;
background: url(./img/his_icon.png) 0 0 no-repeat;
background-size: 1.5rem auto;
}

.his .txtArea{
padding: 0 0 0 2.5rem;
}

.his .txtArea .catch{
margin: 0 0 .5rem;
padding: 0;
background: none;
border: none;
font-size:1.9rem;
}



/* accordion_grd */
/*
.his .text {
height: 250px;
overflow: hidden;
}
*/
.his .show_more3 {
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(244, 245, 247, 0) 0%,
rgb(244, 245, 247, 1) 60%
);
cursor: pointer;
transition: bottom 0.2s;
}
.his .active{
background: none;
}
.his .show_more3 span{
position: relative;
top: -2.5rem;
display: inline-block;
width: 45%;
min-height: 4rem;
padding: .6rem 10% .7rem;
background: url(./img/icon_plus.png) 90% calc(50% - 1px) no-repeat #fff;
background-size: 1.3rem auto;
border-radius:9999px;
border: 2px solid #7f7f7f;
text-align: center;
line-height: 1.5;
font-weight: 700;
font-size:1.5rem;
}
.his .active span{
background: url(./img/icon_minus.png) 90% 50% no-repeat #fff;
background-size: 1.3rem auto;
}









.ckBox{
position: relative;
margin: 6rem 0 5rem 5%;
}
.ckBox::before{
width: 0;
height: 0;
background: none;
border: none;
}
.ckBox .titArea {
display: inline-block;
width: auto;
padding: 1rem 3rem;
font-size: 1.6rem;
line-height: 1;
color: #fff;
}
.ckBox .txtArea{
position: relative;
padding: 2.5rem 5% 1.9rem;
overflow: hidden;
}
.ckBox .txtArea .catch{
margin: 0 0 .5rem;
padding: 0;
background: none;
border: none;
font-size: 1.9rem;
}

.ckBox .txtArea .float-wrap {
        margin: 2.5rem 0 1rem;
    }





/* intv_SP */
.intv {
	margin: 7rem 5% 5rem;
	background: #f4f7f9;
	padding: 0 5% 3rem;
	position: relative;
}
.intv .nameBox {
	display: block;
	align-items: center;
	margin-top: 2rem;
	margin-bottom: 2rem;
	gap: 2rem;
}
.intv .nameBox .label {
  display: inline-block;
	background: #fff;
	font-size: 1.6rem;
	text-align: center;
	font-weight: 900;
	line-height: 1.4;
	padding: 0.7rem 1.5rem;
  margin: 0 1rem 0 0;
}
.intv .nameBox .name {
  display: inline-block;
	font-size: 1.6rem;
	font-weight: 900;
}
.intv .nameBox .name span {
	font-size: 1.8rem;
}
.intv .cclPic {
	position: relative;
	top: -3rem;
	left: calc(50% - 13.5rem);
	width: 27rem;
  height: 27rem;
  border-radius: 100%;
}
.intv .cclPic::before {
  content: "";
  position: absolute;
  top: -8.5rem;
        left: 50%;
        transform: translateX(-50%);
        width: 32rem;
  height: 32em;
  background: url(./img/bg_circle.png) no-repeat center center;
  background-size: 100%;
  z-index: 1;
}
.intv .cclPic img {
height: 20rem;
        width: 20rem;
        left: 50%;
        transform: translateX(-50%);
        object-fit: cover;
        border-radius: 100%;
        position: absolute;
        top: 5.5rem;
}
.intv .catch {
	font-size: 1.8rem;
	font-weight: 900;
	color: #EB322D;
	line-height: 1.6;
	margin-bottom: 2rem;
}







/* qa_PC */
.parts_qa {
	margin: 2rem 5%;
}
.parts_qa .qaBox {
	padding: 0 0;
	margin-bottom: 2rem;
}
.parts_qa .qaBox:last-child {
	margin-bottom: 0;
}
.parts_qa .qTit {
	font-size: 1.8rem;
	font-weight: 900;
	line-height: 1.6;
	position: relative;
	padding: 2rem 0 2rem 6rem;
	min-height: 7rem;
	display: flex;
	align-items: center;
	border: none;
	cursor: pointer;
	transition: all 0.4s;
}
.parts_qa .qTit:hover {
	opacity: 0.6;
}
.parts_qa .qTit.close {
}
.parts_qa .qTit:before {
	content: "Q";
	font-size: 3.6rem;
	font-weight: 900;
	position: absolute;
	top: 0.4rem;
	left: 1rem;
}
.parts_qa .aBox {
	position: relative;
	padding: 0 0 1rem 6rem;
}
.parts_qa p {	
	line-height: 2.1;
}
.parts_qa p:before {
	content: "A";
	font-size: 3.6rem;
	font-weight: 900;
	position: absolute;
	top: -0.8rem;
	left: 1.2rem;
}







/* sum_SP */
.sum {
width: 100%;
 margin: 5rem 0 5rem -5%;
padding: 4rem 5% 4rem 10%;
border-radius: 0;
}
.sum .summary-label {
font-size: 2.4rem;
top: -2rem;
right: 0;
}
.sum-separator {
margin-left: -5%;
width: calc(100% + 5%);
}
.sum-badge {
padding: 0.5rem 1.5rem;
font-weight: 900;
font-size: 1.6rem;
margin-bottom: 1.5rem;
}
.sum-main-catch {
font-size: 2.2rem;
}
.sum .btns {
flex-direction: column;
}
.sum .btns > div {
width: 100%;
margin-bottom: 2rem;
}









.spv {
margin: 6rem 0 5rem 0;
width: 100vw;
left: calc(50% - 50vw);
padding: 4rem 5% 3rem;
}
.spv .sponsored-label {
font-size: 2.4rem;
top: -2rem;
left: 5%;
}
.spv .inner { width: 100%; }
.orange-badges .badge { font-size: 1.8rem; }
.supervision-line .company { font-size: 2.2rem; }
.spv-content-body { max-width: 100%; }
.spv .btns { flex-direction: column; width: 85%;
        text-align: center;
        margin: auto;}
.spv .btns > div { width: 100%; margin: 0 0 2rem 0; }
/* バッジを3段にする設定 */
.orange-badges .badge-group {
display: flex;
flex-direction: column;
background: none;
width: 100%;
}
.orange-badges .badge,
.orange-badges .badge-group .badge {
display: block;
width: fit-content; /* 各行のテキスト幅に合わせる */
background: linear-gradient(to right, #F4774C 0%, #EB322D 100%);
padding: 0.6rem 1.5rem 0.7rem ;
font-size: 2rem;
}
.orange-badges .badge-group .badge:first-child {
  padding-left: 1.5rem;
}




/*--------------------------------------
　about_SP
---------------------------------------*/
.aboutWrap {
  width: 100%;
  padding: 6rem 0 4rem;
  background: #202a3a;
}
.about{
position: relative;
z-index: 15;
width: auto;
margin: 0 5% 0 0;
}

.about .fontEng{
display: block;
margin: 0 2rem 1rem 0;
vertical-align: middle;
font-size:2.0rem;
color: #F36460;
}

.about .inner{
position: relative;
margin: 0 0 0;
padding: 4rem 5% 3rem;
background: #F4F7F9;
display: block;
}
.about .inner::before{
content: "";
position: absolute;
top: 0;
width: 100vw;
height: 100%;
background: #F4F7F9;
}

.about .logo{
position: static;
width: fit-content;
margin: 0 auto 2rem;
display: block;
}
.about .logo .logoImg{
width: 23.0rem;
margin: 0;
}
.about .logo .sps{
text-align: center;
font-size:1.2rem;
}

.about .catch{
margin: 0 0 .5rem;
font-size:1.9rem;
}
.about .txtArea{
margin: 0 0 0;
}

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

}
/* End_SP */



.splide {
  margin: 8rem auto;
}

.splide__slide {
  opacity: 0.7;
}
.splide__slide.is-active {
  opacity: 1;
}
.splide__slide p {
  width: 100%;
  margin: 1rem auto 0;
  text-align: center;
}
.splide__slide .btn-internal{
    margin: 3.5rem auto 1rem;
}
@media screen and (max-width: 480px) {
	.splide {
    margin: 5rem auto;
}
}
.lower-slider .splide__track {
  overflow: visible;
}

.lower-slider__navi {
width: 100% !important; /* 幅をいっぱいにする */
  max-width: none !important;
  display: flex;
  justify-content: center;
  margin: 2rem auto;
  position: relative;
}

.lower-slider__navi--mv {
  margin: 3rem auto;
}

.lower-slider__navi .splide__pagination {
  gap: 1rem 1.6rem;
  position: static !important; /* 絶対配置を解除して中央寄せを活かす */
  width: auto !important;
  display: flex !important;
  justify-content: center !important;
  pointer-events: auto;
}
.lower-slider__navi .splide__pagination__page {
  width: 1.1rem;
  height: 1.1rem;
  background: #d9d9d9;
  border-radius: 100%;
  cursor: pointer;
	margin: 0 0.5rem;
  transition: opacity 0.6s;
}
.lower-slider__navi .splide__pagination__page.is-active {
  background-color:#F36460;
  cursor: default;
}

.lower-slider__arrows {
  height: 0; 
  
  /* 幅はスライドの横幅に合わせて調整 */
  width: 62% !important; 
  
  margin: 0 auto;
  position: absolute;
  top: 42%; /* 親要素の高さの中央 */
  left: 0;
  right: 0;
  z-index: 10;
  pointer-events: none;
  
  /* これで「高さ0の線」が画像の中央に重なり、そこに矢印がぶら下がります */
  transform: translateY(-50%) !important; 
}
.lower-slider__arrows .splide__arrow {
  /* 矢印自体の top は 0 ではなく中心（中央）にする */
  top: 50%;
  transform: translateY(-50%);
  width: 5rem;
  height: 5rem;
  background: no-repeat center / contain;
  cursor: pointer;
  position: absolute;
  transition: opacity 0.6s;
  pointer-events: auto;
}

.lower-slider__arrows .splide__arrow--prev {
  background-image: url("img/arrow1.png");
	transform: scaleX(-1);
	left: -60px;
	top: -60px;
}

.lower-slider__arrows .splide__arrow--next {
  background-image: url("img/arrow1.png");
	transform: scaleX(1);
	right: -60px;
	top: -60px;
}
.mainWrap .lower-slider ul li{
  position: relative;
  padding: 0;
}
.mainWrap .lower-slider ul li::before {
    background: none;
}

@media (hover: hover) {
  .lower-slider__arrows .splide__arrow:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 480px) {
	.lower-slider__arrows .splide__arrow {
        width: 3.2rem;
        height: 3.2rem;
    }
	.lower-slider__arrows {
    height: 0;
    width: 57% !important;
    top: 29%;
}
	.lower-slider__navi .splide__pagination {
    gap: 0.5rem;
}
	.lower-slider__navi .splide__pagination__page {
    width: 0.9rem;
    height: 0.9rem;
}
	}





