@charset "UTF-8";
/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
汎用
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/
* {letter-spacing: 4px;}
/*画像 .img img*/
.img {position: relative;}
.img > img {width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: 50%; object-position: top center; font-family: 'object-fit: cover; object-position: 50%;'; transform-origin: center; transition: .5s ease;}
/*clearfix*/
.cf:after {content: ""; display: block; clear: both; visibility: hidden;}
/*汎用flex*/
.flex {display: flex;}
/*コンテナ*/
.container {margin: 0 auto;}
/*--------------------------------------------------------------------------
パララックス＆ホバーアニメーション
--------------------------------------------------------------------------*/
.delay {animation-delay: .2s;}
/*------------------------------------
下から上に upflow
------------------------------------*/
.upflow {visibility: hidden;}
.fadeInUp {-webkit-animation-fill-mode: both; -ms-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-duration: 1s; -ms-animation-duration:1s; animation-duration:1s; -webkit-animation-name: fadeInUp; animation-name: fadeInUp; visibility: visible!important;}
@keyframes fadeInUp {0% {opacity: 0; transform: translateY(50px);} 100% {opacity: 1; transform: translateY(0);}}
@-webkit-keyframes fadeInUp {0% {opacity: 0; -webkit-transform: translateY(50px); -ms-transform: translateY(50px); transform: translateY(50px);} 100% {opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0);}}
/*------------------------------------
左から右に leftflow
------------------------------------*/
.leftflow {visibility: hidden;}
.fadeInLeft {-webkit-animation-fill-mode :both; -ms-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-duration: 1s; -ms-animation-duration: 1s; animation-duration: 1s; -webkit-animation-name: fadeInLeft; animation-name: fadeInLeft; visibility: visible!important;}
@keyframes fadeInLeft {0% {opacity: 0; transform: translateX(-50px);} 100% {opacity: 1; transform: translateX(0);}}
@-webkit-keyframes fadeInLeft {0% {opacity: 0; -webkit-transform: translateX(-50px); -ms-transform: translateX(-50px); transform: translateX(-50px);} 100% {opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0);}}
/*------------------------------------
右から左に rightflow
------------------------------------*/
.rightflow {visibility: hidden;}
.fadeInRight {-webkit-animation-fill-mode: both; -ms-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-duration: 1s; -ms-animation-duration: 1s; animation-duration: 1s; -webkit-animation-name: fadeInRight; animation-name: fadeInRight; visibility: visible!important;}
@keyframes fadeInRight {0% {opacity: 0; transform: translateX(50px);} 100% {opacity: 1; transform: translateX(0);}}
@-webkit-keyframes fadeInRight {0% {opacity: 0; -webkit-transform: translateX(50px); -ms-transform: translateX(50px); transform: translateX(50px);} 100% {opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0);}}
/*------------------------------------
フェード
------------------------------------*/
.fade {opacity: 0; transform: translateY(10%); will-change: transform;}
.fade.active {animation: fadein .5s ease-in-out forwards; opacity: 1;}
@keyframes fadein {0% {opacity: 0; transform: translateY(10%);} 100% {opacity: 1; transform: translateY(0);}}
/*--------------------------------------------------------------------------
部品
--------------------------------------------------------------------------*/
/*------------------------------------
汎用見出し
------------------------------------*/
/*------------------------------------
汎用TOP見出し
------------------------------------*/
.page-heading {position: relative; width: 100%;}
.page-heading .inner {position: relative; width: 100%; height: 100%;}
.page-heading .img {position: relative; width: 100%; height: 100%; overflow: hidden; z-index: 1;}
.page-heading .img:before {content: ""; display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgb(138 127 83 / 25%); z-index: 2;}
.page-heading .img img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; font-family: "object-fit: cover; object-position: 50% 50%;";}
.page-heading .txt {position: absolute; left: 0; transform: translateY(-50%); width: 100%; text-align: center; z-index: 2;}
.page-heading .txt .page-title {flex-direction: column; align-items: center;}
.page-heading .txt .page-title span {color: #fff;}
/*------------------------------------
wrapper
------------------------------------*/
.wrapper.type01 {background: #fdf9e9;}
.wrapper.type02 {background: #fbe9d6;}
/*------------------------------------
MORE
------------------------------------*/
.more-wrap {text-align: center;}
.more {width: 330px; max-width: 80%; display: inline-block; background: #ff9a64; border-radius: 30px; box-shadow: 4px 4px 1px #825842; box-sizing: border-box; color: #fff;}
.more:hover {box-shadow: 2px 2px 1px #825842;}
/*------------------------------------
スクロールダウン
------------------------------------*/
.scroll-down {position: absolute; left: 50%; transform: translateX(-50%); visibility: hidden; z-index: 3;}
.scroll-down:before,
.scroll-down:after {position: absolute; left: 50%; transform: translateX(-50%); content: ""; border-radius: 50%; transition: .3s ease; transform-origin: center;}
.scroll-down:before {bottom: -16px; width: 32px; height: 32px; border: 1px solid #fff;}
.scroll-down:after {bottom: -2px; width: 5px; height: 5px; background: #fff;}
.scroll-down span {display: block; color: #fff; font-size: 1.25em; font-weight: 700; line-height: 1; text-align: center;}
.scroll-down .bar {display: block; position: relative; left: 1px; transform: translateX(-50%); width: 1px; margin: 0 auto; background: transparent; overflow: hidden;}
.scroll-down .bar:before {position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ""; background: #fff; animation: scrollLine 2.5s ease infinite; animation-fill-mode: forwards}
.scroll-down:hover:before,
.scroll-down:hover:after {transform: translateX(-50%) scale(1.15,1.15);}
@keyframes scrollLine {
	0% {transform:translateY(-100%) scaleY(1); transform-origin: left;}
	100% {transform:translateY(100%) scaleY(.8); transform-origin: left;}
}
/*------------------------------------
上から下へラインエフェクト
------------------------------------*/
@keyframes lineEfect {
	0% {transform: scale(1, 0); transform-origin: top;}
	10% {transform: scale(1, 0); transform-origin: top;}
	45% {transform: scale(1, 1); transform-origin: top;}
	45.0001% {transform: scale(1, 1); transform-origin: bottom;}
	80% {transform: scale(1, 0); transform-origin: bottom;}
	100% {transform: scale(1, 0); transform-origin: top;}
}
body {overflow: hidden; animation: bodyFixed 8s; animation-fill-mode: forwards;}
@keyframes bodyFixed {
	0% {position: fixed; width: 100%; height: 100%; top:0; left: 0;}
	99.999% {position: fixed; width: 100%; height: 100%; top:0; left: 0;}
	100% {position: relative; background: #fff; min-width: 100%; min-height: 100%;}
}
/*------------------------------------
TOPに戻る
------------------------------------*/
#page_top {
  position: fixed;
  color: #fff;
  background: #D35017;
  text-align: center;
  transition: all .2s ease;
  z-index: 99;
	right: 25px;
	bottom: 25px;
	width: 50px;
	height: 50px;
}
#page_top:hover {
  cursor: pointer;
  opacity: .8;
}
#page_top .to-top {
	width: 50px;
	height: auto;
}
/*------------------------------------
logo_loader
------------------------------------*/
#logo_loader {width: 100%; height: 100vh; display: block; position: fixed; top: 0; left: 0; z-index: 10000; background-color: #fff; animation: fadeOut 3s forwards;}
#logo_loader .f_logo {position: absolute; left: 50%;  top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
#logo_loader .f_logo img {width: 100%; height: auto;}
#logo_loader .f_logo .firstview02 {position: absolute; top: 0; left: 0;}
/*#logo_loader .f_logo:before {content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; background-color: #fff; animation: loadLogo 3s forwards;}
*/#logo_loader.open {animation: fadeOut 5s 3s forwards;}
@keyframes fadeOut {0% {opacity: 1; z-index: 10000;} 40% {opacity: 1; z-index: 10000;} 50% {opacity: 1; z-index: 1;z-index: 10000;} 99.99% {opacity: 0; z-index: 10000;} 100% {opacity: 0; z-index: -1;}}
/***************************************************
 * Generated by SVG Artista on 3/16/2021, 4:04:05 PM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/
svg .svg-elem-1{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.1s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.1s}svg.active .svg-elem-1{fill:rgb(211,80,23)}svg .svg-elem-2{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.17s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.17s}svg.active .svg-elem-2{fill:rgb(211,80,23)}svg .svg-elem-3{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.24000000000000002s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.24000000000000002s}svg.active .svg-elem-3{fill:rgb(211,80,23)}svg .svg-elem-4{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.31000000000000005s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.31000000000000005s}svg.active .svg-elem-4{fill:rgb(211,80,23)}svg .svg-elem-5{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.38s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.38s}svg.active .svg-elem-5{fill:rgb(211,80,23)}svg .svg-elem-6{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.45000000000000007s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.45000000000000007s}svg.active .svg-elem-6{fill:rgb(211,80,23)}svg .svg-elem-7{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.52s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.52s}svg.active .svg-elem-7{fill:rgb(211,80,23)}svg .svg-elem-8{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.5900000000000001s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.5900000000000001s}svg.active .svg-elem-8{fill:rgb(211,80,23)}svg .svg-elem-9{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.66s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.66s}svg.active .svg-elem-9{fill:rgb(211,80,23)}svg .svg-elem-10{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.7300000000000001s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.7300000000000001s}svg.active .svg-elem-10{fill:rgb(211,80,23)}svg .svg-elem-11{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.8s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.8s}svg.active .svg-elem-11{fill:rgb(211,80,23)}svg .svg-elem-12{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.87s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.87s}svg.active .svg-elem-12{fill:rgb(211,80,23)}svg .svg-elem-13{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.9400000000000001s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 0.9400000000000001s}svg.active .svg-elem-13{fill:rgb(211,80,23)}svg .svg-elem-14{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.0100000000000002s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.0100000000000002s}svg.active .svg-elem-14{fill:rgb(211,80,23)}svg .svg-elem-15{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.08s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.08s}svg.active .svg-elem-15{fill:rgb(211,80,23)}svg .svg-elem-16{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.1500000000000001s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.1500000000000001s}svg.active .svg-elem-16{fill:rgb(211,80,23)}svg .svg-elem-17{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.2200000000000002s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.2200000000000002s}svg.active .svg-elem-17{fill:rgb(211,80,23)}svg .svg-elem-18{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.2900000000000003s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.2900000000000003s}svg.active .svg-elem-18{fill:rgb(211,80,23)}svg .svg-elem-19{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.3600000000000003s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.3600000000000003s}svg.active .svg-elem-19{fill:rgb(211,80,23)}svg .svg-elem-20{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.4300000000000002s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.4300000000000002s}svg.active .svg-elem-20{fill:rgb(211,80,23)}svg .svg-elem-21{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.5000000000000002s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.5000000000000002s}svg.active .svg-elem-21{fill:rgb(211,80,23)}svg .svg-elem-22{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.5700000000000003s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.5700000000000003s}svg.active .svg-elem-22{fill:rgb(211,80,23)}svg .svg-elem-23{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.6400000000000001s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.6400000000000001s}svg.active .svg-elem-23{fill:rgb(211,80,23)}svg .svg-elem-24{fill:transparent;-webkit-transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.7100000000000002s;transition:fill 0.3s cubic-bezier(0.47,0,0.745,0.715) 1.7100000000000002s}svg.active .svg-elem-24{fill:rgb(211,80,23)}
/*--------------------------------------------------------------------------
ヘッダー
--------------------------------------------------------------------------*/
header {width: 100%; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;}
header .inner {align-items: center;}
header .inner .site-title {position: relative;}
header .inner .site-title a {width: 100%; display: block;}
header .inner .site-title img {width: auto; display: block; opacity: 1; transform: scale(1);}
header .inner .site-title span {color: #ff9a64; opacity: 0; position: absolute; transform: scale(0); white-space: nowrap;}
header .inner #global-nav a {flex-direction: column; justify-content: center; align-items: center; font-weight: 700;}
header .inner #global-nav a:hover,
header .inner .contact {background: #d35017; color: #fff;}
header .inner .contact:hover {transform: scale(0.95);}
/*--------------------------------------------------------------------------
メイン
--------------------------------------------------------------------------*/
main {position: relative; display: block;}
/*--------------------------------------------------------------------------
フッター
--------------------------------------------------------------------------*/
footer * {color: #fff;}
footer {position: relative; background: url(../img/f_bg.jpg); background-size: cover;}
footer .inner {position: relative;}
footer .office-info .site-logo {width: 200px; margin-bottom: 6px; display: block;}
footer .office-info .site-logo img {width: 100%; height: auto;}
footer .office-info .add,
footer .office-info .address {letter-spacing: 4px;}
footer .office-info .contact a {align-items: center;}
footer .office-info .contact a:hover {opacity: 0.7;}
footer .contact-area {display: flex; flex-direction: column; justify-content: space-between;}
footer .contact-area .contact-banner {width: 340px; max-width: 100%; display: block; padding: 9px 0; background: #fff; color: #73635b; font-size: 20px; font-weight: 700; letter-spacing: 4px; text-align: center;}
footer .contact-area .contact.tel a {display: inline-flex; align-items: center; font-weight: 600; letter-spacing: 5px; line-height: 0;}
footer .contact-area .contact.tel a:before {content: ""; margin-right: 10px; background: url(../img/icon_phone_white.svg) no-repeat;}
footer .site-map * {line-height: 2.5;}
footer .socials .socials-list li:not(:last-child) {margin-right: 20px;}
footer .socials .socials-list li a {display: block;}
footer .copyright {line-height: 1; letter-spacing: 4px; text-align: center;}
/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
フロントページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/
/*------------------------------------
HERO HERDER
------------------------------------*/
#lp #top {
	position: relative;
}
#lp #top .txt-wrap{
	position: absolute;
	top:calc(50% - 56px);
	left:0;
	right: 0;
	justify-content: center;

}
#lp #top .txt-wrap .txt{
	color: #fff;
	font-weight: 500;
	line-height: 2;
	text-shadow:0 0 4px #000;
}
#lp #top-slider.slick-dotted.slick-slider {margin-bottom: 0;}
#lp #top-slider .top-silder-item {position: relative; z-index: 1;}
#lp #top-slider .top-silder-item .img img {width: 100%; object-fit: cover; object-position: center 10%; font-family: 'object-fit: cover; object-position: center 10%;'}
#lp #top-slider .top-silder-item .txt-wrap {width: 100%; height: 100%; position: absolute; top: 0; left: 0; justify-content: center; align-items: center; z-index: 1;}
#lp #top-slider .top-silder-item .txt-wrap .txt {color: #fff; font-weight: 500; line-height: 2;}
#lp #top-slider .slick-dots {bottom: 20px;}
#lp #top-slider .slick-dots li button:before {content: '〇'; color: #fff; font-size: 14px; opacity: 1;}
#lp #top-slider .slick-dots li.slick-active button:before {content: '●';  color: #fff; font-size: 18px; opacity: 1;}
#lp #top-slider .slick-dots li button:first-child:last-child {display: none;}
/*------------------------------------
感染予防について
------------------------------------*/
#lp .temporary {background: #dcdcdc;}
#lp .temporary a {display: block;}
/*------------------------------------
お悩みをお持ちではありませんか
------------------------------------*/
#lp .your-worries:after {content: ""; display: block; width: 100%; height: 5vh; position: absolute; top: 100%; background: #fff; z-index: 1;}
#lp .your-worries {margin-bottom: 90px; position: relative; background: #cdc4c4; z-index: 1;}
#lp .your-worries:after {content: ""; width: 100%; padding-top: 3%; display: block; position: absolute; left: 0; bottom: -10%; background: #fff; z-index: 2;}
#lp .your-worries .layer {position: absolute; top: 0; left: 0;}
#lp .your-worries .deco {position: absolute; bottom: -4%; filter: drop-shadow(0px 7px 11px black);}
/*------------------------------------
解決できます
------------------------------------*/
#lp .solution .sec-title-wrap {text-align: center; position: relative; z-index: 1;}
#lp .solution .sec-title-wrap .sec-title {position: relative; z-index: 1;}
#lp .solution .sec-title-wrap .sec-title * {font-weight: 700;}
#lp .solution .sec-title-wrap .sec-title .bg-orange {max-width: 100%; position: absolute; left: 50%; background: #d35017; color: #fff; letter-spacing: 4px;}
#lp .solution .sec-title-wrap .sec-title .bg_gray {display: block; margin: 0 auto; background: #eae7e7; box-sizing: border-box; border-radius: 5px;}
#lp .solution .sec-title-wrap .sec-title .large-txt {color: #d35017;}
#lp .solution .solution-list li:not(:last-child){
	margin-right:20px;
}
#lp .solution .solution-list li .contents-img {margin-bottom: 10px; height:160px;}
#lp .solution .solution-list li .contents-img img{
	object-fit: cover;
	height: 100%;
	width: 100%;
}
#lp .solution .solution-list li .list-title {font-weight: 700;  line-height: 2;}
#lp .solution .solution-list li .list-title span {color: #d35017; font-weight: 700;}
/*------------------------------------
会社概要
------------------------------------*/
#lp .about-us {position: relative; overflow: hidden; z-index: 1;}
#lp .about-us .deco.about-us-top {position: absolute; filter: drop-shadow(0px -3px 40px black);}
#lp .about-us {background: url(../img/about-us_bg.jpg) center; background-size: cover;}
#lp .about-us .sec-title {position: relative; background: #d35017; color: #fff; font-weight: 700; text-align: center;}
#lp .about-us .introductory-video {width: 1000px; max-width: 96%; margin: 0 auto 5vh; position: relative; z-index: 1;}
#lp .about-us .introductory-video .frame {padding-top: 56.25%;}
#lp .about-us .introductory-video .frame iframe {position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 1;}
#lp .about-us .sec-sub-title {color: #fff; font-weight: 700; letter-spacing: 4px; text-align: center;}
/*------------------------------------
entry
------------------------------------*/
#lp .sec-title.type01 {display: inline-flex; flex-direction: column; align-items: flex-end;}
#lp .sec-title.type01 .en {font-family: 'Josefin Sans', sans-serif; font-weight: 600; letter-spacing: 30px; line-height: 1;}
#lp .sec-title.type01 .ja {padding-right: 22px; font-weight: 600; letter-spacing: 5px;}
#lp .sec-sec-title.type01 .en {font-size: 16px; letter-spacing: 4px;}
#lp .sec-sec-title.type01 span {display: block; font-weight: 700; text-align: center;}
#lp .entry {position: relative;}
#lp .entry .deco.entry-top {position: absolute; top: 0; left: 0;}
#lp .entry .deco.trainer-top {position: absolute; left: 0; bottom: 0;}
#lp .entry .entry-flow .sec-sec-title.type01 {margin-bottom: 80px; font-family: 'Josefin Sans', sans-serif;}
#lp .entry .entry-flow .entry-flow-list li {position: relative; flex-direction: column; justify-content: space-between; align-items: center; border: 3px solid #000; box-sizing: border-box;}
#lp .entry .entry-flow .entry-flow-list li .icon {position: absolute; width: 90px; height: 90px; top: -40px; left: calc(50% - 45px);}
#lp .entry .entry-flow .entry-flow-list li .step01 .svg {width: 70px;}
#lp .entry .entry-flow .entry-flow-list li .step-title {font-size: 30px; font-weight: 700; letter-spacing: 4px;}
#lp .entry .entry-flow .entry-flow-list li .step-description {font-size: 18px; letter-spacing: 3px;}
#lp .entry .entry-flow .entry-flow-list li .svg {width: 38%;}
#lp .entry .entry-flow .entry-flow-list li .icon_arrow {position: absolute;}
/* 2025/02/05変更 */
#lp .entry .rate-plan .plan {width: 320px; border: 4px solid #d35017; box-sizing: border-box; margin-bottom: 50px; margin-inline: auto;}
#lp .entry .rate-plan .plan .plan-title {height: 80px; display: flex; flex-direction: column; justify-content: center; align-items: center; font-size: 22px; font-weight: 700; letter-spacing: 4px;}
#lp .entry .rate-plan .plan .plan-title .tax_included {font-size: 14px; font-weight: 400; letter-spacing: 2px; color: #fff;}
#lp .entry .rate-plan .plan .plan_period {letter-spacing: 2px;}
#lp .entry .rate-plan .plan .group {display: flex; flex-direction: column; justify-content: center; align-items: center;}
#lp .entry .rate-plan .plan .group.yearly {padding: 20px 0 30px;}
#lp .entry .rate-plan .plan .group dd {display: flex; flex-direction: column; text-align: center;}
#lp .entry .rate-plan .plan .bg {background: #d35017; color: #fff;}
#lp .entry .rate-plan .plan .group .plan_fee {font-family: Verdana,Roboto; font-weight: 600;}
#lp .entry .rate-plan .plan .group.yearly .plan_fee {font-size: 40px;}
#lp .entry .rate-plan .plan .group .plan_yen {font-weight: 700; font-size: 18px; letter-spacing: 2px;}
#lp .entry .rate-plan .plan .group .per-month {font-size: 13px;}
#lp .entry .rate-plan .plan .m-d {padding: 0 0 30px; display: flex; flex-direction: column; gap: 20px;}
#lp .entry .rate-plan .plan .m-d .group .plan_fee {font-size: 30px;}
/* #lp .entry .rate-plan .plan-list {margin-bottom: 30px; justify-content: space-between;}
#lp .entry .rate-plan .plan-list .list-item {width: 240px; flex-direction: column;}
#lp .entry .rate-plan .plan-list .list-item.senior .bg,
#lp .entry .rate-plan .plan-list .list-item.regular .bg,
#lp .entry .rate-plan .plan-list .list-item.student .bg {background: #cfcfcf;}
#lp .entry .rate-plan .plan-list .list-item .plan-title,
#lp .entry .rate-plan .plan-list .list-item .strength {display: flex; justify-content: center; font-weight: 700; letter-spacing: 4px;}
#lp .entry .rate-plan .plan-list .list-item .group {display: flex; flex-direction: column; justify-content: center; align-items: center;}
#lp .entry .rate-plan .plan-list .list-item .group.yearly {padding: 20px 0;}
#lp .entry .rate-plan .plan-list .list-item dd {display: flex; flex-direction: column; text-align: center;}
#lp .entry .rate-plan .plan-list .list-item .plan-title {height: 80px; align-items: center; font-size: 22px;}
#lp .entry .rate-plan .plan-list .list-item .per-month {font-size: 13px;}
#lp .entry .rate-plan .plan-list .list-item .m-d {height: 200px; padding: 20px 0; display: flex; flex-direction: column; justify-content: space-between;}
#lp .entry .rate-plan .plan-list .list-item .target {width: 80%; height: 70px; margin: 0 auto; display: flex; justify-content: center; align-items: center; font-size: 17px; font-weight: 500; letter-spacing: 4px;}
#lp .entry .rate-plan .plan-list .list-item .strength {height: 125px; padding-top: 20px; box-sizing: border-box; font-size: 18px;}
#lp .entry .rate-plan .plan-list .list-item .plan_fee {font-family: Verdana,Roboto; font-weight: 600;}
#lp .entry .rate-plan .plan-list .list-item .plan_yen {font-weight: 700; font-size: 18px; letter-spacing: 2px;}
#lp .entry .rate-plan .plan-list .list-item .plan_period {letter-spacing: 2px;}
#lp .entry .rate-plan .plan-list .list-item.friend .m-d {display: flex; justify-content: center; align-items: center;}
#lp .entry .rate-plan .plan-list .list-item .yearly .plan_fee {font-size: 40px;}
#lp .entry .rate-plan .plan-list .list-item .monthly .plan_fee,
#lp .entry .rate-plan .plan-list .list-item .daily .plan_fee {font-size: 30px;}
#lp .entry .rate-plan .plan-list .list-item.friend {position: relative; border: 4px solid #d35017; box-sizing: border-box; z-index: 1;}
#lp .entry .rate-plan .plan-list .list-item.friend:before,
#lp .entry .rate-plan .plan-list .list-item.friend:after {content: ""; width: calc(100% + 8px); height: 10px; display: block; position: absolute; left: -4px; background: #d35017;}
#lp .entry .rate-plan .plan-list .list-item.friend:before {top: -10px;}
#lp .entry .rate-plan .plan-list .list-item.friend:after {bottom: -10px;}
#lp .entry .rate-plan .plan-list .list-item.friend .recommended-plan {width: 144px; padding: 8px 5px; position: absolute; top: -30px; left: calc(50% - 72px); background: #fff; border: 2px solid #d35017; box-sizing: border-box; color: #d35017; font-size: 15px; font-weight: 700; letter-spacing: 3px; text-align: center; z-index: 2;}
#lp .entry .rate-plan .plan-list .list-item.friend .bg {background: #d35017; color: #fff;} */
#lp .entry .payment-list li,
#lp .entry .payment-list li span {letter-spacing: 4px;}
#lp .entry .payment-list .emphasis {color: #d35017;}
/*------------------------------------
Trainer トレーナー
------------------------------------*/
#lp .trainer {margin-top: -1px; background: #e3e3e3;}
#lp .trainer .trainer-list li.trainer-list-item:not(:last-child) {margin-bottom: 80px;}
#lp .trainer .trainer-list li .figure {position: relative; z-index: 1;}
#lp .trainer .trainer-list li .figure .number {width: 61%; position: absolute; top: -10%; z-index: -1;}
#lp .trainer .trainer-list li .figure .svg.photo {width: 72%;}
#lp .trainer .trainer-list li .figure .caption {width: 257px; padding: 3px 0; max-width: 100%; flex-direction: column; justify-content: center; align-items: center; position: absolute; bottom: 40px; background: #fff;}
#lp .trainer .trainer-list li .figure .caption span {letter-spacing: 4px;}
#lp .trainer .trainer-list li .figure .caption span.ja {font-size: 24px; font-weight: 700;}
#lp .trainer .trainer-list li .figure .caption span.en {color: #6f6f6f; font-size: 14px;}
#lp .trainer .trainer-list li:nth-child(odd) .figure .number {left: -9%;}
#lp .trainer .trainer-list li:nth-child(even) .figure .number {right: 0%;}
#lp .trainer .trainer-list li:nth-child(odd) .figure .caption {left: 0;}
#lp .trainer .trainer-list li:nth-child(even) .figure .caption {right: 0;}
#lp .trainer .trainer-list li .profile {padding-top: 85px;}
#lp .trainer .trainer-list li .profile .motto {display: inline-flex; flex-direction: column; align-items: flex-start;}
#lp .trainer .trainer-list li .profile .position,
#lp .trainer .trainer-list li .profile .profile-list {margin-bottom: 20px;}
#lp .trainer .trainer-list li .profile .position li,
#lp .trainer .trainer-list li .profile .position li span {font-weight: 700; letter-spacing: 4px;}
#lp .trainer .trainer-list li .profile .profile-list dt,
#lp .trainer .trainer-list li .profile .profile-list dd {letter-spacing: 4px; line-height: 1.7;}
#lp .trainer .trainer-list li .profile .message {letter-spacing: 3.5px;}
/* 2025/02/06追加 */
#lp .trainer .trainer-list li .profile .message:not(:last-of-type) {margin-bottom: 20px;}
#lp .trainer .trainer-list li .white-back {padding: 3px 8px; font-weight: 500; background: #fff; letter-spacing: 4px;}
#lp .trainer .trainer-list li .white-back:not(:last-child) {margin-bottom: 16px;}
#lp .trainer .trainer-list li .white-back:last-child {margin-bottom: 20px;}
#lp .trainer .deco.trainer-bottom {position: absolute; left: 0; bottom: 0;}
/*------------------------------------
User's voice
------------------------------------*/
#lp .users-voice {position: relative; z-index: 1}
#lp .users-voice .deco.users-voice-left-side {width: auto; position: absolute; z-index: 3;}
#lp .users-voice .sec-title *{font-weight: 700;}
#lp .users-voice .sec-title .ja {letter-spacing: 10px;}
#lp .users-voice .sec-title .en {letter-spacing: 4px;}
#lp .users-voice #users-voice-slider li dl {padding: 0 16px 30px; position: relative; box-sizing: border-box;}
#lp .users-voice #users-voice-slider li dl .number-area {justify-content: space-between; align-items: flex-end;box-sizing: border-box;}
#lp .users-voice #users-voice-slider li dl .number-area .number {position: relative; color: #d35017; font-weight: 700; font-size: 100px; letter-spacing: 10px;line-height: 1; z-index: 1;}
#lp .users-voice #users-voice-slider li dl .number-area .number:before {content: ""; height: 2px; position: absolute; bottom: 42%; background: #d35017; z-index: 2;}
#lp .users-voice #users-voice-slider li dl .v-txt {color: #d35017; font-size: 28px; font-weight: 700; letter-spacing: 4px;}
#lp .users-voice #users-voice-slider li dl dd {padding-left: 6px; box-sizing: border-box;}
#lp .users-voice #users-voice-slider li dl dd .c-voice-h {max-width: 18em; margin-bottom: 18px; font-weight: 700; letter-spacing: 4px;}
#lp .users-voice #users-voice-slider li dl dd .c-voice {max-width: 18em; font-size: 15px; letter-spacing: 4px;}
#lp .users-voice #users-voice-slider li dl dd .c-profile {position: absolute; font-size: 15px; letter-spacing: 4px; text-align: right;}
#lp .users-voice #users-voice-slider .slick-dots {z-index: 10;}
#lp .users-voice #users-voice-slider .slick-dots li {width: 24px;}
#lp .users-voice #users-voice-slider .slick-dots li.slick-active button:before {color: #d35017!important; opacity: 1;}
#lp .users-voice #users-voice-slider .slick-dots li button:before {opacity: .5;}
#lp .users-voice #users-voice-slider .slick-dots li button:hover:before {color: #d35017!important; opacity: 1;}
#lp .users-voice .deco.access-top {position: relative; z-index: 4;}
/*------------------------------------
Access 店舗情報
------------------------------------*/
#lp .access {margin-top: -1px; background: #e3e3e3;}
#lp .access .inner {justify-content: space-between;}
#lp .access table {width: 100%; max-width: 540px; margin-bottom: 30px;background: #fff;}
#lp .access table thead {display: block; float: left;}
#lp .access table thead th {border-right: 2px solid #e3e3e3;}
#lp .access table thead th.border {border-bottom: 2px solid #e3e3e3;}
#lp .access table tbody {display: block; width: auto; overflow-x: auto; white-space: nowrap;}
#lp .access table tr.border {border-bottom: 2px solid #e3e3e3;}
#lp .access table th,
#lp .access table td {height: 57px; font-weight: 500; letter-spacing: 3px; text-align: center; vertical-align: middle; box-sizing: border-box;}
#lp .access table th span {letter-spacing: 3px;}
#lp .access table td {width: 57px; padding: 0 10px; color: #d35017; font-size: 14px;}
#lp .access table td.small {font-size: 12px; line-height: 1;}
#lp .access table td.small span {color: #d35017; font-size: 12px;}
#lp .access .note {margin-bottom: 40px; line-height: 2; letter-spacing: 4px;}
#lp .access .address-wrap {align-items: flex-start;}
#lp .access .address-wrap .marker-icon {margin: 2px 10px 0 0;}
#lp .access .address-wrap .address, #lp .access .address-wrap .address .add {font-size: 17px; letter-spacing: 3px;}
#lp .access .address-wrap .address .add {display: inline-block;}
#lp .access .google-map {width: 600px; max-width: 100%; position: relative; overflow: hidden;}
/*#lp .access .google-map .frame {position: relative;}
#lp .access .google-map .frame iframe {width: 100%; height: calc(100% + 150px + 150px); position: absolute; top: -150px; left: 0;}*/
#lp .access .google-map-wrap #google-map {width: 100%; height: 100%;}
#lp .access .google-map-wrap #google-map iframe {
	width: 100%;
	height: 100%;
}
#lp .access .google-map-wrap .open-google-map {padding: 8px 20px; position: absolute; right: 0; bottom: 100%; display: flex; background: #d35017; box-sizing: border-box; color: #fff; font-size: 12px; justify-content: center; align-items: center; letter-spacing: 1px;}
#lp .access .google-map-wrap .open-google-map span {margin-right: 3px; color: inherit; font-size: inherit; letter-spacing: inherit;}
#lp .access .google-map-wrap .open-google-map img {
	width: 15px;
	height: 15px;
	object-fit: contain;
	margin-left: 7px;
}
/*------------------------------------
Contact お問い合わせ
------------------------------------*/
#lp .contact {height: 650px; position: relative; background: url(../img/free-trial_bg.jpg) center; background-size: cover;}
#lp .contact .inner {width: 100%; height: 100%; position: absolute; top: 0; left: 0; flex-direction: column; align-items: center; justify-content: center;}
#lp .contact .inner .free-trial {margin: 0 0 30px 20px;}
#lp .contact .inner .free-trial .svg {width: 110px; margin: 0 auto 10px;}
#lp .contact .inner .free-trial .sec-title {color: #fff; font-size: 28px; font-weight: 500; letter-spacing: 8px;}
#lp .contact .inner .message {color: #fff; font-weight: 700; letter-spacing: 4px; line-height: 1.7; text-align: left;}
#lp .contact .inner .contact-btn {width: 570px; max-width: 90%; padding: 16px 0; align-items: center; justify-content: center; background: #fff;}
#lp .contact .inner .contact-btn .svg.phone {width: 42px;}
#lp .contact .inner .contact-btn .phone-number {color: #606060; font-weight: 700; letter-spacing: 6px;}
/*------------------------------------
新型コロナウイルス感染予防対策について
------------------------------------*/
#lp .counter-measures {background: #e3e3e3;}
#lp .counter-measures .container {text-align: center;}
#lp .counter-measures .sec-title {display: inline-flex; align-items: center; font-weight: 700; letter-spacing: 7px;}
#lp .counter-measures p {font-weight: 700;}
#lp .counter-measures .counter-measures-list li {position: relative;}
#lp .counter-measures .counter-measures-list li span {width: 100%; position: absolute; left: 0; top: 67%; color: #d35017; font-size: 15px; text-align: center;}
/*--------------------------------------------------------------------------
404.php
--------------------------------------------------------------------------*/
.error404 #logo_loader {display: none;}
#notfound h2 {font-family: Verdana, Roboto; font-size: 40px; font-weight: 600;}
#notfound h3 {margin-bottom: 2vh;}
#notfound ul {justify-content: space-between;}
#notfound ul li {position: relative;}
#notfound ul li .frame {width: 100%; padding-top: 100%;}
#notfound ul li a {width: 100%; height: 100%; position: absolute; left: 0; top: 0; display: flex; justify-content: center; align-items: center; background: #d35017; border: 1px solid #d35017; color: #fff; line-height: 1.7; transition: .3s all ease;}
#notfound ul li a:hover {background: transparent; color: #d35017;}
