@charset "UTF-8";
/*
Theme Name: ウェルネス
Version: 1.0
comment: 2025/11/20
*/

/* #Reset & Basics
================================================== */
img {
	 margin: 0;
	 padding: 0;
	 border: 0;
	 font: inherit;
	 vertical-align: baseline;
}

:root {
	 scroll-padding-top: 220px;
	 scroll-behavior: smooth;
}
#lp_style {
	 font-size:1.05em;
	 color: #000;
	 line-height: 1.8em;
	 font-family: "Zen Kaku Gothic Antique", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	 font-weight: 400;
}

p{
	 text-align: justify;
}

strong, b {
	color: #348;
    font-weight: 500;
}
section {
	 width: 100%;
}
#lp_style a{
	 color: #455580;
	 text-decoration: underline;
	 transition: .5s;
}
#lp_style a:hover{
	 opacity: .3;
}
 h1{
	 line-height: 1.8em;
     font-weight: 500;
}
 h2{
	 font-size:2em;
	 color: #455580;
     font-weight: 500;
}
 h3{
	 font-size:1.25em;
	 line-height: 1.5em;
	 margin: 1.2em 0;
	 padding: 0.3em 0;
	 color: #455580;
	 border-top:3px solid #455580;
	 border-bottom:3px solid #455580;
     font-weight: 500;
}
 h4{
	 font-size:1.4em;
	 line-height: 1.8em;
	 margin-bottom: .8em;
	 color: #455580;
     font-weight: 500;
}
 #sec06 h4{
	 font-size:1.6em 
}
 h5{
	 font-size:1.3em;
	 line-height: 1.5em;
	 padding: 0.45em 5%;
	 color:#455580;
	 border-bottom:3px solid #455580;
	 background-color: #fff;
	 font-family: "游ゴシック体", YuGothic, sans-serif;
	 font-weight: 500;
}
 .y500{
	 font-family: "游ゴシック体", YuGothic, sans-serif;
	 font-weight: 500;
}
 .title-box{
	 position: relative;
	 padding: 0.3em 1.6em;
	 border-top: solid 2px black;
	 border-bottom: solid 2px black;
	 margin-bottom: 1em;
}
 .title-box:before, .title-box:after {
	 content: '';
	 position: absolute;
	 top: -7px;
	 width: 2px;
	 height: -webkit-calc(100% + 14px);
	 height: calc(100% + 14px);
	 background-color: black;
}
 .title-box:before {
	 left: 7px;
}
 .title-box:after {
	 right: 7px;
}
 .p-txt{
	 padding: 1em;
}
 .p-txt p{
	 margin-bottom: 1em;
}
#lp_style img{
	 display: block;
	 max-width: 100% 
}
#lp_style b{
	 color: #455580;
}
 .w500{
	 font-weight: 500;
}
 .arrow {
	 position: relative;
	 top:-.1em;
	 display: inline-block;
	 width: 1.2em;
	 height: .6em;
}
 .arrow::before, .arrow::after {
	 content: "";
	 position: absolute;
	 bottom: 0;
	 left: calc(50% - 1px);
	 width: 2px;
	 height: .6em;
	 border-radius: 9999px;
	 background-color: #455580;
	 transform-origin: 50% calc(100% - 1px);
}
 .arrow::before {
	 transform: rotate(45deg);
}
 .arrow::after {
	 transform: rotate(-45deg);
}
#lp_style .price{
	 font-family: 'Arial', sans-serif;
	 font-weight: 500;
     color: #000;
}
 .point{
	 margin-top: -.8em;
	 margin-right: .3em;
	 width: 2.5em;
	 display: inline-block !important;
}
 .kana{
	 letter-spacing: -.1em;
}
 .marker {
	 display: inline;
	 position: relative;
	 background-image: linear-gradient(90deg, rgba(252, 246, 159, 0.6), rgba(252, 246, 159, 0.7));
	 background-repeat: no-repeat;
	 background-position: 0 95%;
	 background-size: 0 25%;
	 background-size: 0 25%;
	 animation: draw-marker 1.5s ease-out forwards;
	 animation-delay: .5s;
	 padding: 0 .1em;
	 margin-left: .2em;
}
 @keyframes draw-marker {
	 50% {
		 background-size: 0 25%;
	}
	 100% {
		 background-size: 100% 25%;
	}
}
/* layout ***************************************************************************/

 .w100%{
	 width: 100vw;
	 height: auto;
}
 .m1100{
	 max-width: 96%;
	 width: 1100px;
	 display: block;
	 margin: 0 auto;
}
 #sec01{
	 width: 100%;
	 height: 80vh;
	 background-image: url('../img/mv_yoga.webp');
	 background-size: cover;
	 background-repeat: no-repeat;
	 background-position: bottom;
	 position: relative;
}
 .copy{
	 position: absolute;
	 z-index: 2;
	 color:#fff;
	 font-size:3.2vw;
	 line-height: 1.3em;
	 text-align: left;
	 right:3%;
	 bottom:8%;
	 font-feature-settings: "palt" 1;
	 letter-spacing: 0.01em;
	 text-shadow: 0 0 5px rgba(0,0,0,.35), 0 0 10px rgba(0,0,0,.35), 0 0 20px rgba(0,0,0,.35);
}
 .logo{
	 position: absolute;
	 top:25%;
	 right:3%;
	 width:14.5vw;
	 height: auto;
	 box-shadow: .2em .2em .4em rgba(0, 0, 0, 0.1);
}
 .mvb{
	 position: absolute;
	 width: 100%;
	 position: absolute;
	 bottom:-8%;
	 z-index: 1;
}
 #sec02{
	 margin-top:2em;
}
 #sec03{
	 padding: 3em 0 5em 0;
	 background-color:rgba(255,255,230,0.25);
}
 #sec03 p{
	 padding: 0 1em;
	 box-sizing: border-box;
}
 #sec03 h3{
	 padding: .5em 1em;
	 box-sizing: border-box;
}
 #sec04{
	 background-color:rgba(230,235,245,0.5);
	 padding: 5em 0 0 0;
	 box-sizing: border-box;
}
 #sec05{
	 padding: 4em 0;
	 background-color:rgba(255,255,230,0.6);
}
 #sec06{
	 background-color:rgba(230,235,245,0.4);
	 padding: 4em 0 1em 0;
	 box-sizing: border-box;
}
 .ctext{
	 text-align: center;
	 margin-bottom: 1em;
}
 .ctext p{
	 font-size:1.1em;
	 line-height: 1.8em;
	 font-weight: 400;
	 padding: 1.5em;
	 text-align: center;
	 letter-spacing: 0.05em;
}
 .photo{
	 background-size: cover;
	 background-repeat: no-repeat;
	 background-position: center;
	 position: relative;
}
 .f-container {
	 display: flex;
	 flex-wrap: wrap;
}
 .f-container2 {
	 display: flex;
	 flex-wrap: wrap;
	 margin-bottom: 3em;
	 gap: 2em 4%;
}
 .f-container3 {
	 display: flex;
	 flex-wrap: wrap;
	 justify-content: center;
	 padding: .8em 5% 1.5em 5%;
	 gap: 2em 4%;
	 width: 100%;
     box-sizing:border-box;
	 position: absolute;
	 bottom:0;
}
#lp_style .f-container3 a{
	 text-decoration: none;
	 white-space: nowrap;
}
 .item {
	 width: calc(100% / 4);
	 box-sizing: border-box;
	 padding: 1.5em 2em;
	 min-height: 20em;
	 position: relative;
}
 .item h4{
	 font-size:1.2vw;
	 line-height: 1.4em;
	 margin-bottom: .7em;
}
 .item p{
	 font-size:.85vw;
	 line-height: 1.65em;
}
 .lbox1,.lbox2,.lbox3{
	 width: calc(92% / 3);
	 text-align: center;
	 display: block;
	 padding: .3em 0;
	 box-sizing: border-box;
	 color: #455580;
	 border: double 3px #455580;
	 background-color: #fff;
	 font-weight: 500;
	 border-radius: .2em;
}
 .lbox2{
	 background-color: rgba(69,85,128,.15);
}
 .lbox3{
	 color: #fff !important;
	 background-color: rgba(69,85,128,.75);
}
 .exbox{
	 width: calc(96% / 2);
	 box-sizing: border-box;
	 padding: 22em 0 0 0;
	 min-height: 28em;
	 position: relative;
	 background-color: #fff;
	 box-shadow: .2em .2em .4em rgba(0, 0, 0, 0.1);
	 border-radius: .8em;
	 background-size: contain;
	 background-repeat: no-repeat;
	 background-position: center top;
	 position: relative;
}
 .exbox p{
	 background-color: #fff;
	 box-sizing: border-box;
	 z-index: 1;
	 padding: .5em 5% 5.5em 5%;
	 border-radius: 0 0 .8em .8em;
}
 .boxheader{
	 text-align: right;
	 position: absolute;
	 top:.5em;
	right:.25em;
	 font-weight: 500;
}
 .jp,.ov,.stay,.tour{
	 display: inline-block;
	 padding: .2em .5em;
	 color: #333;
	 line-height: 1.2em;
	 margin: 0 .25em;
	 border-radius: .2em;
	 box-shadow: .2em .2em .4em rgba(0, 0, 0, 0.1);
}
 .jp{
	 background-color: #fee;
}
 .ov{
	 background-color: #eef;
}
 .stay{
	 background-color: #eff;
}
 .tour{
	 background-color: #ffe;
}
 .date{
	 text-align: center;
	 width: 90%;
	 box-sizing: border-box;
	 margin:.8em 5% 0 5%;
	 border: solid 1px #455580;
	 font-family: "游ゴシック体", YuGothic, sans-serif;
	 font-weight: 400;
}
 .date th{
	 padding: 0 .5em;
	 color:#fff;
	 box-sizing: border-box;
	 background-color: #455580;
	 height: 100%;
	 box-sizing: border-box;
     text-align: center !important;
}
 .date td{
	 box-sizing: border-box;
	 background-color: #fff;
     text-align: center !important;
}
 .thema{
	 position: relative;
	 top:-.1em;
	 font-size:.75em;
	 color:#fff;
	 background-color: #455580;
	 padding: .3em 1em;
	 margin-right: .2em;
	 line-height: 1em;
	 display: inline-block;
}
 .border{
	 color: #455580;
	 border-bottom: 1px #455580 solid;
	 padding-bottom: .35em;
	 margin-bottom: 1em;
}
 .block{
	 color:#fff;
	 background-color: #455580;
	 padding: 0.3em 0.6em;
	 box-sizing: border-box;
	 border-radius: .2em;
}
 .btn{
	 font-weight: 500;
	 color:#455580;
	 border: solid 1px #455580;
	 text-align: center;
	 display: block;
	 margin: auto;
	 padding: .4em 1.8em;
	 width: fit-content;
	 position: absolute;
	 left: 0;
	right: 0;
	 bottom:1.5em;
}
 .lphoto{
	 float: left;
	 width: 420px;
	 margin-top: 1.8em;
	 margin-right: 2em;
	 margin-bottom: 3em;
}
 .rphoto{
	 float: right;
	 width: 420px;
	 margin-top: 1.8em;
	 margin-left: 2em;
}
 .rbook{
	 float: right;
	 width: 200px;
	 margin-right: 2em;
	 margin-top: 0;
	 box-shadow: .1em .1em .8em rgba(0, 0, 0, 0.2);
	 text-align: center;
	 font-size:.9em;
}
 .white-box{
	 margin-top: 2em;
	 width: 100%;
	 background-color: #fff;
	 padding: 2em;
	 box-sizing: border-box;
	 box-shadow: .2em .2em .6em rgba(0, 0, 0, 0.2);
	 border-radius: 1em;
}
 .linkbox{
	 font-size:1.1em;
	 width: fit-content;
	 text-align: center;
	 display: block;
	 margin: auto;
	 margin-bottom: 2em;
	 padding: 1em 2em;
	 border: double 3px #455580;
	 background-color: #fff;
	 box-shadow: .2em .2em .6em rgba(0, 0, 0, 0.1);
	 font-weight: 500;
}
 .tb {
	 border:1px solid #C0C0C6;
	 border-collapse:collapse;
	 padding:5px;
	 margin-top: .3em;
}
 .tb th {
	 border:1px solid #C0C0C6;
	 padding:5px;
	 background:#F0F0F3;
	 vertical-align: middle;
}
 .tb td {
	 border:1px solid #C0C0C6;
	 padding:2px 1em;
	 vertical-align: middle;
}
 .ex{
	 font-size:.9em;
	 line-height: 1.4em;
	 margin-top: .5em;
}
 .ex p{
	 padding: 0 !important;
}
/* box ***************************************************************************/
 .jtbox2{
	 margin: 2.5em 0.4em;
	 padding:.5em 50% 2em 2em;
	 background: none;
	 border:1px solid #ccc ;
	 position: relative;
	 width: 100%;
	 height: auto;
	 display: inline-block;
	 box-sizing: border-box;
}
 .jtbox2 h2{
	 font-size:1.5em;
	 line-height: 1.5em;
	 color:#fff;
	 background-color: #455580;
	 padding: 0.3em 0.6em;
	 box-sizing: border-box;
	 border-radius: .2em;
}
 .jtbox2 h2,.jtbox2 h3{
	 text-align: center;
	 margin: 1em auto;
	 display: block;
	 white-space: nowrap;
}
 .jtbox2 p{
	 font-size:1.1em;
	 margin-bottom: 0;
	 line-height: 1.8em;
}
 .jtbox2:after{
	 background-color:rgba(255,255,230,0.5);
	 border:none;
	 content: '';
	 position: absolute;
	 top: 7px;
	 left: 7px;
	 width: 100%;
	 height: 100%;
	 z-index: -1;
}
 .t-illust{
	 position: absolute;
	 top:-6px;
	right:20px;
	 max-width: 50%;
}
 .timg-a{
	 margin-top: 2em;
	 margin-left: -1em;
	 width: 20%;
	 float: left;
	 z-index: 1;
	 transform: rotate(-6deg);
	 box-shadow: .4em .4em 0px 0 rgb(0, 0, 0, 0.2);
}
 .boximg-a{
	 position: absolute;
	 width: 40%;
	 top:4%;
	 right: 5%;
	 z-index: 4;
	 transform: rotate(-4deg);
	 box-shadow: .4em .4em 0px 0 rgb(0, 0, 0, 0.2);
}
 .boximg-b2{
	 position: absolute;
	 width: 47%;
	 right: 1em;
	 top:3em;
	 z-index: 3;
	 transform: rotate(2deg);
	 box-shadow: .4em .4em 0px 0 rgb(0, 0, 0, 0.2);
}
 .jt-icon{
	 position: absolute;
	 top:-50px;
	 right: -20px;
	 height: auto;
	 vertical-align: bottom;
	 z-index: 5;
}
 .jt-icon img{
	 height: 80px;
	 width: auto;
	 display: inline-block;
	 margin: 0 2px;
}
 .rpos{
	 position: relative;
	 right: -0.3em;
}
 .jtbox_title{
	 margin-top: 0.5em;
	 line-height: 2em;
}
 .omiya{
	 font-size:0.9em;
	 line-height: 1em;
	 margin-top: 0.5em;
	 background-color: yellow;
	 padding: 0.3em 0.4em 0.1em 0.4em;
	 display: inline-block;
}
 .jtbox_link{
	 font-size:0.9em;
	 line-height: 1.4em;
	 position:absolute;
	 right:0;
	 bottom:0;
	 color:#eee;
	 background-color:#333;
	 padding: 0.6em 1em 0.6em 1.5em;
	 border-top-left-radius: 1.5em;
}
 .jtbox_link a{
	 color: #fff;
	 font-weight: bold;
	 text-decoration: none;
	 border-bottom: #fff 1px solid;
	 display: inline-block;
	 line-height: 1.1em;
}
 .jtbox b{
	 font-weight: bold;
}
 .flor{
	 float: right;
}
 .flol{
	 float: left;
}
 .box-text{
	 text-align: left;
	 line-height: 1.6em;
}
 .links{
	 margin: 2em 0;
	 text-align: center;
}
 .fclear{
	 clear:both;
}
 .comming{
	 margin-top: 1.2em;
	 text-align: center;
}
 .comming span{
	 white-space: nowrap;
	 line-height: 1.2em;
	 border-bottom:5px rgba(255,255,0,0.65) solid;
}
 .floatl{
	 float:left;
}
/* Animation ***************************************************************************/
 .a1{
	 animation: copy 2s linear;
	 animation-fill-mode:forwards;
}
 .a2{
	 animation: copy2 3s linear 0.5s;
	 animation-fill-mode:forwards;
	 opacity: 0;
}
 @keyframes copy {
	 0%{
		 opacity: 0;
	}
	 30%{
		 opacity: 0;
		 transform : translate(-1em, 0);
	}
	 60%{
		 opacity: 1;
		 transform : translate(0, 0);
	}
	 100% {
		 opacity: 1;
	}
}
 @keyframes copy2 {
	 0%{
		 opacity: 0;
	}
	 20%{
		 opacity: 0;
		 transform : translate(0, 1em);
	}
	 50%{
		 opacity: 1;
		 transform : translate(0, 0);
	}
	 90% {
		 opacity: 1;
	}
	 100% {
		 opacity: 1;
	}
}
 .scroll{
	 position: absolute;
	 margin: 0 auto;
	 right:0;
	left:0;
	 bottom:.5em;
	 width: 3.5em;
	 z-index: 6;
	 opacity: 0;
	 filter: drop-shadow(0 0 2em rgba(255,255,255,0.8));
	 animation: flash 2.5s linear infinite;
	 animation-delay: 2.5s;
}
 @keyframes flash {
	 0%,100% {
		 opacity: 0;
	}
	 50% {
		 opacity: 1;
	}
}
 .fadein_ {
	 opacity : 0;
	 transform : translate(0, 1.5em);
	 transition : all 1s;
}
 h1.fadein_ {
	 opacity : 0;
	 transform : translate(-0.8em, 0);
	 transition : all 1s;
	 transition-delay: 0.2s;
}
 h2.fadein_ {
	 opacity : 0;
	 transform : translate(-0.8em, 0);
	 transition : all 1s;
	 transition-delay: 0.4s;
}
 .fadein_.delay {
	 transform : translate(0, 2.5em);
	 transition : all 1.2s;
}
 .fadein_.num{
	 transform : translate(0, 0.5em);
	 transition : all 0,5s;
}
 .fadein_.scrollin_ {
	 opacity : 1;
	 transform : translate(0, 0);
}
 .onsp{
	 display: none !important;
}
}

/* Responsive ***************************************************************************/
 @media (max-width: 1600px) and (orientation: landscape) {
	 .item p{
		 font-size:1vw;
		 line-height: 1.7em;
	}
}
 @media (max-width: 1400px) and (orientation: landscape) {
	 .item h4{
		 font-size:1.4vw;
		 line-height: 1.4em;
		 white-space: nowrap;
	}
	 .item p{
		 font-size:1.05vw;
		 line-height: 1.8em;
	}
	 .item .btn{
		 font-size:1vw;
	}
}
 @media screen and (orientation: portrait) {
	 .offsp{
		 display: none !important;
	}
	 .onsp{
		 display: block !important;
	}
	 .f-container.onsp{
		 display: flex !important;;
	}
	 p{
		 font-size:3.5vw;
		 line-height: 1.8em;
	}
	 .ctext p{
		 font-size:3.5vw;
		 text-align: justify;
	}
	 #footer{
		 background: none;
		 height: fit-content;
	}
	 .logo{
		 position: absolute;
		 top:11%;
		 right:3%;
		 width:35vw;
	}
	 h1{
		 font-size:1.5em;
		 line-height: 1.4em;
	}
	 h2,h3{
		 font-size:1.2em;
	}
	 h4{
		 font-size:1.2em;
	}
	 #sec01{
		 background-image: url('../img/p_yoga_t.webp');
         height: 90vh
	}
	 #sec03{
		 padding-top: 0;
	}
	 #sec04,#sec06{
		 padding-top: 3em;
	}
	.copy{
		 color: #455580;
		 text-align: left;
		 font-size:7vw !important;
		 line-height: 1.6em;
		 top: 18%;
		 left: 5%;
		 text-shadow: none;
		 font-weight: 500;
	}
	 .title01{
		 font-size:4.9vw !important;
         white-space: nowrap;
	}
	 .item {
		 width: calc(100% / 2);
		 min-height: 48vh;
		 font-size:0.9em;
		 line-height: 1.6em;
		 padding: 1em 1em 2em 1em;
	}
	 .lphoto,.rbook{
		 float:inherit;
		 display: block;
		 width: 80%;
		 margin: auto;
		 margin-bottom: 0;
	}
	 .rbook{
		 margin-bottom: 2em;
		 width: 70%;
	}
	 .rphoto{
		 float:inherit;
		 display: block;
		 width: 100%;
		 margin: auto;
		 margin-top: 3em;
		 margin-bottom: 0;
	}
	 .white-box{
         font-size:3.5vw;
		 padding: 1em 5%;
	}
	 .exbox{
		 width: 100%;
		 padding: 0;
		 padding-top:18em;
		 min-height: 25em;
	}
	 .exbox p{
		 padding: .5em 5% 6em 5%;
		 font-size:3.5vw;
		 line-height: 1.8em;
	}
	 .point{
		 font-size:.8em;
	}
	 .date{
		 font-size:3.4vw;
	}
	 .date th,.date td{
		 width:100%;
		 display: block;
	}
	 .tb {
		 font-size:3.5vw;
	}
	 .tb td {
		 padding:2px .5em;
	}
	 .timg-a{
		 width: 48%;
		 margin-bottom: 2em;
		 margin-left: -0.5em;
	}
	 .timg-b{
		 margin: 0em auto;
		 margin-right: -0.5em;
		 margin-bottom: 4em;
		 width: 54%;
		 transform: rotate(3deg);
	}
	 .jtbox2{
		 font-size:2.8vw;
		 padding:16em 2em 4em;
		 2em;
		 margin: 4.5em auto;
		 display: block;
		 width: 96%;
		 height: auto;
	}
	 .jtbox2 p{
		 font-size:3.5vw;
		 line-height: 1.8em;
	}
	 .boximg-a{
		 width: 80%;
		 top:-4%;
		 left: 8%;
	}
	 .boximg-b{
		 width: 46%;
		 right: -0.5em;
	}
	 .flor,.flol{
		 float: none;
	}
	 .fclear{
		 display: none;
	}
	 .csb{
		 font-size:0.8em;
	}
	 .attention{
		 text-indent: -1em;
		 padding: 0 2em;
		 box-sizing: border-box;
	}
	 .floatl{
		 float:inherit;
	}
	 .item h4{
		 margin-top: .5em;
		 font-size:3.8vw;
		 white-space: nowrap;
	}
	 .item p{
		 font-size:3.5vw;
		 line-height: 1.6em;
	}
	 .item .btn{
		 font-size:3vw;
	}
	 .ex {
		 margin-top: .5em;
		 margin-bottom: 2em;
	}
	 .ex p{
		 font-size:.9em;
		 line-height: 1.6em;
	}
	 .f-container3{
		 font-size:3.5vw;
	}
	 #sec06 h4{
		 font-size:1.4em;
		 text-align: center;
	}
	 .spborder{
		 color: #455580;
		 border-bottom: 1px #455580 solid;
		 padding-bottom: .35em;
	}
}