@charset "utf-8";
/*
Theme Name: wellness
Theme URI: http://webforart.net/
Description: yonezakiサイトテーマ。
Author: Web for Art
Author URI: http://webforart.net/
Version: 1.0.0
*/
/* リセットCSS */
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}main{display:block}h1,h2,h3,h4,h5,h6{font-size:inherit;line-height:inherit;font-weight:bold;}a{text-decoration:none;color:inherit;transition:all .3s ease-in-out}img{display: block;max-width:100%;height:auto;vertical-align: middle;}ol,ul{list-style:none}table{border-collapse:collapse}input,textarea,select{font:inherit;line-height:inherit;border:1px solid #ccc;padding:8px;}textarea{resize:vertical}button{padding: 0;font-family: inherit;appearance: none;cursor: pointer;background-color: transparent;border: none;}fieldset{border:0;padding:0;margin:0;min-width:0}legend{display:block;width:100%;max-width:100%;padding:0;white-space:normal;}[hidden],template{display:none}:focus-visible{outline:2px solid #000}

/* 汎用CSS
===================================================== */

/* スマホでテキストの折り返し用 */
.ib {display: inline-block}

/* フォーム */
label {margin-bottom:8px;}
select,
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
textarea {width: 100%;max-width: 100%;padding: 8px 16px;background-color: #fff;margin-top: 4px;}
select,input,textarea {line-height: 1.1;font-family: inherit;font-size: inherit;font-weight: inherit;}

input[type="submit"],
input[type="button"]{padding: 12px 16px;}

.fontM{font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;}
.fontG{font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;}
.fonten{font-family:var(--en-font)}

:root {
	--font-color: #222222;
	--main-color:#7FBE25;
	--bg-color: #E9EDF0;
	--orange-color:#F5A100;
	--blue-color:#0FB5ED;
	--main-font:"Zen Kaku Gothic New", sans-serif;
	--en-font:"Rubik", sans-serif;
	--hover-transform:all .3s ease-in-out;
	--hamburger-transform:display .5s ease-in-out;
	--show-anime:opacity .5s , translate 1s;
	--clip-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
	--clip-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
	--clip-triangle-right: polygon(0 0, 100% 50%, 0 100%);
	--clip-triangle-left: polygon(0 50%, 100% 0, 100% 100%);
	--clip-triangle-lower-left: polygon(0 0, 100% 100%, 0 100%);
	--clip-triangle-upper-left: polygon(0 0, 100% 0, 0 100%);
	--clip-triangle-lower-right: polygon(100% 0, 100% 100%, 0 100%);
	--clip-triangle-upper-right: polygon(0 0, 100% 0, 100% 100%);
}

::selection {background-color: var(--main-color);color:#fff;}

/* 基本レイアウト
===================================================== */

html{height: -webkit-fill-available;}
body{min-height: 100vh;min-height: -webkit-fill-available;}

body {font-size: 15px;font-weight: 500;font-family:var(--main-font);line-height:1.6;letter-spacing: .05em;color: var(--font-color);text-align: justify;font-feature-settings: "palt";}

#page{overflow:hidden;}
.page-content{padding-block: 80px;}
.container{width: 1135px;max-width: 100%;padding-inline: 20px;margin-inline: auto;position: relative;z-index:11;}

@media(max-width:720px){
	body{font-size:14px;}
}

/* ヘッダー
===================================================== */
.sec-header{position:absolute;width:100%;z-index: 111;}
.header-content{display:grid;place-items:center;padding-top:30px;}

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

.hamburgerbutton {position: fixed;display: block;text-decoration: none;-webkit-appearance: none;-moz-appearance: none;appearance: none;border: none;cursor: pointer;width: 120px;aspect-ratio: 1/1;background-color: var(--main-color);padding: 0;margin:0 auto;top: 0;right: 0;z-index: 111;border-radius: 0 0 0 1000px;}
.hamburgerbutton-line {position: absolute;top: 50px;width: 30px;height: 2px;-webkit-transition: inherit;transition: inherit;background-color: #fff;font-size: 11px;font-family: var(--en-font);line-height: 3;color: #fff;}
.hamburgerbutton-line::before,
.hamburgerbutton-line::after {position: absolute;display: block;width: 100%;height: 100%;background-color: inherit ;content: '';-webkit-transition: inherit;transition: inherit;transition: transform .2s;}
.hamburgerbutton-line::before {top: -8px;}
.hamburgerbutton-line::after {top: -16px;}
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line {background-color: transparent;color: var(--main-color);}
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line::before,
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line::after {top: -8px;background-color: var(--main-color);}
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line::before {transform: rotate(45deg);width:100%;}
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line::after {transform: rotate(-45deg);width:100%;}
.visuallyHidden {position: absolute;white-space: nowrap;width: 1px;height: 1px;overflow: hidden;border: 0;padding: 0;clip: rect(0 0 0 0);clip-path: inset(50%); margin: -1px;}
.nav_hamburger-menu{position:fixed;inset: 0;margin: auto;width: 100%;height: 100dvh;overflow: auto;transition: opacity .5s;align-items: center;pointer-events: none;}

.hamburger-content{width: 320px;max-width: 89%;height: 100%;margin-left: auto;background-color: var(--main-color);padding-inline: 20px;padding-block: 40px;overflow: auto;opacity:0;transition:opacity 1.4s cubic-bezier(0.14,1,0.34,1)}
.hamburger-site-logo{padding-block:20px;padding-inline:20px;background-color:#fff;border-radius:10px;width:fit-content;}
.hamburger-menu{margin-top: 40px;padding-inline: 10px;}
.hamburger-menu li:not(:first-child){margin-top: 2em;}
.hamburger-menu li a{display: flex;align-items:center;gap: 1em;font-size: 16px;font-weight: bold;color: #fff;position:relative}
.hamburger-menu li a::after{content:attr(title);display: inline-block;font-size:18px;font-weight:bold;font-family: var(--en-font);text-transform: capitalize;color: var(--font-color);line-height: 1;}
.hamburger-menu li a::before{content:'';position:absolute;width: 10px;aspect-ratio:1/1;border-radius:100px;background-color:#fff;right:0;top: 9px;}

.is-drawerActive .hamburgerbutton{z-index: 1112;background-color: #fff;}
.is-drawerActive .nav_hamburger-menu{pointer-events: auto;}
.is-drawerActive .nav_hamburger-menu{display: flex;}
.is-drawerActive .hamburger-content{opacity:1}

/* フッター
---------------------------- */
.sec-footer{padding-block:120px 27px;position:relative}
.sec-footer::before{content:'';position:absolute;height: 944px;z-index: -1;bottom:0;left:0;right:0;background:linear-gradient(to bottom ,  #fff 27%, var(--bg-color) 100%);}
.footer-item{display:grid;place-items:center;}
.footer-address{margin-top:1em}
.footer-address p{font-size:14px;text-align:center;}
.footer-menu-list{display:flex;justify-content:center;margin-top:40px;}
.footer-menu-list li:not(:first-child){border-left:1px solid}
.footer-menu-list li a{font-size:15px;font-weight:bold;color:var(--main-color);display:grid;place-items:center;padding-inline:3em;position:relative}
.footer-menu-list li a::before{content:'';position:absolute;width:8px;aspect-ratio:1/1;background-color:var(--main-color);border-radius:10px;right:calc(3em - 3px);bottom:0;}
.footer-menu-list li a::after{content:attr(title);display:block;font-size:24px;font-family:var(--en-font);text-transform:capitalize;color:var(--font-color);line-height:1;margin-top:4px;}
.site-generator{font-size:12px;font-family:var(--en-font);text-align:center;margin-top:3em}

@media(max-width:1024px){
}

@media(max-width:767px){
}

/*-------------------------------------
/* 共通
--------------------------------------- */

.link-over{position:absolute;inset:0;margin:auto;z-index: 11;}
.fadeUP{opacity: .0;translate: 0 50px;transition:var(--show-anime);}
.fadeLeft{opacity: .0;translate: -50px 0;transition:var(--show-anime);}
.fadeRight{opacity: .0;translate: 50px 0;transition:var(--show-anime);}
.show .fadeUP{opacity:1;translate:0}
.show .fadeLeft{opacity:1;translate:0}
.show .fadeRight{opacity:1;translate:0}
.show .delay2{transition-delay:.2s}
.show .delay4{transition-delay:.4s}
.show .delay6{transition-delay:.6s}

/*-------------------------------------
/* ホバースタイル
--------------------------------------- */

@media (hover: hover){
	.hamburger-menu li a:hover{opacity:.5}
	.footer_navi a:hover{opacity:.5}
	.link-over:hover ~ .service-list-head figure img{scale:1.05}
	.link-over:hover ~ .service-list-head .link-arrow{scale:.8}
}
.com-sec-tit{position:relative;z-index:11}
.sec-tit-jp{font-size:18px;color:var(--main-color);letter-spacing:.08em}
.sec-tit-en{font-size:40px;font-weight:bold;font-family:var(--en-font);line-height: 1;text-transform: capitalize;width: fit-content;position:relative}
.sec-tit-en::after{content:'';position:absolute;width:10px;aspect-ratio:1/1;border-radius:100px;background-color:var(--main-color);bottom:3px;right:-4px;}
.txt-green{color:var(--main-color)}


/* TOP
===================================================== */
.sec-mv{background-color:var(--bg-color);position:relative;}
.mv-item{display:grid;place-items:center;height:100dvh;min-height:806px;}
.mv-item-in{display:flex;justify-content:center;}
.mv-item-des{padding-block: 80px;padding-inline: 60px;position:relative;z-index:1}
.mv-item-des::after{content:'';position:absolute;inset:0;margin:auto;background-color:#fff;filter: blur(30px);border-radius:360px;z-index:-1}
.mv-item-des h3{font-size:42px;letter-spacing:.1em;}
.mv-item-des h3 .txt-blur{font-size:46px;letter-spacing:.08em;position:relative;z-index:1}
.mv-item-des h3 .txt-blur::before{content:'';position:absolute;inset:0;margin:auto;width:40px;aspect-ratio:1/1;filter:blur(20px);z-index:-1}
.txt-blur-orange::before{background-color:var(--orange-color);}
.txt-blur-blue::before{background-color:var(--blue-color);}
.mv-item-des p{font-size:20px;font-weight:bold;margin-top:2em;line-height:2}
.mv-item-des p .txt-green{font-size:22px;}
.mv-logo-mark{position:absolute;left: -48px;bottom:-30px;}
.mv-img{position:absolute;right: -175px;bottom:0;width:500px;z-index:1}
.sec-mission{padding-top: 152px;overflow: hidden;}
.mission-swiper .swiper-wrapper{transition-timing-function: linear;}
.mission-swiper .swiper-slide:nth-child(even){margin-top:60px;}
.mission-swiper .swiper-slide img{border-radius:10px}
.mission-txt-loop{display:flex;width:100%;overflow:hidden;margin-top:-120px;}
.mission-txt-loop p{flex-shrink: 0;font-size:140px;font-weight:bold;font-family:var(--en-font);color:var(--bg-color);white-space: nowrap;}
.mission-txt-loop p:nth-child(odd) {animation: loop 160s -80s linear infinite;}
.mission-txt-loop p:nth-child(even) {animation: loop2 160s linear infinite;}
@keyframes loop {
    0% {
      transform: translateX(100%);
    }
    to {
      transform: translateX(-100%);
    }
}

@keyframes loop2 {
    0% {
      transform: translateX(0);
    }
    to {
      transform: translateX(-200%);
    }
}

.sec-guidelines{padding-block:110px 160px}
.guidelines-item-list{margin-top:100px;width:980px;max-width:100%;margin-inline:auto}
.guidelines-item-list li{display:grid;grid-template-columns:100px minmax(0,1fr);gap: 70px;}
.guidelines-item-list li:not(:first-child){margin-top:100px}
.guidelines-item-list li:first-child .guidelines-num{letter-spacing:.08em}
.guidelines-num{font-size:76px;font-weight:bold;font-family:var(--en-font);line-height:1;align-self:flex-start;width: fit-content;position:relative;}
.guidelines-num::after{content:'';position:absolute;width:20px;aspect-ratio:1/1;border-radius:20px;background-color:var(--main-color);bottom:10px;right:-4px;}
.guidelines-des{margin-top:.5em}
.guidelines-des h3{font-size:36px;letter-spacing: 0;}
.guidelines-des p{font-size:18px;font-weight:bold;letter-spacing: 0;margin-top: 1em;}

.sec-message .container{width:1340px;}
.message-item{padding-block:100px;padding-inline:96px 120px;background:url(./images/message-bg-1.png)no-repeat right top / 30% ,url(./images/message-bg-2.png)no-repeat left bottom / 30%;background-color:var(--bg-color) ;position:relative;}
.message-des{width:725px;max-width:100%;margin-left:auto;margin-top:20px;}
.message-des h3{font-size:30px;}
.message-des-body{margin-top:40px}
.message-des-body p:not(:first-of-type){margin-top:1em}
.message-des-bottom{width:fit-content;margin-left:auto;margin-top:50px;}
.message-des-bottom .position{font-weight:bold;}
.message-des-bottom .license{font-size:14px;}
.message-des-bottom .namae{margin-top:20px;width:fit-content;margin-left:auto;}
.message-img{position:absolute;bottom:0;left:96px;width: 19vw;min-width: 226px;}

.sec-company{padding-block:160px;}
.company-table{width:820px;max-width:100%;margin-inline:auto;margin-top:80px;table-layout: fixed;word-break: break-all;word-wrap: break-word;}
.company-table th{font-size:18px;color:var(--main-color);width:200px;padding-block:24px;border-bottom:1px solid var(--bg-color)}
.company-table td{font-size:16px;padding-block:24px;border-bottom:1px solid var(--bg-color)}
.company-table td li:not(:first-child){margin-top:.5em;}
.company-table td .year{display:inline-block;width:48px;margin-right:1em;border-right:1px solid;line-height:1;}

.sec-service{position:relative;}
.sec-service::before{content:'';position:absolute;width:200%;height: 520px;background-color:var(--main-color);top:300px;left:50%;translate:-50% 0;filter:blur(50px);opacity:.8}
.service-anime{width:144px;aspect-ratio: 1/1;margin-inline:auto;display: grid;place-items: center;position:relative;}
.service-anime-triangle{position:absolute;inset:0;margin:auto;animation:rotate 4s linear infinite;}
.anime-point{width:18px;aspect-ratio:1/1;border-radius:100%;position:absolute;}
.anime-point-green{background-color:var(--main-color);top: 0px;left: 50%;translate: -50% -100%;}
.anime-point-orange{background-color:var(--orange-color);bottom: 0;left: 0;translate: -50% 0;}
.anime-point-blue{background-color:var(--blue-color);bottom: 0;right:0;translate: 50% 0;}

@keyframes rotate {
    0% {
		transform:  rotate(0deg) scale(1.2);
	}
	50% {
		transform:  rotate(180deg) scale(.9);
	}
    100% {
      transform: rotate(360deg) scale(1.2);
    }
}

.service-item{margin-top:100px;}
.service-item-des{font-size:24px;font-weight:bold;text-align:center;line-height:2.2;}
.service-item-des .txt-green{display:inline-block;font-size:28px;font-weight:bold;line-height:1;padding-block:8px;padding-inline:12px;background-color:#fff;border-radius:5px;margin-right:12px;}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap: 3vw;margin-top:80px}
.service-list li{border-radius:10px;position: relative;overflow:hidden;}
.service-list-head{position:relative;}
.service-list-head h3{position:absolute;width:120px;aspect-ratio:1/1;display:grid;place-items:center;background-color:#fff;border-radius:10px 0 10px 0;top:0;left:0;z-index: 1;}
.service-list-head figure{overflow:hidden;aspect-ratio: 52/29;}
.service-list-head figure img{width:100%;height:100%;object-fit:cover;transition:var(--hover-transform);}
.service-list-body{padding-block:30px;padding-inline:30px;background-color:#fff;}
.service-list-body h4{font-size:20px;margin-bottom:1em}
.service-list-body h4::before{content:'';display:inline-block;width:20px;aspect-ratio:1/1;border-radius:100%;margin-right:10px;vertical-align:-2px}
.service-list-seitai .service-list-body h4::before{background-color:var(--orange-color)}
.service-list-medicalfitness .service-list-body h4::before{background-color:var(--blue-color)}
.link-arrow{width:60px;aspect-ratio:1/1;border-radius:100%;position:absolute;bottom:-14px;right:30px;transition:var(--hover-transform)}
.link-arrow::before{content:'';position:absolute;;inset:0;margin:auto;background:url(./images/arrow.png)no-repeat center / 15px;}
.service-list-seitai .link-arrow{background-color:var(--orange-color)}
.service-list-medicalfitness .link-arrow{background-color:var(--blue-color)}


@media(max-width:1024px){
	.mv-item-in{flex-direction:column;}
	.mv-item-des h3{font-size:32px;}
	.mv-item-des h3 .txt-blur{font-size:40px;}
	.mv-item-des p{font-size:18px;}
	.guidelines-item-list li{grid-template-columns:minmax(0,1fr);gap: 10px;}
	.guidelines-num{font-size:56px}
	.guidelines-num::after{width:16px;bottom:7px}
	.guidelines-des h3{font-size: 28px;line-height: 1.4;}
	.guidelines-des p{font-size:16px;}
	.company-table td .year{display:block;border:none;margin-bottom:.5em}
	.company-table td .year::before{content:'';display:inline-block;width:8px;aspect-ratio:1/1;background-color:var(--font-color);margin-right:4px;vertical-align: 1px;}
	.sec-service::before{height:70%}
	.service-list{grid-template-columns:minmax(0,1fr);width:480px;max-width:100%;margin-inline:auto;gap: 40px;}
	.footer-menu-list{flex-direction:column;gap:24px;align-items:center}
	.footer-menu-list li a{width:fit-content;}
	.footer-menu-list li:not(:first-child){border-left:none}
}

@media(max-width:767px){
	.sec-tit-jp{font-size:16px;}
	.sec-tit-en{font-size:32px;}
	.header-content{padding-top:16px}
	.site-logo{width:160px}
	.hamburgerbutton{width:80px}
	.hamburgerbutton-line{top:32px;right:16px}
	.mv-item{height:640px;min-height:auto}
	.mv-item-des{padding-inline: 0;padding-block: 40px;}
	.mv-item-des h3{font-size:28px}
	.mv-item-des h3 .txt-blur{font-size:34px}
	.mv-item-des p{font-size:16px;line-height:1.6}
	.mv-item-des p br{display:none}
	.mv-item-des p .txt-green{font-size:18px}
	.mv-logo-mark{width: 20vw;min-width: 160px;left: 0;opacity: .5;}
	.mv-img{width: 39vw;min-width: 250px;right:-40px;}
	.sec-mission{padding-top:80px}
	.mission-swiper .swiper-slide:nth-child(even){margin-top:40px}
	.mission-txt-loop{margin-top: -66px;}
	.mission-txt-loop p{font-size:80px;}
	.sec-guidelines{padding-block: 40px 80px;}
	.guidelines-item-list{margin-top:40px}
	.guidelines-num{font-size:40px}
	.guidelines-num::after{width:8px;right:0;bottom:8px}
	.guidelines-des h3{font-size:22px}
	.guidelines-item-list li:not(:first-child){margin-top:40px}
	.message-item{padding-inline:20px;padding-block:40px}
	.message-des-body{margin-top:24px}
	.message-des{margin-top:40px}
	.message-des h3{font-size:24px;line-height:1.4}
	.message-des-bottom .namae{width:80px;margin-top:10px}
	.message-img{left:8px;min-width:120px}
	.sec-company{padding-block:80px}
	.company-table{margin-top: 16px;}
	.company-table th,
	.company-table td{display:block;width:100%;}
	.company-table th{border:none;padding-bottom:0;font-size:16px}
	.company-table td{padding-top:8px;font-size: 14px;}
	.service-anime{margin-top:40px;width:100px}
	.service-anime figure{width:40px}
	.anime-point{width:10px}
	.service-item-des{font-size:20px}
	.service-item-des .txt-green{font-size:18px;margin-right:8px}
	.service-list-head figure{aspect-ratio:4/3}
	.service-list-head h3{width:80px;padding:16px}
	.link-arrow{width:40px}
	.service-list-body h4{font-size:18px;}
	.service-list-body h4::before{width:16px}
}