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

/*----------------------------*/
.page_tit_wrap.pattern01{
background: url('../images/parent/title_img.webp');
	
}
.page_tit_wrap.pattern01 .page_tit::before{
width: calc(50vw + 50%);
        right: 23.5%;
}
.page_tit_wrap.pattern01 .page_tit h2.page_title span{
	        font-size: 0.85em;
}


:where(figure){
	margin-bottom: 0em !important;
}
:where(.wp-block-columns){
	margin-bottom: 0em !important;
	
}

section p{
	letter-spacing: 0.1em;
	color: #333;
}
/*----------------------------*/
section.wp-block-group {

        padding: 0px 1.56em;/**/
}
section.wp-block-group .wp-block-group__inner-container{
	        width: 100%;
        max-width: 1000px;
        /*padding: 0px 25px;*/
        margin: 0 auto;
        box-sizing: border-box;
}

section.wp-block-group:nth-of-type(odd){

	background-size: 100vw; 
	        background-repeat: no-repeat;
}
section#nav01{
	background-image: url("../images/parent/bg_sec_02.webp"),url("../images/parent/bg_sec_od.webp");
	background-position: left 0.53em, left bottom;
}
section#nav03{
	background-image: url("../images/parent/bg_sec_od.webp");
	background-position: center top -0.63em;
	
}
section.wp-block-group:nth-of-type(even){
background-color: #f0f5f7;	
	background-image: url("../images/parent/bg_sec.webp");
	background-size: 101.41vw;
	background-position: left 0.53em;
	        background-repeat: no-repeat;
}
/*----------------------------*/


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


    .catch_b {
        font-size: 2.06em;
        text-align: center;
    }
.info_greet > div{
	display: flex;
	        align-items: center;
	position: relative;
	column-gap: 3.56em;
		z-index: 0;
}
.info_greet > div::before,.info_greet > div::after{
	content: "";
	position: absolute;
	
}
.info_greet > div::before{
	width: 101.35vw;
	height: 17.19em;
	background-image: linear-gradient(90deg, rgba(242, 142, 30, 1) 24%, rgba(63, 186, 183, 1) 51%, rgba(53, 145, 208, 1) 82%);
	top: 6.25em;
	        left: 50%;
        transform: translateX(-50%);
	z-index: -1;
}
.info_greet > div::after{
	width: 12.18em;
	height: 10.12em;
	background-image:url("../images/parent/mamorukun.webp");
	/**/bottom:0;
	right: 0;
	transform: translateX(0.25em) translateY(0);
	background-size: 100%;
}
.info_greet img{
	      width: 41.87em;
}
.info_greet .info_txt{
	        margin-top: -1.56em;
}

.info_greet .info_title{
	color: #fff;
	font-size: 1.56em;
	        font-weight: 600;
}
.info_greet .info_name{
	color: #fff;	
	font-size: 1.88em;
	margin-top: 0.83em;
	        font-weight: 600;
}

#nav01 .txt{
	line-height: 2.18;
	        text-align: justify;
}
/*----------------------------*/

#nav02 .wp-block-group__inner-container .points{
	margin-top: 5.38em;
}
#nav02 .wp-block-group__inner-container .points.mt-0{
	margin-top: 0;
}
#nav02 .point_midashi .wp-block-group__inner-container{
	display: flex;
	        align-items: baseline;
	        border-bottom: 3px solid #026a9e;
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-weight: 500;
        font-size: 1.93em;
	            line-height: 1.2;
	        letter-spacing: 0.05em;
	gap:0 1.41em;
	
}
#nav02 .point_midashi .wp-block-group__inner-container .josefin-sans{
	font-size: 1.40em;
	letter-spacing: 0.1em;
	
}
#nav02 .point_midashi .wp-block-group__inner-container .josefin-sans::first-letter{
	color: #f28e1e;
	
}


#nav02 .wp-block-columns-is-layout-flex{
	margin-top: 2.19em;
}
#nav02 .wp-block-columns-is-layout-flex p{
    line-height: 1.75em;
	text-align: justify;
	letter-spacing: 0.05em;
}
#nav02 .wp-block-columns-is-layout-flex  p.catch_m {
        font-size: 1.63em;
        line-height: 1.65em;
    }

#nav02 .wp-block-columns-is-layout-flex div{
	
flex-basis: unset;
        flex-grow: unset;
}
#nav02 .wp-block-columns-is-layout-flex div:first-of-type{
	width:32.38em ;
		flex-shrink: 0;
}

/*----------------------------*/
#nav03 .accordion{
	margin-top: 1.75em;
}
.ac_tab{
	position: relative;
    padding: 1.88em 5.90em 1.63em 1.88em;
    cursor: pointer;
    background: #fff;
    border: 1px solid #026a9e;
    border-radius: 1.88em;
    min-height: 5em;
    color: #026a9e;
    line-height: 1.65;
    box-sizing: border-box;
    z-index: 1;
}
.ac_tab > div{
    display: flex;
    align-items: center;
     gap: 2.19em;}
/**/
.ac_tab_m{
	font-size: 1.5em;
	line-height: 1.75em;
    font-weight: 500;
	        letter-spacing: 0;
}

.ac_tab_s{
	
	line-height: 2.19em;
	margin-top: 0.31em;
}



/* アイコン */
.ac_tab .icon {
  position: absolute;
  right: 1.7em;/*34*/
  top: 50%;
  width: 3.38em;/*40*/
  height: 3.38em;
  transform: translateY(-50%);
  background-color: #f28e1e;
  transition: transform 0.3s ease;
	        border-radius: 50%;
}
.ac_tab .icon::before{
  position: absolute;
  content: '';
  right: 25px;
  width: 2.13em;
  height: 2px;
  background-color:#fff;
  transform: rotate(90deg);
  transition: all .3s ease-in-out;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
}

.ac_tab .icon::after{
  position: absolute;
  content: '';
  width: 2.13em;
  height: 2px;
  background-color:#fff;
  transition: all .3s ease-in-out;
	left: 50%;
  top: 50%;
        transform: translate(-50%, -50%);
}

.ac_tab.open .icon::before {
  transform: translate(-50%, -50%) rotate(180deg);
}

.ac_content{
  padding: 4.13em 2.75em 2.75em 3.83em;
  display: none;
  line-height: 2.18;
  position: relative;
	text-align: justify;
	background-color: rgba(255,255,255,.8);
	border-radius: 0 0 1.88em 1.88em;
	        transform: translateY(-1.87em);
	        
	        margin-bottom: -0.81em;/*-13*/
}


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

.qa {
  counter-reset: qa-counter;
 margin-top:2.81em;/*45*/
}

/* 質問 */
.qa dt {
  position: relative;
  font-size: 1.25em;/*20*/
  padding: 1.05em 5.90em 1.05em 7.80em;/*21px 118px 21px 156px*/
  cursor: pointer;
  background: #fff;
  border: 1px solid #026a9e;
  border-radius: 1.4em;/*28*/
  min-height: 5em;
  font-weight: 500;
	
  color: #026a9e;
  line-height: 1.65;
  box-sizing: border-box;
  display: flex;
  align-items: center;
	z-index: 1;
}
.qa dt:not(:first-of-type){
margin-top: 1.65em;/*37*/
}
.qa dt .faq_txt {
position: relative;
	display: flex;
        align-items: center;
}
/* Q部分 */
.qa dt .faq_txt::before {
  content: "Q";
  position: absolute;
  left: -3.30em;/*109*/
	font-family: "Josefin Sans", sans-serif;
	color: #f28e1e;
	font-size: 1.65em;/*33*/
	font-weight: 400;
}

/* 01.部分 */
.qa dt .faq_txt::after {
  content: counter(qa-counter, decimal-leading-zero) ". ";
  counter-increment: qa-counter;
  position: absolute;
  left: -2.27em;/*75*/
	font-family: "Josefin Sans", sans-serif;
	font-size: 1.65em;/*33*/
  color: #096596;
	        letter-spacing: 0.1em;
	font-weight: 400;
}

/* アイコン */
.qa dt .icon {
  position: absolute;
  right: 1.7em;/*34*/
  top: 50%;
  width: 2em;/*40*/
  height: 2em;
  transform: translateY(-50%);
  background-color: #f28e1e;
  transition: transform 0.3s ease;
	        border-radius: 50%;
}
.qa dt .icon::before{
  position: absolute;
  content: '';
  right: 25px;
  width: 1.25em;
  height: 2px;
  background-color:#fff;
  transform: rotate(90deg);
  transition: all .3s ease-in-out;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
}

.qa dt .icon::after{
  position: absolute;
  content: '';
  width: 1.25em;
  height: 2px;
  background-color:#fff;
  transition: all .3s ease-in-out;
	left: 50%;
  top: 50%;
        transform: translate(-50%, -50%);
}

.qa dt.open .icon::before {
  transform: translate(-50%, -50%) rotate(180deg);
}
.qa dt.open .icon::after {
}
/* 答え */
.qa dd {
  padding: 4.00em 2.75em 3.44em 10.13em;/*64px 44px 55px 162px*/
  display: none;
  line-height: 2.18;
  position: relative;
	text-align: justify;
	background-color: #f0f5f7;
	color: #333333;
	border-radius: 0 0 1.75em 1.75em;
	letter-spacing: 0.1em;
	        transform: translateY(-1.25em);
	        
	        margin-bottom: -0.81em;/*-13*/
}
section.wp-block-group:nth-of-type(even) .qa dd{
	/*background-color: #fff;*/
	
}
.qa dd .faq_txt {
position: relative;
}

/* A部分 */
.qa dd .faq_txt::before {
  content: "A";
  position: absolute;

  left:  -3.19em;;/*119*/
	font-family: "Josefin Sans", sans-serif;
	color: #f28e1e;
	font-size: 2.25em;/*36*/
	        top: -0.42em;/*15*/
	font-weight: 400;
}

/* 01. 部分 */
.qa dd .faq_txt::after {
  content: counter(qa-counter, decimal-leading-zero) ". ";
  position: absolute;
  left:  -2.33em;;/*84*/
	font-family: "Josefin Sans", sans-serif;
	font-size: 2.25em;/*36*/
  color: #096596;
	        letter-spacing: 0.1em;
	font-weight: 400;
	        top: -0.42em;/*15*/
	
}
/*----------------------------*/






.btn_link{
	min-width: 28.12em;
	width: fit-content;
	margin: 0 auto;
}

.btn_link a{
	padding: 0 3.75em;
	box-sizing: border-box;
}
/*すべて開くボタン*/
.wp-block-buttons>.wp-block-button.toggleall{

	
}
.toggleall button {
	color: #026a9e;
    background-color: #fff;
    border-radius: 9999px;
    box-shadow: none;
    text-decoration: none;
    padding: 0.75em 1.4em;
    font-size: 1em;
	    border: 1px solid #026a9e;
	font-weight: 500;
	        display: flex;
        align-items: center;
	margin-top: -3.9em;
	        gap: 0.5em;
	        position: relative;
        z-index: 0;
	transition: all 0.5s;
	
}

.toggleall button::after{
content: '';
        background: url(../images/common/anchor_ico_ora.webp) no-repeat;
        background-size: cover;
                width: 1.1em;
        height: auto;
        aspect-ratio: 1 / 1;
	display: block;
	
}
.toggleall button:hover {
	opacity: 0.6;
}

/*----------------------------*/
/*----------------------------*/
/* 色変更 */
html:is(.pageBlue) #header::before {
	content: '';
	background: #0071b4;
	height: 120%;
}

html:is(.pageYellow) #header::before {
	content: '';
	background: #F4E621;
	height: 120%;
}

html:is(.pageBlack) #header::before {
	content: '';
	background: #000;
	height: 120%;
}



html.pageBlue  body { --page-bg: #0071b4; --page-c: #fff;}
html.pageYellow body { --page-bg: #F4E621; --page-c: #000;}
html.pageBlack body { --page-bg: #000; --page-c: #fff; }

html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group/*, 
:is(html.pageBlue, html.pageYellow, html.pageBlack) body section.wp-block-group **/ {
  background-color: var(--page-bg) !important;
	background-image: unset !important;
}


html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group .toggleall button,
html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group .ac_tab,
html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group .ac_content,
html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group .qa dt,
html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group .qa dd

{
  background-color: var(--page-bg) !important;
}

html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group .qa dt .faq_txt::after, 
html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group .qa dd .faq_txt::after
{
  color: var(--page-c) !important;
}



html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group .qa dt .icon::before, 
html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group .qa dt .icon::after, 
{
   background-color: var(--page-c) !important;
}


html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group .qa dd,
html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group .ac_content{
	border: 1px solid  var(--page-c) !important;
}


html:is(.pageBlue, .pageYellow, .pageBlack) body section.wp-block-group .qa dt .icon 
{
  background-color: #f28e1e !important;
}/**/