@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;700;900&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&display=swap');

/*====================================================
////id |  cmn
====================================================*/
:root {
	--green: #025B54;
	--l_green: #ACDDD9;
	--d_green: #013834;
	--orange: #F1A025;
	--d_orange: #cf6e00;
	--red: #CD181E;

	--gray: #646464;
    --black: #333;

	--font_family: 'Noto Sans JP', "Yu Gothic", "游ゴシック Medium", "YuGothic", "游ゴシック体", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	--f_serif: 'Noto Serif JP', "游明朝 Medium", "YuMincho Medium", "游明朝体 Medium", "Hiragino Mincho ProN", "MS PMincho", serif;
    --f_en: "Plus Jakarta Sans", 'Noto Sans JP', "Yu Gothic", "游ゴシック Medium", "YuGothic", "游ゴシック体", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
.bg-green { background: var(--green); color: #fff; }
.bg-d_green { background: var(--d_green); color: #fff; }
.bg-orange { background: var(--orange); color: #fff; }
.bg-red { background: var(--red); color: #fff; }
.bg-gray { background: var(--gray); color: #fff; }
.white { color: #fff; }
.green { color: var(--green); }
.d_green { color: var(--d_green); }
.orange { color: var(--orange); }
.d_orange { color: var(--d_orange); }
.red { color: var(--red); }
.gray { color: var(--gray); }
.f-serif { font-family: var(--f_serif); }

header {
    display: none;
}
header.siteHeader {
    position: absolute !important;
}
.vk-mobile-nav-menu-btn {
    display: none;
}
#contents {
    color: var(--black);
    font-family: var(--font_family);
    font-size: min(3.8vw, 1.6rem);
    font-weight: 500;
    line-height: 1.8;
    margin-top: 0 !important;
}
#contents .f-en {
    font-family: var(--f_en);
}
section.lp_section {
	position: relative;
	max-width: 100vw;
	z-index: 2;
}
#contents a {
    transition: .3s ease-in-out;
}
#contents a:focus, #contents a:hover {
    color: inherit;
    text-decoration: none;
}
p {
    margin-bottom: 0;
}
figure.coverImg {
	overflow: hidden;
	padding-top: 65%;
    position: relative;
	width: 100%;
}
figure.coverImg img {
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
}
figure.coverImg.contain img {
	-o-object-fit: contain;
	   object-fit: contain;
}
/* .innerBox{
	margin: 0 auto;
	padding: min(12vw, 120px) 0;
	position: relative;
	width: 90%;
		max-width: 1200px;
	z-index: 2;
} */
sup, .sup {
    font-size: .4em;
    vertical-align: super;
    top: -.3em;
}
.big { font-size: 1.2em; }
small, .small { font-size: .8em; }
.fw-default { font-weight: 500; }
.fw-bold {font-weight: 700; }
.marker_line {
    background: linear-gradient(transparent 70%, #FFFA72 70%, #FFFA72 100%);
    font-weight: 700;
}
.inb { display: inline-block; }
h2 {
    border: none;
    color: inherit;
    font-weight: 700;
    margin: 0;
    padding: 0;
}
h2::before {
    display: none;
}
h3 {
    border: none;
    box-shadow: none;
    color: inherit;
    font-weight: 700;
    margin: 0;
    padding: 0;
}
h3::after {
    display: none;
}
h4 {
    background: transparent;
    border-radius: 0;
    margin: 0;
    padding: 0;

}

ul {
	list-style: none;
    margin: 0;
    padding: 0;
}
ul li {
    margin: 0;
    padding: 0;
}
dl {
    margin: 0;
}
dt, dd {
    border: none;
    line-height: inherit;
    margin: 0;
    padding: 0;
}
ul.markList li,
.bodyText.default_deco ul li {
	position: relative;
	padding-left: 1.0em;
	line-height: 1.4;
	margin: .5em 0;
}

ul.markList li::before {
	content: '\30FB';
	display: block;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
}

ul.markList>li:after {
	display: none !important;
}

ul.markList.attentionMark>li:before {
	background: transparent;
	content: '\203B';
	top: .1em;
	left: 0;
}

ul.markList.dot li:before {
	background: transparent;
	content: '\30FB';
	top: 0;
	left: 0;
}
dl.accordion > dt {
	cursor: pointer;
	position: relative;
}
dl.accordion > dd {
	overflow: hidden;
	transition: .3s ease-in-out;
}
dl.accordion > dd > .accordion-inner {
	opacity: 0;
	transition: .4s ease-in-out;
}
dl.accordion.open > dd > .accordion-inner {
	opacity: 1;
}
dl.accordion .accordion_close {
	cursor: pointer;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.hidden-mob {
		display: none;
	}
	.display-mob {
		display: block;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.hidden-pc_d-tab,
	.hidden-pc {
		display: none;
	}
}
@media screen and (min-width:769px) and (max-width:960px) {
	.hidden-tab {
		display: none;
	}
	.hidden-pc_d-tab ,
	.display-tab {
		display: block;
	}
}
@media screen and (min-width:1300px) {
    .hidden-wide {
		display: none;
	}
}

@media (hover: hover) {}


/*====================================================
////id |  装飾
====================================================*/
.logo_txt {
    display: inline-block;
    /* font-size: 1.2em; */
    line-height: 1;
}
.logo_txt sup {
    margin: 0 .3em 0 -.3em;
}
.bg_en_text {
    font-size: min(15vw, 22rem);
    font-weight: 900;
    line-height: 1em;
    opacity: .07;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 1em;
}
.bg_en_text > span {
    display: inline-block;
    position: absolute;
        top: -.15em;
}
.square_balloon_wrapper {
    display: flex;
        justify-content: center;
}
.square_balloon {
    border: solid var(--green);
    border-width: 0 1px;
    margin-bottom: min(10vw, 90px);
    position: relative;
    text-align: center;
}
.square_balloon::before,
.square_balloon::after {
    background-image : linear-gradient(to right, var(--green) 65%, transparent 65%, transparent 75%, var(--green) 75%);
    background-size: 100% 1px;
    background-repeat: no-repeat; 
    background-position: left top;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        left: 0;
    width: 100%;
    height: 1px;
}
.square_balloon::before {
    top: 0;
}
.square_balloon::after {
    bottom: 0;
    transform: rotate(180deg);
}
.square_balloon .square_balloon_inner::before {
    background: #fff;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 7px;
        left: 7px;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.square_balloon .square_balloon_inner::after {
    border-top: solid 1px var(--green);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: calc(100% - 1px);
        left: 25%;
    transform: rotate(35deg);
    transform-origin: left;
    width: 10%;
    height: 0;
}
.square_balloon h2 {
    line-height: 1.3;
    padding: .7em 1.3em;
    font-size: min(3.8vw, 4rem);
}

.ctaBtn_wrapper {
    display: flex;
        justify-content: center;
}
.ctaBtn {
    background: linear-gradient(to bottom, #00776E, #002A27);
    border: solid .1em #fff;
    border-radius: 3em;
    box-shadow: 0 0 6px rgba(0, 0, 0, .4);
    color: #fff !important;
    display: flex;
        align-items: center;
        grid-gap: .7em;
        justify-content: center;
    font-size: min(5vw, 3.5rem);
    font-weight: bold;
    line-height: 1.4;
    padding: .35em 1em .5em 1.7em;
    position: relative;
    text-align: center;
    transition: .3s ease-in-out;
}
.arrow {
    border-radius: 100%;
    display: inline-block;
    overflow: hidden;
    position: relative;
    width: 1.16em;
    height: 1.16em;
}
.arrow::before,
.arrow::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 49 49"><path fill="%23ffffff" d="M24.5,0C10.97,0,0,10.97,0,24.5s10.97,24.5,24.5,24.5,24.5-10.97,24.5-24.5S38.03,0,24.5,0ZM29.43,25.07l-6.95,6.95c-.29.29-.68.44-1.06.44s-.77-.15-1.06-.44c-.59-.59-.59-1.54,0-2.12l5.88-5.88-5.88-5.88c-.59-.59-.59-1.54,0-2.12s1.54-.59,2.12,0l6.95,6.95c.59.59.59,1.54,0,2.12Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
    transition: .4s ease-in-out;
    width: 100%;
    height: 100%;
}
.arrow::before {
    right: 0;
}
.arrow::after {
    right: 120%;
}
.line_deco_orange {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path fill="%23ffcc80" d="M14.05,0L0,14.04v5.96h5.95l14.05-14.05V0h-5.95ZM14.04,20h5.95v-5.95l-5.95,5.95ZM0,0v5.95L5.95,0H0Z" /></svg>') repeat-x bottom left;
    background-size: .4em;
    padding: 0 .1em;
}
.line_deco_green {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path fill="%23ACDDD9" d="M14.05,0L0,14.04v5.96h5.95l14.05-14.05V0h-5.95ZM14.04,20h5.95v-5.95l-5.95,5.95ZM0,0v5.95L5.95,0H0Z" /></svg>') repeat-x bottom left;
    background-size: .4em;
    padding: 0 .1em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .square_balloon h2 {
        font-size: min(6vw, 2.8rem);
    }
    .ctaBtn {
        font-size: min(5vw, 3.5rem);
        width: 100%;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .square_balloon {
        min-width: 70%;
    }
}

@media screen and (min-width:769px) and (max-width:960px) {
    .ctaBtn {
        font-size: min(5vw, 3.5rem);
    }
}

@media (hover: hover) {
    a.ctaBtn:hover {
        filter: brightness(1.1) saturate(2);
        text-decoration: none;
    }    
    .arrow:hover::before,
    a:hover .arrow::before {
        right: -120%;
    }
    .arrow:hover::after,
    a:hover .arrow::after {
        right: 0;
    }
}


/*====================================================
//class eachTextAnime
====================================================*/
.eachTextAnime {
	opacity: 0;
}
.eachTextAnime.appeartext {
	opacity: 1;
}
.eachTextAnime span {
	opacity: 0;
}
.eachTextAnime.appeartext span {
	-webkit-animation:text_anime_on 1s ease-out forwards;
	        animation:text_anime_on 1s ease-out forwards;
	/* animation-delay: .4s; */
}
@-webkit-keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}

/*====================================================
//class .sa
====================================================*/
.sa {
	opacity: 0;
	transition: all 1.0s ease-in-out;
}
.sa.sa-show {
	opacity: 1;
	transform: none;
}
.sa-lr {
	transform: translate(-40px, 0);
}
.sa-rl {
	transform: translate(40px, 0);
}
.sa-up {
	transform: translate(0, 40px);
}
.sa-down {
	transform: translate(0, -40px);
}
.sa-scaleUp {
	transform: scale(.9);
}
.sa-scaleDown {
	transform: scale(1.1);
}

.sa.slideShow {
	opacity: 1;
	position: relative;
	z-index: 1;
}
.sa.slideShow:before {
	background: var(--gray);
	content: '';
	position: absolute;
		top: 0;
		left: 0;
		right: auto;
	transition: .5s ease-in-out;
	width: 0;
	height: 100%;
	z-index: 10;
}
.sa.slideShow.sa-show:before {
	-webkit-animation: anim-slide 1.0s ease-in-out forwards;
	        animation: anim-slide 1.0s ease-in-out forwards;
	-webkit-animation-delay: .4s;
	        animation-delay: .4s;
}
@-webkit-keyframes anim-slide {
	0%   {}
	55%  { width: 100%; left: 0; right: 0;}
	65% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}
@keyframes anim-slide {
	0%   {}
	47%  { width: 100%; left: 0; right: 0;}
	53% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}

.sa.slideShow:not(.sa-show) img,
.sa.slideShow:not(.sa-show) > * {
	opacity: 0;
}
.sa.slideShow.sa-show img ,
.sa.slideShow.sa-show > * {
	opacity: 1;
	transition-delay: .9s;
}


.sa.slideShow.slide-rl {
	transform: rotate(180deg);
}
.sa.slideShow.slide-rl img {
	transform: rotate(180deg);
}

.sa.slideShow.slide-white:before {
	background: #fff;
}

/*====================================================
////id |  mv
====================================================*/
#mv {
    background: url('../img/medical_heartcode/mv_bg.webp') no-repeat center / cover;
    overflow: hidden;
}
#mv .innerBox {
    padding: min(5vw, 80px) 0 0;
    max-width: 1700px;
}
#mv .mv_wrapper {
    display: grid;
}
#mv .mv_txt {
    display: grid;
    padding-bottom: min(5vw, 80px);
    text-align: center;
}
#mv .mv_txt .mv_head {
    grid-row: 4;
}
#mv .mv_txt .mv_head h1 .logo {
    display: inline-block;
    margin-top: .3em;
    text-shadow: 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, 0 0 .025em #fff, .02em .02em .06em #333;
}
#mv .mv_txt .mv_head h1 .logo sup {
    font-size: .3em;
}
#mv .mv_txt .mv_head .course {
    display: flex;
        grid-gap: .3em;
        justify-content: center;
    margin-top: .5em;
}
#mv .mv_txt .mv_head .course span {
    background: var(--green);
    border-radius: 5px;
    color: #fff;
    display: inline-block;
    font-weight: 700;
    line-height: 1.2;
    padding: .1em .5em;
    position: relative;
    width: 4em;
}
#mv .mv_txt .mv_head .course span::before {
    border: solid 1px #fff;
    border-radius: 3px;
    box-sizing: border-box;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 2px;
        left: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
}

#mv .mv_txt .mv_detail {
    display: flex;
        align-items: center;
        grid-gap: .5em;
        justify-content: center;
    margin-top: 1em;
}
#mv .mv_txt .mv_detail_item {
    background: #fff;
    border: solid 1px #ccc;
    border-radius: 5em;
    line-height: 1.5;
    padding: .5em 1em;
}
#mv .mv_txt .mv_detail .plus_icon {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path fill="%23333333" d="M20,11.44h-8.56v8.56h-2.87v-8.56H0v-2.87h8.56V0h2.87v8.56h8.56v2.87Z" /></svg>') no-repeat center / contain;
    width: .8em;
    height: .8em;
}
#mv .mv_txt .mv_intro p {
    margin-top: 1em;
    text-shadow: 0 0 .05em #fff, 0 0 .05em #fff, 0 0 .05em #fff, 0 0 .05em #fff, 0 0 .05em #fff, 0 0 .05em #fff, 0 0 .05em #fff, 0 0 .05em #fff, 0 0 .05em #fff, 0 0 .05em #fff;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 1200px) {
    #mv .mv_txt .mv_head h1 .logo {
        font-size: min(15.5vw, 17rem);
        margin: .1em -.4em 0 -.2em;
    }
    #mv .mv_txt .mv_head .course {
        font-size: min(6vw, 5rem);
    }
    #mv .mv_txt .mv_detail {
        font-size: min(3vw, 2.6rem);
    }
    #mv .mv_txt .mv_detail_item {
        flex: 1;
        max-width: 13em;
    }
    #mv .mv_txt .mv_intro p {
        font-size: min(3vw, 2.6rem);
        line-height: 1.5;
    }
    #mv .mv_img {
        padding-bottom: min(5vw, 80px);
    }
    #mv .mv_img .img {
        background: url('../img/medical_heartcode/mv_img-mob.webp') no-repeat center / contain;
        margin-left: -15%;
        width: 130%;
        height: min(60vw, 450px);
    }

}

@media screen and (max-width: 769px) {
    #mv .mv_txt .mv_head h1 .logo {
        font-weight: 900;
    }
    #mv .mv_txt .mv_detail {
        /* flex-direction: column; */
        font-size: min(3.5vw, 2.2rem);
        line-height: 1.3;
    }
    #mv .mv_txt .mv_detail_item {
    }
    #mv .mv_txt .mv_intro p {
        font-size: min(4.2vw, 2.6rem);
    }
    #mv .mv_img .img {
        width: 150%;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 1200px) {
    #mv .mv_wrapper {
        grid-template-columns: 1fr 30%;
    }
    #mv .mv_txt .mv_badge {
        margin: 0 -5%;
        width: 110%;
    }
    #mv .mv_txt .mv_head h1 .logo {
        font-size: min(9vw, 13rem);
    }
    #mv .mv_txt .mv_head .course {
        font-size: min(3vw, 6rem);
    }
    #mv .mv_txt .mv_detail {
        font-size: min(2vw, 3.6rem);
    }
    #mv .mv_txt .mv_detail_item {
        min-width: 13em;
    }
    #mv .mv_txt .mv_intro p {
        font-size: min(2vw, 3.6rem);
    }
    #mv .mv_img .img {
        background: url('../img/medical_heartcode/mv_img-pc.webp') no-repeat left bottom / contain;
        margin-left: -3vw;
        width: 54vw;
        height: 100%;
    }
}

@media (hover: hover) {}

/*====================================================
////id |  feature
====================================================*/
#feature {
    text-align: center;
}
#feature .feature_head h2 {
    display: inline-block;
    font-size: min(6vw, 4.7rem);
    margin-bottom: 1em;
    overflow: hidden;
    padding: 0 2em;
    position: relative;
}
#feature .feature_head h2::before,
#feature .feature_head h2::after {
    border-top: solid 1px var(--black);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        bottom: 0;
    width: 1.3em;
    height: 0;
}
#feature .feature_head h2::before {
    left: 0;
}
#feature .feature_head h2::after {
    right: 0;
}
#feature .feature_head h2 .logo {
    font-size: 1.25em;
}
#feature .feature_item .img {
    background: no-repeat center / cover;
}
#feature .feature_item .txt {
    display: flex;
        align-items: center;
        justify-content: center;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
}
#feature .feature_item .txt .no {
    font-size: 1.8em;
    font-weight: 900;
    line-height: 1;
}
#feature .feature_item .txt .no .small {
    font-size: .4em;
    margin-right: .2em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #feature .feature_itemBox {
        display: grid;
            grid-gap: min(3vw, 30px);
        font-size: min(4.2vw, 2rem);
        margin: auto;
        max-width: 500px;
    }
    #feature .feature_item {
        border-radius: 20px;
        box-shadow: 0 0 min(2vw, 10px) rgba(2, 91, 84, .5);
        display: grid;
            grid-template-columns: 34% 1fr;
        overflow: hidden;
    }
    #feature .feature_item .txt {
        display: flex;
            align-items: center;
        min-height: min(40vw, 200px);
        padding: 1em;
    }
    #feature .feature_item .txt .no {
        margin-bottom: .3em;
        padding-bottom: .3em;
        position: relative;
    }
    #feature .feature_item .txt .no::after {
        border-bottom: solid 2px var(--green);
        content: '';
        display: block;
        margin: auto;
        position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
        width: 20px;
        height: 0;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #feature .feature_itemBox {
        display: flex;
            align-items: center;
            flex-wrap: wrap;
            justify-content: center;
            grid-gap: 0 min(2vw, 30px);
        font-size: min(2.3vw, 2rem);
    }
    #feature .feature_item {
        border-radius: 100%;
        box-shadow: 0 0 min(2vw, 15px) rgba(2, 91, 84, .5);
        display: grid;
            grid-template-rows: 1fr auto;
        overflow: hidden;
        width: min(42vw, 380px);
        height: min(42vw, 380px);
    }
    #feature .feature_item .txt {
        height: 6em;
        padding-bottom: .4em;
    }
    #feature .feature_item .txt .no {
        position: absolute;
            bottom: calc(100% - .1em);
            left: .8em;
        text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
    }
}

@media (hover: hover) {}

/*====================================================
////id |  truble
====================================================*/
#truble .truble_wrapper {
    position: relative;
    width: 74%;
    z-index: 10;
}
#truble h2 {
    display: inline-block;
    margin-bottom: 1.5em;
    padding-bottom: .3em;
    position: relative;
}
#truble h2::after {
	background: url('../img/medical_heartcode/truble_head_deco.svg') no-repeat center top / contain;
    content: '';
    display: block;
    width: 100%;
    height: .7em;
}
#truble h2 .f-serif {
    font-size: 1.5em;
}
#truble .truble_item_wrapper {
    display: flex;
        align-items: center;
        grid-gap: 2em;
        justify-content: center;
}
#truble .truble_item {
    font-weight: 500;
    position: relative;
    text-align: center;
}
#truble .truble_item::before {
    background: #fff;
    border-radius: 100%;
    content: '';
    display: block;
    filter: blur(2em);
    margin: auto;
    opacity: .7;
    position: absolute;
        top: -1em;
        left: 0;
        right: 0;
        bottom: -1em;
    width: 100%;
    height: 100%;
        min-height: 5em;
    z-index: -1;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #truble {
        background: url('../img/medical_heartcode/truble_bg-mob.webp') no-repeat center / cover;
    }
    #truble h2 {
        font-size: min(4.3vw, 3.4rem);
    }
    #truble .truble_item_wrapper {
        font-size: min(3.8vw, 2.2rem);
        flex-direction: column;
        width: 90%;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #truble {
        background: url('../img/medical_heartcode/truble_bg-pc.webp') no-repeat center / cover;
    }
    #truble h2 {
        font-size: min(3.6vw, 4rem);
    }
    #truble .truble_item_wrapper {
        font-size: min(2.2vw, 2.6rem);
    }
    #truble .truble_item {
    }
}

@media (hover: hover) {}

/*====================================================
////id |  introduction
====================================================*/
#introduction {
    background: url('../img/medical_heartcode/introduction_bg.webp') no-repeat center;
    background-size: auto 100%;
}
#introduction .intro_main_text {
    margin-bottom: 1em;
    text-shadow: 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff;
}
#introduction .exbig {
    font-size: 1.6em;
}
#introduction .intro_second_text > div {
    background: rgba(255, 255, 255, .5);
    border-radius: 20px;
    padding: 1em 1.3em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #introduction .intro_main_text {
        font-size: min(4.6vw, 2.7rem);
        text-align: center;
    }
    #introduction .intro_second_text {
        font-size: min(3.8vw, 1.6rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #introduction .intro_main_text {
        display: flex;
            justify-content: flex-start;
        font-size: min(2.8vw, 3rem);
    }
    #introduction .intro_second_text {
        display: flex;
            justify-content: flex-end;
        font-size: min(2.2vw, 2rem);
    }
}

@media (hover: hover) {}

/*====================================================
////id |  reason
====================================================*/
#reason {
    position: relative;
}
#reason h2 {
    padding: 1em 1.3em;
}
#reason::before {
    background: linear-gradient(to bottom, #FFFEEF, #ffffff);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 500px;
}
#reason .reason_item dt {
    background: #eee;
    border-radius: 10px;
    display: flex;
        align-items: center;
        justify-content: center;
    line-height: 1.5;
    min-height: 4em;
    text-align: center;
}
#reason .reason_item dd {
    display: grid;
        place-content: center;
    padding: min(2vw, 20px) 0;
}
#reason .reason_peaple_no {
    display: flex;
        align-items: baseline;
        justify-content: center;
    font-size: min(12vw, 12.7rem);
    width: 1.7em;
}
#reason .reason_peaple_no .count_no {
    font-weight: 700;
    line-height: 1;
}
#reason .reason_peaple_no .txt {
    font-size: min(4vw, 2.4rem);
}
#reason .reason_total {
    text-align: right;
    font-size: min(4vw, 2.4rem);
}
#reason .reason_attention {
    display: flex;
        justify-content: flex-end;
    font-size: min(2vw, 1rem);
    font-weight: 400;
}
#reason .reason_txt {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .16);
    margin-top: min(10vw, 50px);
    padding: min(8vw, 70px) min(3vw, 40px);
    text-align: center;
}
#reason .reason_txt p {
    line-height: 2;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #reason h2 {
        font-size: min(4.5vw, 2.4rem);
    }
    #reason .reason_item_wrapper {
        display: flex;
            flex-wrap: wrap;
            grid-gap: min(2vw, 30px) min(2vw, 20px);
            justify-content: center;
    }
    #reason .reason_item {
        width: 48%;
    }
    #reason .reason_item dt {
        font-size: min(3.7vw, 2.0rem);
    }
    #reason .reason_peaple_no .count_no {
        font-size: min(16vw, 10rem);
    }    
    #reason .reason_txt {
        font-size: min(3.8vw, 1.8rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #reason h2 {
        font-size: min(3vw, 2.4rem);
    }
    #reason .reason_item_wrapper {
        display: flex;
            grid-gap: min(2vw, 40px);
            justify-content: center;
    }
    #reason .reason_item {
        flex: 1;
        max-width: 330px;
    }
    #reason .reason_item dt {
        font-size: min(2vw, 2.4rem);
    }
    #reason .reason_txt {
        font-size: min(2.4vw, 2.0rem);
    }
}
@media screen and (min-width:769px) and (max-width:960px) {
    #reason .reason_item dt {
        font-size: min(2.4vw, 2.4rem);
    }

}

@media (hover: hover) {}

/*====================================================
////id |  truble_check
====================================================*/
#truble_check .innerBox {
    padding: 0;
}
#truble_check .truble_check_item {
    overflow: hidden;
    padding: min(10vw, 90px) min(5vw, 45px);
    position: relative;
}
#truble_check .truble_check_item::before {
    background: url('../img/medical_heartcode/truble_check.webp') no-repeat bottom right / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        bottom: 0;
        right: 0;
    width: 100%;
    height: 100%;
}
#truble_check .truble_check_item::after {
    background: rgba(0, 0, 0, .5);
    content: '';
    display: block;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
}
#truble_check .truble_check_item ul {
    background: rgba(255, 255, 255, .8);
    border-radius: min(5vw, 40px);
    padding: min(5vw, 30px) min(5vw, 45px);
    position: relative;
    z-index: 10;
}
#truble_check .truble_check_item ul li {
    padding-left: 2em;
    position: relative;
}
#truble_check .truble_check_item ul li + li {
    margin-top: .4em;
}
#truble_check .truble_check_item ul li::before {
    border: solid 2px var(--black);
    border-radius: 3px;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: .3em;
        left: 0;
    width: 1.3em;
    height: 1.3em;
}
#truble_check .truble_check_item ul li::after {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 46"><path fill="%23CD181E" d="M41.33,1.25c-10.15,9.74-18.41,20.92-25.87,32.73-1.94-3.5-3.89-7-5.83-10.5-1.83-3.28-11.46-1.01-9.32,2.85,3.34,6.01,6.68,12.01,10.02,18.02,1.47,2.65,7.71,1.82,9.13-.55,8.4-14.12,17.51-27.99,29.43-39.42,4.25-4.08-4.83-5.74-7.55-3.13Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: .2em;
        left: .2em;
    width: 1.1em;
    height: 1.1em;
}
#truble_check .truble_check_item ul .big {
    display: contents;
    font-weight: 700;
    text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #FEF, 3px 3px 4px rgba(0, 0, 0, .6);
    margin: 0 .1em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960px) {
    #truble_check .innerBox {
        width: 100%;
    }
    #truble_check .truble_check_item::before {
        height: 120%;
    }
    #truble_check .truble_check_item ul {
        font-size: min(3.7vw, 1.8rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960px) {
    #truble_check .truble_check_item ul {
        font-size: min(2.2vw, 1.8rem);
        width: 78%;
    }
}

@media (hover: hover) {}

/*====================================================
////id |  first_cta
====================================================*/
#first_cta::before {
    background: url('../img/medical_heartcode/first_cta_img-1.webp') no-repeat top left / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
    width: 40%;
    height: 70%;
}
#first_cta::after {
    background: url('../img/medical_heartcode/first_cta_img-2.webp') no-repeat bottom right / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        bottom: 0;
        right: 0;
    width: 40%;
    height: 70%;
}
#first_cta .innerBox {
    padding-top: min(6vw, 60px);
}
#first_cta .fc_intro_txt {
    font-size: min(4.2vw, 2.4rem);
    text-align: center;
    padding: 0 0 1.5em;
    position: relative;
}
#first_cta .fc_intro_txt::before {
    background: linear-gradient(to bottom, rgba(247, 245, 184, 0), rgba(247, 245, 184, 1));
    clip-path: polygon(0 0 , 100% 0, 50% 100%);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
    width: min(30vw, 240px);
    height: min(12vw, 90px);
    z-index: -1;
}
#first_cta .fc_point {
    margin: min(3vw, 30px) auto 0;
    max-width: 1100px;
    text-shadow: 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff, 0 0 .2em #fff;
}
#first_cta .fc_point .squareMark {
    display: inline-block;
    font-size: 1.4em;
    margin: 0 .2em;
    padding: .2em .3em;
    position: relative;
    text-shadow: none;
}
#first_cta .fc_point .squareMark::before {
    background: var(--l_green);
    content: '';
    display: block;
    position: absolute;
        top: 0;
        left: 0;
    transition: .6s ease-in-out;
    width: 0;
    height: 100%;
    z-index: -1;
}
#first_cta .fc_point .squareMark.sa-show::before {
    width: 100%;
}
#first_cta .fc_point .and {
    font-size: min(6vw, 5rem);
    text-align: center;
}
#first_cta .fc_main_txt {
    text-align: center;
}
#first_cta .fc_main_txt p {
    font-size: min(5vw, 6rem);
    line-height: 1.4;
    margin: .8em 0;
    text-shadow: 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff, 0 0 .08em #fff;
}
#first_cta .fc_main_txt .logo {
    font-size: 1.25em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #first_cta::before {
        left: -7vw;
    }
    #first_cta::after {
        bottom: 65vw;
        right: -7vw;
    }
    #first_cta .fc_point {
        font-size: min(4vw, 2.4rem);
        text-align: center;
    }
    #first_cta .fc_point .squareMark {
        margin-top: .3em;
    }
    #first_cta .fc_main_txt p {
        font-size: min(6.2vw, 6rem);
        line-height: 1.4;
        margin: 3em 0 1em;
    }    
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #first_cta .fc_point {
        font-size: min(2.2vw, 2.4rem);
    }
    #first_cta .fc_point .fc_point_txt:last-child {
        display: flex;
            justify-content: flex-end;
        text-align: right;
    }
}
@media screen and (min-width:769px) and (max-width:960px) {
    #first_cta::before {
        left: -7vw;
    }
    #first_cta::after {
        right: -7vw;
    }
}

@media (hover: hover) {
}

/*====================================================
////id |  point
====================================================*/
#point {
    background: #FFFAF0;
    position: relative;
}
#point::before {
    background: linear-gradient(to bottom, #F9EED5, #FFFCF5);
    content: '';
    display: block;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 30px;
}
#point .square_balloon::before {
    background-image : linear-gradient(to right, var(--green) 65%, transparent 65%, transparent 80%, var(--green) 70%);
}
#point h2 .five_txt {
    color: #fff;
    display: inline-block;
    padding: 0 .8em;
    position: relative;
}
#point h2 .five_txt::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 80 110"><path fill="%23025B54" d="M78.8,7.44c1.54-2.24,1.71-4.13-.17-4.99-1.54-.69-4.45-.69-9.24,1.03-3.64,1.2-7.46,1.78-11.29,1.72-8.17-.15-16.27-1.66-23.94-4.47-4.45-1.72-10.26-.34-10.6,3.44-.51,3.79-3.25,14.63-5.47,23.92-2.57,10.67-4.1,16.86-4.79,18.93-.51,1.89-3.93,3.79-6.16,7.23-2.39,3.27,2.74,8.95,7.18,3.44s10.78-11.7,27.37-10.32c12.83,1.03,17.62,9.81,17.62,20.65.01,3.36-.39,6.72-1.2,9.98-3.59,14.8-13.68,26.67-30.1,25.12-15.39-1.38-14.54-8.95-13.68-11.7.68-2.75,4.1-4.65,5.13-8.6.95-4.45-1.86-8.84-6.28-9.8-.02,0-.03,0-.05-.01-5.82-1.23-11.53,2.52-12.75,8.37-.03.13-.05.27-.08.4-2.39,12.22,9.58,28.22,33.18,28.22s43.96-17.55,44.98-38.89c1.2-21.33-20.87-29.08-31.47-30.29-1.88-.17-3.76-.34-5.64-.34-8.72,0-16.59,2.06-18.47,2.93-1.37.69-2.39,1.21-2.91.86-.28-.66-.28-1.41,0-2.06.86-2.93,5.82-21.68,6.5-23.06.51-1.38,1.37-2.58,2.91-1.89,1.2.69,9.24,2.58,18.13,2.58,2.05,0,4.1-.17,6.16-.34,11.29-1.2,22.06-7.91,25.14-12.04Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        bottom: 0;
        left: 0;
    width: 100%;
    height: 170%;
}
#point .point_nav {
    display: flex;
        flex-wrap: wrap;
        justify-content: center;
        grid-gap: min(2vw, 22px) min(1.5vw, 36px);
}
#point .point_nav a {
    border: solid var(--d_orange);
    border-width: 0 3px 3px 0;
    border-radius: 10px;
    display: flex;
        align-items: center;
        justify-content: center;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}
#point .point_item_wrapper {
    display: grid;
        grid-gap: min(8vw, 40px);
    margin-top: min(10vw, 40px);
}
#point .point_item {
    position: relative;
}
#point .point_item_no {
    display: flex;
        align-items: center;
        justify-content: center;
    font-size: min(8vw, 5.0rem);
    font-weight: 700;
    line-height: 1;
    overflow: hidden;
    padding: 0 .3em .3em 0;
    position: absolute;
        top: -10px;
        left: -10px;
    text-align: center;
    width: 2.5em;
    height: 2.5em;
}
#point .point_item_no::before {
    background: #FFFAF0;
    border: solid 2px var(--black);
    border-radius: 100%;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        right: 0;
        bottom: 0;
    width: 118%;
    height: 118%;
}
#point .point_item_no > div {
    position: relative;
    z-index: 10;
}
#point .point_item_no .txt {
    font-size: .35em;
}
#point .point_item_inner {
    background: #fff;
    border: solid 2px var(--black);
    border-radius: 5px;
    display: grid;
    padding: min(7vw, 60px) min(3vw, 55px) min(6vw, 50px);
}
#point .point_item_head {
    text-align: center;
}
#point .point_item_txt ,
#point .point_item_txt2 {
    font-weight: 400;
}
#point .point_item_voice {
    font-weight: 700;
    margin-top: 1.5em;
    text-align: center;
}
#point .point_item_voice_set {
    display: flex;
        align-items: center;
        grid-gap: 20px;
        justify-content: center;
}
#point .point_item:nth-child(even) .point_item_voice_set {
    flex-direction: row-reverse;
}
#point .point_item_voice_set .img figure {
    position: relative;
    width: min(13vw, 100px);
}
#point .point_item_voice_set .img figcaption {
    font-size: min(2vw, 10px);
    font-weight: 400;
    position: absolute;
        top: calc(100% + .5em);
        left: 0;
    text-align: center;
    width: 100%;
}
#point .point_item_voice_set .txt {
    border: solid 1px #707070;
    border-radius: min(4vw, 30px);
    line-height: 1.5;
    padding: 1em min(3.5vw, 2em);
    position: relative;
}
#point .point_item_voice_set .txt::before,
#point .point_item_voice_set .txt::after {
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    width: 16px;
    height: 10px;
}
#point .point_item_voice_set .txt::before {
    background: #707070;
    top: 50%;
    right: 100%;
}
#point .point_item_voice_set .txt::after {
    background: #fff;
    top: calc(50% + 1px);
    right: calc(100% - 3px);
}
#point .point_item:nth-child(even) .point_item_voice_set  .txt::before {
    transform: scale(-1, 1);
    left: 100%;
    right: auto;
}
#point .point_item:nth-child(even) .point_item_voice_set  .txt::after {
    transform: scale(-1, 1);
    left: calc(100% - 3px);
    right: auto;
}

#point #point_2 .point_item_txt2 .detail {
    background: #F0F8F7;
    border-radius: 10px;
    font-size: 1.1em;
    font-weight: 700;
    line-height: 1.5;
    margin: .3em 0 1.5em;
    padding: .6em 1em;
    text-align: center;
}
#point #point_2 .point_item_txt2 .detail .hour {
    display: flex;
        flex-wrap: wrap;
        justify-content: center;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #point h2 {
        font-size: min(6.5vw, 3.4rem);
        padding: .4em .7em .7em;
    }
    #point h2 .first_txt {
        font-size: .8em;
    }
    #point h2 .five_txt {
        margin-top: 1.2em;
        vertical-align: -.2em;
    }
    #point .point_nav a {
        font-size: min(3.4vw, 2.2rem);
        flex: 1;
        min-width: 45%;
        max-width: 50%;
        padding: .5em 0;
    }
    #point .point_item {
        font-size: min(3.6vw, 1.7rem);
    }
    #point .point_item_no {
        transform: scale(.8);
        transform-origin: top left;
    }
    #point .point_item h3 {
        font-size: min(4.2vw, 2.6rem);
        line-height: 1.4;
        margin-bottom: 1.5em;
    }
    #point .point_item_content {
        display: grid;
            grid-gap: 1.5em;
    }
    #point .point_item_voice {
        display: grid;
            grid-gap: min(5vw, 30px);
        font-size: min(3.4vw, 1.6rem);
    }
    #point .point_item_voice_set {
        grid-gap: 15px;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #point .point_nav a {
        font-size: min(1.7vw, 2.2rem);
        min-height: 6em;
        width: 32%;
    }
    #point .point_item {
        font-size: min(1.8vw, 1.7rem);
    }
    #point .point_item h3 {
        font-size: min(2.5vw, 3.4rem);
        margin-bottom: 1.5em;
    }
    #point .point_item_inner .point_item_content {
        display: grid;
            grid-gap: 1.5em min(2vw, 20px);
    }
    #point .point_item:nth-child(odd) .point_item_content {
        grid-template-columns: 1fr 30%;
    }
    #point .point_item:nth-child(odd) .point_item_img {
        grid-column: 2;
    }
    #point .point_item:nth-child(odd) .point_item_txt {
        grid-row: 1;
    }
    #point .point_item:nth-child(even) .point_item_content {
        grid-template-columns: 30% 1fr;
    }
    #point .point_item:nth-child(even) .point_item_img {
        grid-column: 1;
    }
    #point .point_item_img .coverImg {
        height: 100%;
    }

    #point #point_1 .point_item_img {
        grid-column: 2;
        grid-row: span 2;
    }
    #point #point_1 .point_item_txt {
        grid-column: 1;
        grid-row: 1;
    }
    #point #point_1 .point_item_txt2 {
        grid-column: 1;
        grid-row: 2;
    }
    #point #point_2 .point_item_img {
        grid-column: 1;
    }
    #point #point_2 .point_item_txt {
        grid-column: span 2;
        grid-row: 1;
    }
    #point #point_2 .point_item_txt2 {
        grid-column: 2;
    }
    
    #point .point_item_voice {
        display: flex;
            align-items: center;
            grid-gap: min(3vw, 60px);
            justify-content: center;
        font-size: min(1.6vw, 1.8rem);
    }
    #point .point_item_voice_set .img figure {
        width: min(8vw, 100px);
    }    
}
@media screen and (min-width:769px) and (max-width:960px) {
    #point .point_nav a {
        font-size: min(2vw, 2.2rem);
    }
    #point .point_item h3 {
        font-size: min(4.5vw, 2.6rem);
    }
    #point #point_1 .point_item_img {
        grid-column: 2;
        grid-row: 2;
    }
    #point #point_1 .point_item_txt {
        grid-column: 1 / 3;
        grid-row: 1;
    }
    #point #point_1 .point_item_txt2 {
        grid-column: 1;
        grid-row: 2;
    }

    #point .point_item {
        font-size: min(2.1vw, 1.7rem);
    }
    #point .point_item_voice {
        flex-direction: column;
        font-size: min(2vw, 2rem);
    }
    #point .point_item_voice_set .img figure {
        width: min(20vw, 80px);
    }    
}

@media (hover: hover) {
    #point .point_nav a:hover {
        filter: brightness(1.1) saturate(1.5);
    }
}

/*====================================================
////id |  evaluate
====================================================*/
#evaluate .bg_en_text span {
    right: 0;
}
#evaluate .evaluate_head {
    text-align: center;
}
#evaluate .evaluate_head h2 {
    margin-bottom: 1em;
}
#evaluate .evaluate_head .small_head {
    display: block;
    font-size: .65em;
}
#evaluate .evaluate_item_wrapper {
    display: grid;
        grid-gap: min(8vw, 40px) min(3vw, 50px);
}
#evaluate .evaluate_item dt {
    background: #EEEEEE;
    border-radius: min(2vw, 10px);
    display: flex;
        align-items: center;
        justify-content: center;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 auto 1em;
    min-height: 4em;
    text-align: center;
}
#evaluate .evaluate_item dd {
    margin: auto;
    position: relative;
    transition: .6s ease-in-out;
    transition-delay: .5s;
}
#evaluate .evalute_item_txt {
    background: #fff;
    border-radius: 100%;
    display: grid;
        place-content: center;
        place-items: center;
    font-weight: 700;
    line-height: 1.5;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    text-align: center;
        
}
#evaluate .evalute_item_txt .no {
    font-size: 3.6em;
    line-height: 1;
}
#evaluate .evaluate_attention {
    display: flex;
    justify-content: flex-end;
    font-size: min(2vw, 1rem);
    font-weight: 400;
    margin-top: 2em;
}
#evaluate .evaluate_detail {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .16);
    font-weight: 700;
    margin-top: min(10vw, 50px);
    padding: min(8vw, 70px) min(3vw, 40px);
    text-align: center;
}
#evaluate .evaluate_detail .evalute_detail_main {
    font-size: min(3.8vw, 2rem);
    margin-bottom: 1em;
}
#evaluate .evaluate_detail .evaluate_detail_other {
    font-size: min(3.8vw, 1.8rem);
}
#evaluate .evaluate_detail .evaluate_detail_other ul {
    display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        grid-gap: 1em min(2vw, 45px);
    margin: 1em auto;
    max-width: 1000px;
}
#evaluate .evaluate_detail .evaluate_detail_other li {
    display: flex;
        justify-content: center;
        align-items: center;
    flex: 1;
    min-height: 5em;
    position: relative;
    padding: .5em 1em;
}
#evaluate .evaluate_detail .evaluate_detail_other li::before,
#evaluate .evaluate_detail .evaluate_detail_other li::after {
    border: solid var(--green);
    border-width: 1px 0 0 1px;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    width: 2em;
    height: 2em;
}
#evaluate .evaluate_detail .evaluate_detail_other li::before {
    top: 0;
    left: 0;
}
#evaluate .evaluate_detail .evaluate_detail_other li::after {
    right: 0;
    bottom: 0;
    transform: rotate(180deg);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #evaluate .evaluate_head h2 {
        font-size: min(6vw, 5rem);
    }
    #evaluate .evaluate_item dt {
        font-size: min(4vw, 1.8rem);
        width: min(100%, 350px);
    }
    #evaluate .evaluate_item dd {
        width: min(90%, 400px);
    }    
    #evaluate .evalute_item_txt {
        font-size: min(3.6vw, 1.8rem);
        width: min(36vw, 180px);
        height: min(36vw, 180px);
    }
    #evaluate .evaluate_detail .evalute_detail_main .marker_line {
        font-size: 1.3em;
        margin: .3em 0;
    }
    #evaluate .evaluate_detail .evaluate_detail_other ul {
        flex-direction: column;
        font-size: 1.1em;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #evaluate .evaluate_head h2 {
        font-size: min(3vw, 5rem);
    }
    #evaluate .evaluate_item_wrapper {
        grid-template-columns: 1fr 1fr;
    }
    #evaluate .evaluate_item dt {
        font-size: min(2vw, 1.8rem);
        width: min(100%, 350px);
    }
    #evaluate .evaluate_item dd {
        max-width: 500px;
    }    
    #evaluate .evalute_item_txt {
        font-size: min(2vw, 2.2rem);
        width: min(20vw, 220px);
        height: min(20vw, 220px);
    }
}

@media screen and (min-width:769px) and (max-width:960px) {
    #evaluate .evaluate_detail .evaluate_detail_other ul {
        grid-gap: 1em min(5vw, 45px);
    }
    #evaluate .evaluate_detail .evaluate_detail_other li {
        min-width: 45%;
        max-width: 50%;
    }
}

@media screen and (min-width: 960px) {
    #evaluate .evaluate_detail .evalute_detail_main {
        font-size: min(2vw, 2.3rem);
    }    
    #evaluate .evaluate_detail .evaluate_detail_other {
        font-size: min(1.9vw, 2rem);
    }
    #evaluate .evaluate_detail .evaluate_detail_other li {
        font-size: min(1.7vw, 2rem);
    }
}

@media (hover: hover) {}

/*====================================================
////id |  about
====================================================*/
#about {
    background: #F5FAFA;
    overflow: hidden;
}
#about::before {
    background: url('../img/medical_heartcode/logo.svg') no-repeat top right / contain;
    content: '';
    display: block;
    margin: auto;
    opacity: .05;
    position: absolute;
        top: -5vw;
        right: -5vw;
    width: 35vw;
    height: 50%;
}
#about .about_head .small_head {
    display: block;
    font-size: .5em;
}

#about .about_feature_head {
    margin: min(10vw, 70px) auto min(8vw, 50px);
    position: relative;
}
#about .about_feature_head_deco {
    font-size: min(10vw, 9rem);
    font-weight: 900;
    line-height: 1;
    margin: auto;
    opacity: .06;
    position: absolute;
        top: 0;
        left: 47%;
}
#about .about_feature_head h3 {
    font-size: min(6vw, 3.4rem);
    padding-top: 1em;
    text-align: center;
}
#about .about_feature_item_wrapper {
    display: grid;
        grid-gap: min(5vw, 40px) min(3vw, 30px);
}
#about .about_feature_item {
    background: #fff;
    border: solid 2px var(--black);
    border-radius: 5px;
    padding: min(5vw, 40px) min(3vw, 50px);
    position: relative;
}
#about .about_feature_item_no {
    display: flex;
        align-items: center;
        justify-content: center;
    font-size: min(8vw, 5.0rem);
    font-weight: 700;
    line-height: 1;
    overflow: hidden;
    padding: 0 .3em .3em 0;
    position: absolute;
        top: -10px;
        left: -10px;
    transform-origin: top left;
    text-align: center;
    width: 2.5em;
    height: 2.5em;
}
#about .about_feature_item_no::before {
    background: #F5FAFA;
    border: solid 2px var(--black);
    border-radius: 100%;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        right: 0;
        bottom: 0;
    width: 118%;
    height: 118%;
}
#about .about_feature_item_no > div {
    position: relative;
    z-index: 10;
}
#about .about_feature_item_no .txt {
    font-size: .35em;
}
#about .about_feature_item_icon {
    height: min(15vw, 70px);
}
#about .about_feature_item_txt dt {
    display: flex;
        align-items: center;
        justify-content: center;
    line-height: 1.5;
    margin: .3em 0;
    min-height: 4em;
    text-align: center;
}
#about .about_feature_item_txt dd {
    font-weight: 400;;
}

#about .about_prize {
    margin-top: min(10vw, 60px);
}
#about .about_prize_first_txt {
    text-align: center;
}
#about .about_prize_first_txt .txt {
    font-size: min(4vw, 4.3rem);
    font-weight: 700;
    margin-bottom: 1.4em;
    padding: 0 1.5em;
    position: relative;
}
#about .about_prize_first_txt .txt::before,
#about .about_prize_first_txt .txt::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 47 66"><path fill="%23333333" d="M45.29,66c-.65,0-1.24-.36-1.53-.94L12.2,2.48c-.43-.84-.09-1.87.76-2.3.84-.42,1.87-.09,2.3.76l31.56,62.58c.43.84.09,1.86-.74,2.29-.24.12-.51.19-.78.19M38.53,66c-.59,0-1.14-.31-1.46-.81L.22,5.56c-.47-.82-.18-1.86.64-2.33.78-.44,1.77-.21,2.27.54l36.85,59.63c.5.8.26,1.85-.54,2.35-.27.17-.59.26-.91.26" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        bottom: 0;
    width: 1.2em;
    height: 100%;
}
#about .about_prize_first_txt .txt::before {
    left: 0;
}
#about .about_prize_first_txt .txt::after {
    right: 0;
    transform: scale(-1, 1);
}
#about .about_prize_wrapper {
    border-radius: min(3vw, 20px);
    border: solid #D3AA00;
    border-width: 0 4px 4px;
    background: #fff;
    padding: 0 min(4vw, 60px) min(6vw, 60px);
    position: relative;
}
#about .about_prize_head_wrapper {
    display: flex;
        justify-content: center;
}
#about .about_prize_head_wrapper::before ,
#about .about_prize_head_wrapper::after {
    border: solid #D3AA00;
    border-width: 4px 0 0 4px;
    border-radius: min(3vw, 20px) 0 0;
    box-sizing: border-box;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
    width: calc(50% - 10em);
    height: 1em;
}
#about .about_prize_head_wrapper::before {
    left: -4px;
}
#about .about_prize_head_wrapper::after {
    right: -4px;
    transform: scale(-1, 1);
}

#about .about_prize_head {
    background: linear-gradient(to right, #D3AA00 calc(50% - 2em), transparent calc(50% - 2em), transparent calc(50% + 2em), #D3AA00 calc(50% + 2em) );
    background-repeat: no-repeat;
    background-position: top left;
    background-size: 100% 4px;
    display: inline-block;
    font-weight: 700;
    padding: 0 .7em;
    position: relative;
    text-align: center;
}
#about .about_prize_head::before ,
#about .about_prize_head::after {
    background: url('../img/medical_heartcode/prize_leaf_deco.svg') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        bottom: 0;
    width: 1.2em;
    height: 3em;
}
#about .about_prize_head::before {
    left: -.8em;
}
#about .about_prize_head::after {
    right: -.8em;
    transform: scale(-1, 1);
}
#about .about_prize_head h3 {
    font-size: inherit;
    line-height: 1.5;
    padding-top: .4em;
}

#about .about_prize_head h3 .year {
    font-size: 1.4em;
    display: inline;
    line-height: 1;
}
#about .about_prize_txt {
    margin: 1.5em 0;
    text-align: center;
}
#about .about_prize_detail {
    font-weight: 400;;
}
#about .about_prize_attention {
    display: flex;
        justify-content: flex-end;
    font-size: min(2vw, 1rem);
    font-weight: 400;
}
#about .ctaBtn_wrapper {
    margin-top: min(8vw, 70px);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960px) {
    #about .about_head .small_head {
        font-size: .7em;
        line-height: 1.5;
        margin-bottom: .3em;
    }
    #about .about_introduction_img .coverImg {
        padding-top: min(65%, 400px);
    }
    #about .about_introduction_txt {
        margin-top: 1.5em;
    }
    #about .about_feature_item {
        font-size: min(3.7vw, 1.5rem);
    }
    #about .about_feature_item_no {
        transform: scale(.8);
    }
    #about .about_feature_item_txt dt {
        font-size: min(4.8vw, 2.4rem);
    }

    #about .about_prize_head_wrapper {
        font-size: min(5vw, 3.5rem);
    }
    #about .about_prize_head_wrapper::before, #about .about_prize_head_wrapper::after {
        width: calc(50% - 7.8em);
    }
    #about .about_prize_head {
        background-image: linear-gradient(to right, #D3AA00 calc(50% - 4em), transparent calc(50% - 4em), transparent calc(50% + 4em), #D3AA00 calc(50% + 4em));
        padding: 0 .4em;
    }
    #about .about_prize_head::before {
        left: -1em;
    }
    #about .about_prize_head::after {
        right: -1em;
    }
    #about .about_prize_head h3 {
        line-height: 1.8;
        text-shadow: 0 0 0 currentColor, 0 0 0 currentColor, 0 0 1px currentColor;
    }
    #about .about_prize_head .first_txt_mob {
        margin: auto;
        padding: 0 .3em;
        position: absolute;
            top: -.8em;
            left: 0;
            right: 0;
    }
    #about .about_prize_head .year {
        margin-left: .2em;
    }
    #about .about_prize_txt {
        font-size: min(4vw, 1.8rem);
    }
    #about .about_prize_detail .txt {
        margin-top: 1.5em;
    }
    #about .about_prize_detail .img {
        margin: auto;
        max-width: 480px;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960px) {
    #about .about_introduction {
        display: grid;
            grid-gap: min(4vw, 70px);
            grid-template-columns: 1fr min(65%, 600px);
        font-size: 1.8rem;
    }
    /* #about .about_introduction_img {
        margin-bottom: min(8vw, 40px);
    } */
    #about .about_introduction_img .coverImg {
        height: 100%;
    }
    #about .about_introduction_txt {
        display: flex;
            align-items: center;
    }

    #about .about_feature_item_wrapper {
        grid-template-columns: 1fr 1fr;
    }
    #about .about_feature_item_txt dt {
        font-size: min(2vw, 2.4rem);
    }
    #about .about_prize_head_wrapper {
        font-size: min(3vw, 4.5rem);
    }

    #about .about_prize_head .first_txt {
        margin: auto;
        padding: 0 .3em;
        position: absolute;
            top: -.8em;
            left: 0;
            right: 0;
    }
    #about .about_prize_txt {
        font-size: min(1.7vw, 2rem);
    }
    #about .about_prize_detail {
        display: grid;
            grid-gap: min(4vw, 50px);
            grid-template-columns: 30% 1fr;
    }

}
/* @media screen and (min-width:769px) and (max-width:960px) {
    #about .about_feature_item_no {
        transform: scale(.8);
    }
    #about .about_feature_item_txt dt {
        font-size: min(2.4vw, 2.4rem);
        min-height: 5em;
    }
} */

@media (hover: hover) {}

/*====================================================
////id |  course
====================================================*/
.border_deco_head {
    border: solid var(--black);
    border-width: 1px 0;
    margin-bottom: min(5vw, 60px);
    padding: min(2.5vw, 10px) 0;
}
.border_deco_head h2 {
    background: #FFF0D2;
    border-radius: min(2vw, 15px);
    font-size: min(3.4vw, 4rem);
    padding: .8em .5em;
    text-align: center;
}
#course .innerBox {
    padding-bottom: 0;
}
#course .course_nav {
    display: flex;
        align-items: center;
        justify-content: center;
        grid-gap: min(3vw, 15px) min(3vw, 30px);
}
#course .course_nav a {
    border: solid 1px var(--green);
    border-radius: 2em;
    display: flex;
        align-items: center;
    flex: 1;
    font-size: min(3.4vw, 2rem);
    font-weight: 700;
    max-width: 400px;
    padding: .2em .8em;
}
#course .course_nav a .txt {
    flex: 1;
    text-align: center;
}
#course .course_nav a:after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path fill="%23025B54" d="M20,10C20,4.48,15.52,0,10,0S0,4.48,0,10s4.48,10,10,10,10-4.48,10-10M9.35,12.1l-2.76-2.75c-.21-.21-.21-.55,0-.76s.55-.21.76,0l2.38,2.38,2.37-2.38c.21-.21.55-.21.76,0s.21.55,0,.76l-2.76,2.75c-.21.21-.55.21-.76,0,0,0,0,0,0,0" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    width: 1em;
    height: 1em;
}
#course .course_item {
    margin-top: min(12vw, 80px);
}
#course .course_item_head {
    display: flex;
        justify-content: center;
}
#course .course_item_head h3 {
    border-bottom: solid 1px;
    font-size: min(5vw, 6rem);
    line-height: 1;
    margin-bottom: .8em;
    padding: 1.3em .3em .2em;
    position: relative;
}
#course .course_item_head h3::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 44"><path fill="%23ff696e" d="M16.07,18.48c.13-.43.52-.72.96-.73h.02c.45.02.84.33.95.77l2.18,8.4,3.64-14.35c.12-.54.65-.88,1.19-.76.4.09.7.41.77.81l3.78,18.26,3.05-8.77c.13-.39.48-.66.89-.69.41-.02.79.21.96.58l2.04,4.22,9.66.04c2.43-3.84,3.75-8.28,3.82-12.83C50.09,6.1,44.23.09,36.9,0c-4.98-.06-9.58,2.67-11.9,7.07C21.58.6,13.56-1.88,7.08,1.53,2.67,3.85-.06,8.44,0,13.42c.08,4.57,1.41,9.02,3.86,12.88h9.79l2.42-7.82ZM35.19,28.07l-1.29-2.32-3.52,8.79c-.17.38-.55.62-.97.61h-.07c-.44-.01-.82-.31-.94-.73l-3.71-15.56-3.6,12.34c-.14.42-.55.7-.99.69h0c-.45.01-.85-.26-.99-.69l-2.33-7.77-1.64,4.59c-.16.4-.55.66-.98.65H4.81c4.79,5.93,12.27,11.1,20.19,15.33,7.94-4.24,15.44-9.44,20.23-15.38l-9.12-.03c-.38,0-.73-.19-.92-.51" /></svg>') no-repeat center bottom / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
    width: .85em;
    height: 1em;
}
#course .course_item_main_txt {
    margin-top: 1.5em;
}
#course .course_item_small_head h4 {
    font-size: min(5vw, 2.4rem);
    font-weight: 700;
    margin: min(8vw, 3em) auto min(6vw, 1.5em);
    padding-bottom: .5em;
    position: relative;
    text-align: center;
}
#course .course_item_small_head h4::after {
    border-bottom: solid 2px var(--black);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
    width: 1.25em;
    height: 0;
}
#course .course_item_detail_list {
    display: grid;
        grid-gap: min(5vw, 30px) min(2vw, 40px);
}
#course .course_item_detail_list dl {
    border: solid 1px #D1F0ED;
    text-align: center;
}
#course .course_item_detail_list dt {
    background: #D1F0ED;
    font-size: min(4.2vw, 2rem);
    padding: .4em 1em .45em;
}
#course .course_item_detail_list dt .squareMark {
    border: solid 1px;
    border-radius: 4px;
    line-height: 1;
    margin-right: .6em;
    padding: .1em 1em;
}
#course .course_item_detail_list dd {
    font-weight: 400;
    padding: 1.5em 1em;
}
#course .course_item_detail_list dd .markList {
    display: inline-block;
    text-align: left;
}
#course .course_item_detail_list dd .markList li {
    padding-left: 1.8em;
}
#course .course_item_detail_list dd .markList li::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 22 22"><path fill="%23025b54" d="M11,0C4.92,0,0,4.92,0,11s4.92,11,11,11,11-4.92,11-11S17.08,0,11,0M16.39,8.83l-5.8,5.95c-.44.46-1.17.46-1.63.02,0,0,0,0,0,0l-.8-.78h0l-2.52-2.46c-.46-.44-.46-1.17-.02-1.63.44-.46,1.17-.46,1.63-.02h0l2.5,2.44,4.99-5.12c.44-.46,1.17-.47,1.63-.02.46.44.47,1.17.02,1.63h0" /></svg>') no-repeat center / contain;
    content: '';
    top: .1em;
    width: 1.375em;
    height: 1.375em;
}
#course .course_item_info dl {
    line-height: 1.4;
}
#course .course_item_info dd {
    font-weight: 400;
}
#course .course_item_info dd img {
    margin-top: .5em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .border_deco_head h2 {
        font-size: min(5.5vw, 4rem);
    }
    #course .course_item_head h3 {
        font-size: min(6.5vw, 5rem);
    }    
    #course .course_item_head h3::before {
        width: 1.2em;
    }
    #course .course_item_detail_list {
        margin: auto;
        max-width: 500px;
    }
    #course .course_item_detail_list dd {
        padding: 1em 1em;
    }    
    #course .course_item_detail_list ul {
        width: 100%;
    }
    #course .course_item_info dt {
        border-bottom: solid 2px vaR(--green);
        display: inline-block;
        margin: 1.5em 0 .5em;
        padding: 0 .5em .2em;
    }
    #course .course_item_info dl:first-child dt {
        margin-top: 0;
    }
    #course .course_item_info dd {
        padding-left: 1.5em;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #course .course_item_main_txt {
        margin-top: 1.5em;
        text-align: center;
    }
    #course .course_item_main_txt p {
        font-size: min(2vw, 1.8rem);
    }
    #course .course_item_detail_list {
        grid-template-columns: 1fr 1fr;
    }
    #course .course_item_info dl {
        display: grid;
            grid-template-columns: 300px 1fr;
    }
    #course .course_item_info dt {
        border-bottom: solid 2px var(--green);
        display: flex;
            align-items: center;
            justify-content: center;
        padding: 1em .5em;
        text-align: center;
    }
    #course .course_item_info dd {
        border-bottom: solid 2px #D1F0ED;
        display: flex;
            align-items: center;
        padding: 1em 2em;
    }
}

@media screen and (min-width:769px) and (max-width:960px) {
    #course .course_item_detail,
    #course .course_item_info {
        font-size: 1.5rem;
    }
    #course .course_item_info dl {
        display: grid;
        grid-template-columns: 220px 1fr;
    }
}

@media (hover: hover) {}

/*====================================================
////id |  flow
====================================================*/
#flow .flow_item_wrapper {
    display: grid;
        grid-gap: min(7vw, 30px);
}
#flow .flow_item {
    display: grid;
        align-items: flex-start;
        grid-gap: 1em min(2vw, 20px);
    position: relative;
}
#flow .flow_item::before {
    border-left: solid 2px #D1F0ED;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: calc(min(5vw, 3.6rem) * 1.3);
        left: calc(min(5vw, 3.6rem) * 1.3);
    width: 0;
    height: 0;
    z-index: -1;
}
#flow .flow_item:last-child::before {
    display: none;
}
#flow .flow_item.sa-show::before {
    animation: flow_line 2s .4s linear forwards;
}
@keyframes flow_line {
    0% { height: 0; }
    100% { height: 100%; }
}
#flow .flow_item_no {
    background: #D1F0ED;
    border-radius: 100%;
    display: grid;
        place-content: center;
        place-items: center;
    line-height: 1;
    font-size: min(5vw, 3.6rem);
    text-align: center;
    width: 2.6em;
    height: 2.6em;
}
#flow .flow_item_no .txt {
    font-size: .48em;
}
#flow .flow_item_txt dl {
    line-height: 1.6;
}
#flow .flow_item_txt dt {
    margin: min(3vw, 1.8rem) 0 .3em;
}
#flow .flow_item_txt dd {
    font-weight: 400;
}
.arrow_link {
    color: var(--green) !important;
    border-bottom: solid 1px;
    display: inline-block;
    font-weight: 700;
    padding: 0 2em .2em .2em;
    position: relative;
}
.arrow_link::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path fill="%23025b54" d="M10,0C4.48,0,0,4.48,0,10s4.48,10,10,10,10-4.48,10-10S15.52,0,10,0M12.1,10.65l-2.75,2.76c-.21.21-.55.21-.76,0s-.21-.55,0-.76l2.38-2.38-2.38-2.37c-.21-.21-.21-.55,0-.76s.55-.21.76,0l2.75,2.76c.21.21.21.55,0,.76,0,0,0,0,0,0" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        right: .2em;
        bottom: 0;
    transition: .3s ease-in-out;
    width: 1.25em;
    height: 1.25em;
}
#flow .flow_item_txt .arrow_link {
    margin-top: 1em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #flow .flow_item {
        grid-template-columns: auto 1fr;
    }
    #flow .flow_item_no {
        grid-row: span 2;
    }
    #flow .flow_item_txt dt {
        font-size: 1.25em;
    }
    #flow .flow_item_img .coverImg {
        padding-top: min(35vw, 65%);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #flow .flow_item {
        grid-template-columns: auto 1fr 25%;
    }
    #flow .flow_item_txt dt {
        font-size: min(2.8vw, 2.4rem);
    }
    #flow .flow_item_img {
        padding-top: min(3vw, 1.8rem);
    }   
}
@media (hover: hover) {
    .arrow_link:hover {
        padding-right: 2.2em;
    }
    .arrow_link:hover::after {
        right: 0;
    }
}

/*====================================================
////id |  voice
====================================================*/
#voice {
    background: #FFFAF0;
}
#voice .voice_head {
    text-align: center;
}
#voice .voice_head h2 {
    margin-bottom: 1em;
}
#voice .voice_main_txt {
    margin: min(5vw, 40px) 0  min(8vw, 60px);
}
#voice .voice_item_wrapper {
    display: grid;
        grid-gap: min(3vw, 20px);
    font-size: min(3.4vw, 1.5rem);
    font-weight: 400;
}
#voice .voice_item {
    padding-bottom: 65px;
    position: relative;
}
#voice .voice_item_txt {
    background: #fff;
    border: solid 1px #707070;
    border-radius: min(10vw, 25px);
    display: flex;
        align-items: center;
        justify-content: center;
    height: 100%;
    padding: min(3.5vw, 30px) min(4vw, 35px);
    position: relative;
}
#voice .voice_item_txt::before ,
#voice .voice_item_txt::after {
    clip-path: polygon(0 0, 100% 0, 0 100%);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    width: 20px;
    height: 20px;
}
#voice .voice_item_txt::before {
    background: #fff;
    top: calc(100% - 2px);
    left: calc(30% + .8px);
}
#voice .voice_item_txt::after {
    background: #707070;
    top: 100%;
    left: 30%;
    z-index: -1;
}
#voice .voice_item_img {
    margin: auto;
    position: absolute;
        bottom: 0;
        right: 72%;
    width: 80px;
    height: 80px;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #voice .voice_head h2 {
        font-size: min(6vw, 5rem);
    }
    #voice .voice_item_wrapper {
        grid-gap: 0;
    }
    #voice .voice_item_img {
        transform: scale(.8);
    }

    #voice .voice_item:nth-child(even) .voice_item_txt::before {
        left: auto;
        right: calc(30% + .8px);
        transform: scale(-1, 1);
    }
    #voice .voice_item:nth-child(even) .voice_item_txt::after {
        left: auto;
        right: 30%;
        transform: scale(-1, 1);
    }
    #voice .voice_item:nth-child(even) .voice_item_img {
        right: auto;
        left: 73%;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #voice .voice_head h2 {
        font-size: min(3vw, 5rem);
    }
    #voice .voice_main_txt p {
        font-size: 2rem;
        text-align: center;
    }
    #voice .voice_item_wrapper {
        grid-template-columns: 1fr 1fr;
    }

    #voice .voice_item:nth-child(4n - 1) .voice_item_txt::before,
    #voice .voice_item:nth-child(4n) .voice_item_txt::before {
        left: auto;
        right: calc(30% + .8px);
        transform: scale(-1, 1);
    }
    #voice .voice_item:nth-child(4n - 1) .voice_item_txt::after,
    #voice .voice_item:nth-child(4n) .voice_item_txt::after {
        left: auto;
        right: 30%;
        transform: scale(-1, 1);
    }
    #voice .voice_item:nth-child(4n - 1) .voice_item_img,
    #voice .voice_item:nth-child(4n) .voice_item_img {
        right: auto;
        left: 73%;
    }

}

@media (hover: hover) {}

/*====================================================
////id |  faq
====================================================*/
#faq .faq_head {
    text-align: center;
}
#faq .faq_head h2 {
    margin-bottom: 1em;
}
#faq .faq_item_wrapper {
    display: grid;
        grid-gap: min(3vw, 20px);
    margin: auto;
    max-width: 1000px;
}
#faq .faq_item {
    border: solid 1px var(--green);
    border-radius: min(2vw, 10px);
}
#faq .faq_item dt {
    font-size: 1.1em;
    padding: 1em 3em 1em 4em;
    position: relative;
}
#faq .faq_item dt .icon {
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        right: 1em;
        bottom: 0;
    width: 1em;
    height: 1em;
}
#faq .faq_item dt .icon::before,
#faq .faq_item dt .icon::after {
    border-top: solid 2px var(--green);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    transition: .2s ease-in-out;
    width: 100%;
    height: 0;
}
#faq .faq_item dt .icon::after {
    transform: rotate(90deg);
}
#faq .faq_item.open dt .icon::before {
    transform: rotate(90deg);
    opacity: 0;
}
#faq .faq_item.open dt .icon::after {
    transform: rotate(180deg);
}

#faq .faq_item dd .accordion-inner {
    padding: .3em 1em 1em 4em;
    position: relative;
}
#faq .faq_item dt::before ,
#faq .faq_item dd .accordion-inner::before {
    font-family: var(--f_en);
    font-size: min(5.5vw, 2.6rem);
    font-weight: 700;
    display: block;
    line-height: 1;
    margin: auto;
    position: absolute;
        left: .9em;
    width: 1.5em;
    height: 1em;
}
#faq .faq_item dt::before {
    content: 'Q.';
    color: var(--green);
    top: .6em;
}
#faq .faq_item dd .accordion-inner::before {
    content: 'A.';
    color: var(--orange);
    top: .2em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #faq .faq_head h2 {
        font-size: min(6vw, 5rem);
    }
    #faq .faq_item dt ,
    #faq .faq_item dd .accordion-inner {
        padding-left: min(10vw, 6rem);
    }
    #faq .faq_item dd .accordion-inner {
        margin-left: 1em;
    }
    #faq .faq_item dt::before ,
    #faq .faq_item dd .accordion-inner::before {
        font-family: var(--f_en);
        font-size: min(5vw, 2.2rem);
    }
    #faq .faq_item dt::before {
        top: .9em;
        left: min(3vw, 2.2rem);
    }
    #faq .faq_item dd .accordion-inner::before {
        left: min(3vw, 2.2rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    #faq .faq_head h2 {
        font-size: min(3vw, 5rem);
    }
    #faq .faq_item dd .accordion-inner {
        margin-left: 3em;
    }    
}

@media (hover: hover) {}

/*====================================================
////id |  fixed_btn
====================================================*/
#fixed_btn .innerBox {
    min-height: 300px;
    padding-top: 0;
}
#fixed_btn .fixed_btn_item {
    display: none;
    margin: auto;
    position: fixed;
        left: 0;
        right: 0;
        bottom: 20px;
    width: 94%;
}
#fixed_btn.stop .fixed_btn_item {
    position: absolute;
    top: 0;
    bottom: auto;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}


@media (hover: hover) {}
