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

/*----------------------------*/
.page_tit_wrap.pattern01{
background: url('../images/parent/title_img.webp');
	        background-position: right bottom !important;
}
.page_tit_wrap.pattern01 .page_tit::before{
        width: 74.16%;
        height: 110px;
}
.page_tit_wrap.pattern01 .page_tit h2.page_title span{
	    font-size: 1.65rem;
}

:where(figure){
	margin-bottom: 0em !important;
}
:where(.wp-block-columns){
	margin-bottom: 0em !important;
	
}
section p{
	letter-spacing: 0.1em;
	color: #333;
	font-size: 1.3rem;
}
    .anchor_wrap .wrap_inner ul.anchor_list li a {
        padding-bottom: 0.5rem;
    }
/*----------------------------*/
section.wp-block-group {
/*width: 83.33%;
	margin: 0 auto;*/       
	padding-left: 30px;
        padding-right: 30px;
}

section.wp-block-group:nth-of-type(even){
background-color: #f0f5f7;	
	background-image: url("../images/parent/bg_sec.webp");
	        background-size: 45.25rem;
        background-position: center top;
	        background-repeat: no-repeat;
}

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

	        background-repeat: no-repeat;
}
section#nav01{
	background-image: url("../images/parent/bg_sec_02.webp"),url("../images/parent/bg_sec_od.webp");
	background-position: center top , left -1.5rem top 45.9rem;
	        background-size: 111vw, 205.56vw;
}
section#nav03{
	background-image: url("../images/parent/bg_sec_od.webp");
	background-position: left top;
	background-size: 205.56vw;
}
/*----------------------------*/

    .catch_b {
        font-size: 1.65rem;
    }
.info_greet > div{
	position: relative;
		z-index: 0;
}
.info_greet > div::before,.info_greet > div::after{
	content: "";
	position: absolute;
	
}
.info_greet > div::before{
	width: 102.92vw;
	height: 59.86vw;
	background-image: linear-gradient(90deg, rgba(242, 142, 30, 1) 24%, rgba(63, 186, 183, 1) 51%, rgba(53, 145, 208, 1) 82%);
	       /* top: 24.30vw;*/
	        bottom: -5.69vw;
	        left: 50%;
        transform: translateX(-50%);
	z-index: -1;
}
.info_greet > div::after{
	width: 9.75rem;
	height: 8.1rem;
	background-image:url("../images/parent/mamorukun.webp");
	/**/bottom:0;
	right: 0;
	transform: translateX(-2.85rem) translateY(3.1rem);
	background-size: 100%;
}
.info_greet .info_txt{
	        margin-top: 4.1vw;
	        
        margin-left: 11.39vw;
}

.info_greet .info_title{
	color: #fff;
	font-size: 1.5rem;
	        font-weight: 600;
}
.info_greet .info_name{
	color: #fff;	
	font-size: 1.75rem;
	        margin-top: 0.6rem;
	        font-weight: 600;
}

#nav01 .txt{
	        line-height: 1.73;
        text-align: justify;
}

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

#nav02 .wp-block-group__inner-container .points{
	margin-top: 5.0rem;
}
#nav02 .wp-block-group__inner-container .points.mt-0{
	margin-top: 0;
}
#nav02 .point_midashi .wp-block-group__inner-container{

	        border-bottom: 2px solid #026a9e;
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-weight: 500;
               font-size: 1.65rem;
	        letter-spacing: 0.05em;
	        padding-bottom: 0.8rem;
	
}
#nav02 .point_midashi .wp-block-group__inner-container .josefin-sans{
font-size: 2.18rem;
        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: 1.9rem;
	        gap: 0;
}
#nav02 .wp-block-columns-is-layout-flex p{
        line-height: 1.73;
        text-align: justify;
        letter-spacing: 0.1em;
}
#nav02 .wp-block-columns-is-layout-flex  p.catch_m {
font-size: 1.65rem;
        line-height: 1.36;
    }

#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 img{
	width: 86.33%;
		flex-shrink: 0;
	margin: 0 auto;
	display: block;
}

/*----------------------------*/
#nav03 .accordion{
	margin-top: 1.35rem;
}
.ac_tab{
	position: relative;
    padding: 1.35rem 1.85rem 1.75rem 1.5rem;
    cursor: pointer;
    background: #fff;
    border: 1px solid #026a9e;
    border-radius: 1.5rem;
    color: #026a9e;
    line-height: 1.65;
    box-sizing: border-box;
    z-index: 1;
}
.ac_tab > div{
    display: flex;
    align-items: flex-start;
             gap: 1.65rem;}
/**/
.ac_tab figure{
	width: 4.5rem;
	flex-shrink: 0;
}
.ac_tab_m{
        font-size: 1.5rem;
        line-height: 1.3;
        font-weight: 500;
        letter-spacing: 0;
}

.ac_tab_s{
	
        line-height: 1.52;
        font-size: 1.15rem;
        margin-left: -6.1rem;
        margin-top: 1.75rem;

}



/* アイコン */
.ac_tab .icon {
  position: absolute;
        right: 1.65rem;
        bottom: 1.6rem;
  width: 2.7rem;
  height: 2.7rem;
  background-color: #f28e1e;
  transition: transform 0.3s ease;
	        border-radius: 50%;
}
.ac_tab .icon::before{
  position: absolute;
  content: '';
  right: 25px;
  width: 1.7rem;
  height: 1px;
  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: 1.7rem;
  height: 1px;
  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: 3.75rem 1.25rem 2.3rem 1.15rem;
  display: none;
  line-height: 2.18;
  position: relative;
	text-align: justify;
	background-color: rgba(255,255,255,.8);
	border-radius: 0 0 1.5rem 1.5rem;
        transform: translateY(-2.43rem);
        margin-bottom: -1.05em;
	        letter-spacing: 0.05em;
}

/*----------------------------*/
.qa {
  counter-reset: qa-counter;
        margin-top: 2.15rem;
}

/* 質問 */
.qa dt {
        position: relative;
        font-size: 1.3rem;
        padding: 1.0rem 4.1rem 1.0rem 5.8rem;
        cursor: pointer;
        background: #fff;
        border: 1px solid #026a9e;
        border-radius: 1.4rem;
        min-height: 6.0rem;
        font-weight: 500;
        color: #026a9e;
        line-height: 1.53;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        z-index: 1;
	text-align: justify;
}
.qa dt:not(:first-of-type){
        margin-top: 1.5rem;
}
.qa dt .faq_txt {
position: relative;
}
/* Q部分 */
.qa dt .faq_txt::before {
        content: "Q";
        position: absolute;
        left: -4.75rem;
        font-family: "Josefin Sans", sans-serif;
        color: #f28e1e;
        font-size: 1.75rem;
        font-weight: 400;
	top: -0.1rem;
}

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


/* アイコン */
.qa dt .icon {
  position: absolute;
  right: 1.1rem;
  top: 50%;
  width: 2.0rem;
  height: 2.0rem;
  transform: translateY(-50%);
  background-color: #f28e1e;
  transition: transform 0.3s ease;
	        border-radius: 50%;
}
.qa dt .icon::before{
  position: absolute;
  content: '';
  width: 1.25rem;
  height: 1px;
  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.25rem;
  height: 1px;
  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.5rem 1.5rem 2.7rem 5.7rem;
  display: none;
  line-height: 1.34;
  position: relative;
	text-align: justify;
	background-color: #f0f5f7;
	color: #333333;
	border-radius: 0 0 1.4rem 1.4rem;
	       letter-spacing: 0.13rem;
	                transform: translateY(-3.3rem);
	        font-size: 1.3rem;
	         margin-bottom: -2.0rem;
}
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:  -4.4rem;
	font-family: "Josefin Sans", sans-serif;
	color: #f28e1e;
	font-size: 1.8rem;
	        top: -0.1rem;
	font-weight: 400;
}

/* 01. 部分 */
.qa dd .faq_txt::after {
  content: counter(qa-counter, decimal-leading-zero) ". ";
  position: absolute;
  left:  -3rem;
	font-family: "Josefin Sans", sans-serif;
	font-size: 1.8rem;
  color: #096596;
	 letter-spacing: 0.18rem;
	top: -0.1rem;
	font-weight: 400;
	
}
/*すべて開くボタン*/
.wp-block-buttons>.wp-block-button.toggleall{
	position: relative;
        right: 50%;
        transform: translateX(50%);
	
}
.toggleall button {
	color: #026a9e;
    background-color: #fff;
    border-radius: 9999px;
    box-shadow: none;
    text-decoration: none;
    padding: 1rem 2rem;
    font-size: 1.3rem;
	    border: 1px solid #026a9e;
	font-weight: 500;
	        display: flex;
        align-items: center;
	        margin-top: 1.98rem;
	        gap: 4px;
	        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.3rem;
        height: auto;
        aspect-ratio: 1 / 1;
	display: block;
	
}
/*----------------------------*/
/*----------------------------*/
.btn_link{
    min-width: 25rem;
	width: fit-content;
	margin: 0 auto;
}

.btn_link a{

	        border-radius: 2.5rem;
        height: 5.0rem;
        padding: 0 3.6rem;
        box-sizing: border-box;
	
}


.btn_link.fs-09 a span{
	font-size: 90%;
}
/*----------------------------*/