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

Lp common styles
 
Version: 1.0.17

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

:root {
    --font-size--small: 0.9rem;
    --font-size--medium: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.196), 1.14rem);
    --font-size--x-large: clamp(1.39rem, 1.39rem + ((1vw - 0.2rem) * 0.836), 1.85rem);
    --font-family--sans:'Jost','Helvetica Neue', Arial, 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;


    --global--padding-x: max(4vw,16px);

    --global--wide-size:1200px;
    --global--content-size:864px;
    --nallow-width--margin:clamp(0px,((100vw - 768px) / 2),60px);
    
    
    --base-text-color:#111;
    --heading-color:#111;

    --button-color:#00b900;

    --color--babyblue: #dcf4ff;
    --color--babygreen: #ddf5dd;
    --color--darkblue: #007ab1;
    --color--darkred: #c40000;
    --color--green1: #00b900;
    --color--green: #008000;
    --color--gray: #eff2f4;
    --color--lightblue: #00a2eb;
    --color--navy: #000a57;
    --color--red: #ff2f2f;
    --color--yellow: #fffc00;
    --color--liteyellow: #fff8bf;
    --color--orange: #ff6600;
    --color--litorange: #fff9f1;
    --color--halfwhite: #ffffffe6;
    --color--palepink:#ffebeb;

    --flex-gap--1:0.9rem;
}

body {
    line-break: normal;
    font-family: var(--font-family--sans);
    font-size: var(--font-size--medium);
    font-style: normal;
    font-weight: 400;
    line-height: 1.55;
    color: var(--base-text-color);
}

header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
}
header *:last-child{
    margin-bottom:0;
}


.has-wide-width{
max-width: var(--global--wide-size);
margin-left: auto !important;
    margin-right: auto !important;
}

.head-kv img {
    width: 100%;
    max-width: 100%;
}

main {
    margin: auto;
}

.has-global-padding{
    padding-right: var(--global--padding-x);
    padding-left: var(--global--padding-x);
}


main > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--global--content-size);
    margin-left: auto !important;
    margin-right: auto !important;
}

main > section{
    padding-top: min(6vw,2rem);
    padding-bottom: min(6vw,2rem);
}
section  *:last-child:not(.button){
    margin-bottom: 0 !important;
    margin-block-end: 0 !important;
}

.has-global-padding > .alignfull {
    margin-right: calc(var(--global--padding-x) * -1);
    margin-left: calc(var(--global--padding-x) * -1);
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--global--content-size);
    margin-left: auto !important;
    margin-right: auto !important;
}

.padding--0{
    padding: 0 !important;
}
.padding-y--0{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.container-base{
 container-type: inline-size;
}


h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
    text-wrap: pretty;
}

h1,h2,h3,h4,h5,h6 {
    color:var(--heading-color);
    font-family: var(--font-family--sans);
    font-weight: 700;
    line-height: 1.4;
    font-feature-settings: "palt";
}

h2 {
    font-size: clamp(1.378rem, 1.378rem + ((1vw - 0.2rem) * 1.585), 2.25rem);
    margin-bottom: 1.6rem;
}

h3 {
    font-size: clamp(1.146rem, 1.146rem + ((1vw - 0.2rem) * 1.189), 1.8rem);
    margin-bottom: .5em;
}

h4 {
    font-size: clamp(1.1rem, 1.1rem + ((1vw - 0.2rem) * 0.767), 1.5rem);
}

h5,
h6{
    font-size:1rem;
}

p{margin-bottom: 1.5rem;}


.font-size--small{
    font-size: 0.85rem;
}
.font-size--large{
    font-size:1.25rem;
}
.font-size--x-large{
    font-size:var(--font-size--x-large) ;
}



.font_feat--palt{
    font-feature-settings: "palt";
}
   
.bold{
    font-weight: bold;
}
.normal{
    font-weight: normal !important;
}
.larger125{
    font-size:125%;
}

.larger150{
    font-size:150%;
}
.smaller{
    font-size: 75%;
}


.has-text-align-center{
    text-align: center;
    text-wrap: balance;
}
.has-text-align-right{
    text-align: right;
}
.text-color--darkblue{
    color: var(--color--darkblue);
}
.text-color--red{
    color: var(--color--red);
}
.text-color--darkred{
    color: var(--color--darkred);
}

.text-color--orange{
    color: var(--color--orange);
}
.text-color--yellow{
    color: var(--color--yellow);
}
.text-color--green{
    color: var(--color--green1);
}
.text-color--purple{
    color: purple;
}

.bg--white{
    background: #fff;
}
.bg--yellow{
    background-color:var(--color--liteyellow);
}
.bg--halfwhite{
    background:var(--color--halfwhite);
}

.highlight--red {
    text-decoration: underline;
    text-decoration-thickness: 0.3em;
    text-decoration-color: rgb(255 23 23 / 40%);
    text-underline-offset: -0.12em;
    text-decoration-skip-ink: none;
}
.highlight--yel {
    text-decoration: underline;
    text-decoration-thickness: 0.3em;
    text-decoration-color: rgb(255 238 0 / 70%);
    text-underline-offset: -0.12em;
    text-decoration-skip-ink: none;
}
.highlight--org {
    text-decoration: underline;
    text-decoration-thickness: 0.3em;
    text-decoration-color: rgba(255, 115, 0, 0.4);
    text-underline-offset: -0.12em;
    text-decoration-skip-ink: none;
}

.underline--red{
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: red;
    text-underline-offset: 3px;
    text-decoration-skip-ink: none;
}


.margin-lr-auto{
    margin-left:auto;
    margin-right: auto;
}

.margin-y-3{
    margin-top: 3rem;margin-bottom: 3rem;
}

img{max-width: 100%;}


.spacer--10{
    height: 1rem;
    clear: both;
}
.spacer--20{
    height: min(1.7rem, 3vw);
    clear: both;
}


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

 Flex Box

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

.flex{display: flex;}
.flex_column {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.gap{gap:var(--flex-gap--1);}

.flex_wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.flex_grow {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.no_shrink {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
.justify_center{justify-content: center;}
.justify_between{justify-content:space-between}

.align-items-stretch{
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;}

.align-items-center{
    align-items: center;
}


.sticky-bottom{position: sticky; bottom: 0;
padding-top: 1rem;
padding-bottom: 1rem;
z-index: 999;
}

.videowrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.videowrap iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.wp-block-embed iframe {
    max-width: 100%;
    width: 100%;
    height: auto;
}
.wp-embed-aspect-16-9 iframe{aspect-ratio: 16 / 9;}





.width-nallow{
    margin-left:var(--nallow-width--margin);
    margin-right:var(--nallow-width--margin);
}

main ul li{
    line-height: 1.3;
    margin-bottom: .3em;
}

ul.list-good,ul.list-ban {
    list-style: none;
    position: relative;
}

.list-good li,.list-ban li {
    padding-left: .5em;
    margin-bottom: .5em;
}

.list-good li::before {
    position: absolute;
    left:.5em;
    width: 1.2em;
    left: .8em;
    display: block;
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="%2300b900"><path d="m380-300 280-180-280-180v360ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z"/></svg>');
}
.list-ban li::before {
    position: absolute;
    left:.5em;
    width: 1.2em;
    left: .8em;
    display: block;
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="%23dc3545"><path d="M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q54 0 104-17.5t92-50.5L228-676q-33 42-50.5 92T160-480q0 134 93 227t227 93Zm252-124q33-42 50.5-92T800-480q0-134-93-227t-227-93q-54 0-104 17.5T284-732l448 448Z"/></svg>');
}

/*------------------
  Button & Form
------------------*/

form input[type=email] {
    font-size: min(3.5vw, 40px);
    width: 100%;
    height: min(2.4em, 48px);
    border: 2px solid #999;
    border-radius: 7px;
    margin:0 0 1rem;
    background: #ffd89b;
}

button.button,
a.button{
    display: flex;
    container-type: inline-size;
    gap:10px;
    align-items: center;
    justify-content: center;
    color: #fff;
    background:  var(--button-color);
    border: none;
    border-radius: min(2.3vw, 18px);
    height:auto;
    min-height: min(140px, 20vw);
    text-decoration: none;
    font-feature-settings: "palt";
    line-height: 1.1;
    padding: .5rem;
    margin-bottom: min(1.5vw, 10px);
    box-shadow: 0 min(1.5vw, 10px) 0 color-mix(in srgb, var(--button-color) 70%, #000 30%);
    transition: .3s;
}
.button:hover{
    filter: saturate(1.1) brightness(1.1);
}

.color-var1{filter: hue-rotate(57deg);}
.color-var1:hover{filter: hue-rotate(57deg) saturate(1.1) brightness(1.1);}

.button--text {
    font-size: clamp(1.2rem, 6.65cqw, 42px);
    text-shadow: 1px 1px 0px color-mix(in srgb, var(--button-color) 70%, #000 30%);
}
.button--arrow img{vertical-align: top;}
.button--linelogo img{width: min(10vw, 100px);}
.button--arrow{
    display: block;
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="%23ffffff"><path d="m380-300 280-180-280-180v360ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z"/></svg>');
    width: min(7vw, 60px);
}

.has-small-font-size a.button{
    font-size: clamp(.8rem, 3.5vw, 32px);
}

.notation-text{
    font-size: 0.9rem;
    line-height: 1.3;
}


.bounce {
	-webkit-animation: bounce 3s infinite;
	        animation: bounce 3s infinite;
}

@-webkit-keyframes bounce {
	0%, 6.6%, 17.49%, 33% {
        -webkit-animation-timing-function: cubic-bezier(.215,.61,.355,1);
                animation-timing-function: cubic-bezier(.215,.61,.355,1);
        -webkit-transform: translateZ(0);
                transform: translateZ(0)
    }

    13.2%, 14.19% {
        -webkit-animation-timing-function: cubic-bezier(.755,.05,.855,.06);
                animation-timing-function: cubic-bezier(.755,.05,.855,.06);
        -webkit-transform: translate3d(0,-20px,0) scaleY(1.1);
                transform: translate3d(0,-20px,0) scaleY(1.1)
    }

    23.1% {
        -webkit-animation-timing-function: cubic-bezier(.755,.05,.855,.06);
                animation-timing-function: cubic-bezier(.755,.05,.855,.06);
        -webkit-transform: translate3d(0,-10px,0) scaleY(1.05);
                transform: translate3d(0,-10px,0) scaleY(1.05)
    }

    26.1% {
		-webkit-transition-timing-function: cubic-bezier(.215,.61,.355,1);
		        transition-timing-function: cubic-bezier(.215,.61,.355,1);
        -webkit-transform: translateZ(0) scaleY(.95);
                transform: translateZ(0) scaleY(.95)
    }

    29.7% {
        -webkit-transform: translate3d(0,-4px,0) scaleY(1.02);
                transform: translate3d(0,-4px,0) scaleY(1.02)
    }
}

@keyframes bounce {
	0%, 6.6%, 17.49%, 33% {
        -webkit-animation-timing-function: cubic-bezier(.215,.61,.355,1);
                animation-timing-function: cubic-bezier(.215,.61,.355,1);
        -webkit-transform: translateZ(0);
                transform: translateZ(0)
    }

    13.2%, 14.19% {
        -webkit-animation-timing-function: cubic-bezier(.755,.05,.855,.06);
                animation-timing-function: cubic-bezier(.755,.05,.855,.06);
        -webkit-transform: translate3d(0,-20px,0) scaleY(1.1);
                transform: translate3d(0,-20px,0) scaleY(1.1)
    }

    23.1% {
        -webkit-animation-timing-function: cubic-bezier(.755,.05,.855,.06);
                animation-timing-function: cubic-bezier(.755,.05,.855,.06);
        -webkit-transform: translate3d(0,-10px,0) scaleY(1.05);
                transform: translate3d(0,-10px,0) scaleY(1.05)
    }

    26.1% {
		-webkit-transition-timing-function: cubic-bezier(.215,.61,.355,1);
		     -o-transition-timing-function: cubic-bezier(.215,.61,.355,1);
		        transition-timing-function: cubic-bezier(.215,.61,.355,1);
        -webkit-transform: translateZ(0) scaleY(.95);
                transform: translateZ(0) scaleY(.95)
    }

    29.7% {
        -webkit-transform: translate3d(0,-4px,0) scaleY(1.02);
                transform: translate3d(0,-4px,0) scaleY(1.02)
    }
}


.arrow-down {
    position: absolute;
    left: calc(50% - 9vw);
    width: 18vw;
    top: -4vw;
}

blockquote{
    margin: .8em;
    background: #f9f4ed;
    padding: .5em;
    border-radius: 14px;
}
blockquote p:last-child{margin-bottom: 0;}


.center-block{
    margin: 1em auto;
    width: min(600px, 72vw);
}

.note {
    padding: 0.8em;
    font-size: 85%;
    background: #e3edec;
}

/*--  wbr改行設定 --*/
.wb-keep {
    word-break: keep-all;
    overflow-wrap: break-word;
    overflow-wrap: anywhere;
    line-break: strict;
}


/*--  BOX --*/

.box {
    position: relative;
    padding: max(.8rem, 2vw);
    margin-bottom: 1.5rem;
}

.box-style--gold{
    border: 8px double #e0b465;
    padding: .5em .7em;
    margin-bottom: 1.5em;
    background: radial-gradient(circle, rgb(255 255 255) 0%, rgb(255 242 208) 100%);
}


.box--red{
    border: min(.3vw, 2px) solid var(--color--darkred);
    background-color: #fff8f8;
}

.has-border{
    border: min(.3vw, 2px) solid #d3d3d3;
}
.border-color--blue {
    border: min(.35vw, 3px) solid #007ab1 !important;
}


.box *:last-child:not(.button) {
    margin-bottom: 0;
}


/*-- table --*/
.table-normal{
    & td{padding:0.2rem;
    border: 1px solid var(--bs-gray-600);}
    & th{padding:0.2rem;
        border: 1px solid var(--bs-gray-600);}
}

.table-resposible th{background-color: var(--color--gray);}
@media (max-width: 768px) {
.table-resposible{
 & th{
    display: block;
    
 }
 & td{
    display: block;
    border-top:none ;}

}
}

/*-- List with icon --*/
.list-style-circle{
    /*list-style-image: url("../img/common/check_circle_fill.svg");*/
    list-style-type: none;
    padding-left: 0;
    margin-left: 0.4rem;

    & li{
        background:url("../img/common/check_circle_fill.svg");
        background-repeat: no-repeat;
        background-position: left top;
        padding-left: 1.7rem;
        margin-bottom: 0.6rem;
        min-height: 1.5rem;
        padding-top: .1rem;
    }
}
.list-style-bad{
    list-style-type: none;
    padding-left: 0;
    margin-left: 0.4rem;

    & li{
        background:url("../img/common/close_24.svg");
        background-repeat: no-repeat;
        background-position: left top;
        padding-left: 1.7rem;
        margin-bottom: 0.6rem;
    }

}



/*-- FAQ --*/
.faq-title {
    font-size: 100%;
    line-height: 1.4;
    position: relative;
    margin-bottom: 0.5em;
    padding-left: 1.5rem;
}

.faq-title::before {
    position: absolute;
    content: "Q";
    font-weight: 400;
    font-family: Times, serif;
    font-size: 1.45rem;
    padding-right: 0.2em;
    top: -0.5rem;
    left: 0;
    color: #21adde;
    background: transparent;
}

.faq .answer p {
    font-size: 100%;
    line-height: 1.4;
}
.faq .answer{
    margin-left: 0;
    margin-bottom: 2em;
    position: relative;
    border-bottom: 1px dashed #ccc;
    padding-left: 1.5rem;
    padding-bottom: 2em;
}
.faq .answer::before {
    position: absolute;
    content: "A";
    font-weight: 400;
    font-family: Times, serif;
    font-size: 1.45rem;
    padding-right: 0.2em;
    top: -0.5rem;
    left: 0;
    color: #de2121;
    background: transparent;
}


/*-- feedbacks --*/

.voice-icon{
	width: max(100px,calc(20% - 1rem));
	text-align: center;
	font-size:90%;

	& img{
		border-radius: 100vh;
	}
}
.feedbacks .voice-text{
	width: calc(80% - 1rem);
}
.feedbacks .voice-text h3{
    font-size: 1.3rem;
}
.feedbacks .voice-text p{
    line-height: 1.4;
}




/*-- Profile --*/
.section-author{
    padding-bottom:1rem;
}

.section-author h3{
    text-align: center;
    margin-top:1em;
    margin-bottom: 1em;
}

.section-author p{
    font-size: 95%;
    line-height: 1.4;
}

.section-author .photo img {width: 100%;} 

.section-author .others {
    background-color: #f4f5f6;
    padding: 1rem;
}
.section-author .each img{width:100%;}

.section-author .each:not(.all) {
    border: 1px solid #a5a2a1;
}

.section-author .each {
    margin-bottom: calc(100vw* 20 / 1280);
    width: calc(50% - 8px);
}

.section-author .each.all {
    margin-right: 0;
    width: 100%;
}


@media (max-width: 768px) {

    .section-author .details {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .author-title{text-align: center;}
    
}

@media (min-width: 769px) {
    .section-author .photo{width: min(25vw, 300px);}
    .section-author .each.all {
        margin-right: 0;
        width: calc(40% - 16px);
    }
    .section-author .each {
        margin-bottom: calc(100vw* 10 / 1280);
        width: calc((100% -  0.9rem * 4) / 5);
    }

}

@media (min-width: 751px) {
	.mobile {
		display: none !important;
	}
}

@media (max-width: 768px) {
	.desktop {
		display: none !important;
	}
}

/*  footer info link */

footer {
	margin-top: 1rem;
	margin-bottom: 1rem;
	font-size: 85%;

	& nav ul{
		list-style-type:none;
		margin:0 auto;
		padding:0;
		display: flex;
		flex-wrap:wrap;
		justify-content: center;
		column-gap: 2rem;
		row-gap: 0.6rem;

		& li+li{
			position: relative;
			
		}
		& li+li::before{ content: "";
			display: block;
			height: 1em;
			border-left: 1px solid #999;
			position: absolute;
			top: 0;
			left: -1rem;
			bottom: 0;
			margin: auto;
		}
	}
    & .footer-copyright{margin-top:1.3rem;}
}