@charset "UTF-8";
/*===========共通===========*/
/* 初期状態：透明＋下に少しずれている */
.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 表示時：透明→不透明＋位置補正 */
.fadein.show {
  opacity: 1;
  transform: translateY(0);
}
    @font-face {
    font-family: 'DIN Alternate Bold';
    font-style: normal;
    font-weight: normal;
    src: local('DIN Alternate Bold'), url('../font/DINAlternate-Bold.woff') format('woff');
    }
/* #### Generated By: http://www.cufonfonts.com #### */
    @font-face {
    font-family: 'Instagram Sans Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Instagram Sans Regular'), url('../font/Instagram Sans.woff') format('woff');
    }
    
body{
	color: #707070;
	font-family: "Noto Sans";
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings:"wdth" 100;
}
header{
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 999;
}
header .sitelogo{
	width: 250px;
	height: auto;
}
.nav-item.has-dropdown{
	position: relative;

}.navbar-expand-lg .navbar-nav .nav-link{
	padding: 1em;
}
.nav-item.has-dropdown::after{
	content: "";
	position: absolute;
	width: 5px;
	height: 5px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	transform: translateY(-50%) rotate(45deg);
	top: 50%;
	right: 0;
}
.nav-item.has-dropdown a{
	cursor: pointer;
	
}
.dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
	transform: translateX(-50%);
	
  background: #fff;
  list-style: none;
  margin: 0;
  padding: 0;
  opacity: 0;
  z-index: 1000;
	width: 350px;
	text-align: center;
}
.dropdown li {
  padding: 0.5em 1em;
  white-space: nowrap;
}

.dropdown li a{
	color: #707070;
	text-decoration: none;
}
/* PC：ホバーで表示 */
@media (min-width: 768px) {
  .nav-item.has-dropdown:hover > .dropdown {
    display: block;
  opacity: 1;
	visibility: visible;
	  transition: all .4s ease;
  }.dropdown {
	  transition: all .4s ease;
	visibility: hidden;
  }
}@media (max-width: 768px) {
  .nav-item.has-dropdown:hover > .dropdown li  {
    
  }
.dropdown {
	position: inherit;
	display: none;
  opacity: 1;
	visibility: visible;
	}
	.navbar-expand-lg .navbar-nav .nav-link{
	padding: 1em;
		border-bottom: 1px solid #000;
}
}

.mb-25{
	margin-bottom: 1.75em;
}
.bg-orange{
	background: #EF7E33;
}
.mincho{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
.rollerscript{
	font-family: "rollerscript-rough", sans-serif;
font-weight: 400;
font-style: normal;
}
.noto{
	
  
}
h2{
	position: relative;
}
h2 span.en{
	color: rgba(239,126,51,.08);
	position: absolute;
	font-size: min(8.802083333333334vw,169px);
}
#mv{
	
}
#mv .mv_img{
	position: relative;
}
#mv .mv_text_en_center{
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50% , -50%);
	font-size: min(6.71875vw,129px);
	font-weight: 400;
	letter-spacing: 5px;
}
#mv .mv_text_en{
	position: absolute;
	top:50%;
	left: 45%;
	transform: translateX(-25%);
}
#mv .mv_text_ja{
	position: absolute;
	top:65%;
	left: 50%;
	transform: translateX(-15%);
}
#mv .mv_text_en .rollerscript{
	transform: rotate(-10deg);
	color: #fff;
	font-size: min(7.708333333333334vw,148px);
	display: block;
	line-height: 1;
}
#mv .mv_text_ja .mincho{
	font-size: min(1.5104166666666667vw,29px);
	color: #707070;
	line-height: 1.75;
}

	#thought{
		padding: 80px 0;
		background: url(../img/thought.jpg);
		background-position: center right;
		background-repeat: no-repeat;
		background-size: cover;
	}
	#thought h2{
text-align: center;
		font-size: min(2.1875vw,42px);
		letter-spacing: 5px;
		margin-bottom: 1.5em;
	}
#thought h2 span{
	background: #fff;
	padding: .5em 1.25em;
	border: 1px solid #707070;
	display: inline-block;
}
#thought p{
	line-height: 2.5;
	font-size: min(1.5104166666666667vw,29px);
}
#support{
	padding: 80px 0 110px;
	background: #F8F7FF;
	position: relative;
}
#support::after{
	content: '';
    position: absolute;
    bottom: -30px;
    left: calc(50% - 55px);
    width: 0;
    height: 0;
    border-top: 60px solid #EF7E33; /* 好みで高さ色を変えてください */
    border-left: 55px solid transparent;
    border-right: 55px solid transparent;
	z-index: 1;
}
#support h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}
#support h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#method h2 span.en,#service h2 span.en,#voice h2 span.en,#voice2 h2 span.en{
	left:50%;
	transform: translate(-50% ,-25%) rotate(-10deg);
	top: 0;
	
}
#support h2 span.en{
	left:50%;
	transform: translate(-50% ,-25%) rotate(-10deg);
	top: -30px;
}
#support .support_wrap{
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0 auto;
	max-width: min(62.5vw,1200px);
	width: 100%;
	
	list-style: none;
	justify-content: center;
}
#support .support_wrap li{
	width: calc(100% / 3);
	padding: 0 15px;
}
#support .support_wrap li:nth-child(2){
align-content: flex-end;
	
	
}
#support .support_wrap li:nth-child(2) img{
	width: min(13.489583333333332vw,259px);
	margin: 0 auto;
	display: block;
}
#support .support_item{
	font-size: min(1.4583333333333333vw,28px);
	text-align: center;
	background: #F8EDED;
	padding: .75em 0;
	border-radius: 71px;
}
#support .support_item:not(:last-child){
	margin-bottom: 1.25em;
}
#desire{
	padding: 100px 0 80px;
	background: #FFFEFB;
}
#desire h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 2em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}
#desire h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#desire h2 span{
	font-size: min(2.604166666666667vw,50px);
	letter-spacing: 15px;
	position: relative;
	
}
#desire h2 span::after{
	content: "";
	width: 100%;
	aspect-ratio:415/33.8;
	position: absolute;
	left: 0;
	bottom: -75%;
	background: url(../img/thought_line.svg);
	background-repeat: no-repeat;
	background-size: contain;
	
}
#desire .bottom_line{
	position: relative;
	padding-bottom: 4em;
	margin-bottom: 1em;
}
#desire .bottom_line::after{
	content: "";
	position: absolute;
	background: #000;
	width: 1px;
	height: 3.5em;
	left: 50%;
	bottom: 0;
}
#desire .bottom_line p{
	font-size: min(1.5104166666666667vw,29px);
	text-align: center;
	line-height: 1.75;
	font-weight: 300;
}
#desire .bottom_line p span.rubi{
	position: relative;
}
#desire .bottom_line p span.rubi::before{
	position: absolute;
	content: "・";
	top: -100%;
	left: 0;
	font-size: 100%;
	color: #EF7E33;
	font-weight: bold;
}
#desire .bottom_line p span.underline{
	position: relative;
}
#desire .bottom_line p span.underline::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 7px;
	background: #EF7E33;
	opacity: .3;
	bottom: 0;
	left: 0;
}
#desire .desire_text{
	text-align: center;
	font-size: min(1.5104166666666667vw,29px);
	font-weight: 300;
	margin-bottom: 3em;
}
#desire .philosophy{
	text-align: center;
	font-size: min(1.5104166666666667vw,29px);
	font-weight: 300;
	line-height: 3.5;
}
#desire .philosophy span{
	
}

#desire .philosophy span.yojo{
	background:#C0AC8C;
	padding: .2em .75em .25em 3em;
	display: inline;
	margin: 0 1em;
	color: #fff;
	font-weight: bold;
	border-radius: 30px;
	letter-spacing: 5px;
	position:relative;
}
#desire .philosophy span.yojo::before{
	content: "";
	width: min(1.5625vw,37px);
	aspect-ratio:37/43;
	background: url(../img/leaf.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	left:1em;
	top:50%;
	position: absolute;
	transform: translateY(-50%);
}
#desire .philosophy span.shindan{
	position:relative;
	background:#D39C73;
	padding: .2em .75em .25em 3em;
	display: inline;
	margin: 0 1em;
	color: #fff;
	font-weight: bold;
	border-radius: 30px;
	letter-spacing: 5px;
}
#desire .philosophy span.shindan::before{
	content: "";
	position: absolute;
	width: min(2.03125vw,39px);
	aspect-ratio:13/12;
	background: url(../img/heart.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	left:1em;
	top:50%;
	transform: translateY(-50%);
}

#approach{
	padding: 80px 0 80px;
	background: #F8F7F8;
}
#approach h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 2em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}
#approach h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#approach h2 span{
	font-size: min(2.604166666666667vw,50px);
	letter-spacing: 15px;
	position: relative;
	
}

#approach h3{
	position: relative;
	text-align: center;
	font-size: min(1.4583333333333333vw,28px);
	margin-bottom: 1em;
	line-height: 1.75;
}

#approach h3 span{
	display: inline-block;
	padding: .25em 3em;
	background: #EF7E33;
	color: #fff;
}

#approach h4{
	position: relative;
	text-align: center;
	font-size: min(1.8229166666666667vw,35px);
	margin-bottom: 2em;
	line-height: 1.75;
	font-weight: bold;
}

#approach p{
	width: 100%;
	max-width: min(62.5vw,1200px);
	margin: 0 auto;
	font-size: min(1.4583333333333333vw,28px);
	line-height: 2;
}

#recommend{
	padding: 80px 0 0;
	background: linear-gradient(180deg, #F2F4F5 0%, #F2F4F5 50%, #CDD6D8 50%, #CDD6D8 100%);
}
#recommend h2{
	position: relative;
	text-align: center;
	font-size: min(1.8229166666666667vw,35px);
	margin-bottom: 2.5em;
	line-height: 1.75;
	color: #EF7E33;
}
#howtochoice{
	padding: 120px 0 150px;
	position: relative;
}

#howtochoice::before{
	background: url(../img/triangle.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(2.9166666666666665vw,56px);
	aspect-ratio:28/39;
	content: "";
	position: absolute;
	top: 50px;
	left: 50%;
	transform: translateX(-50%);
}
#howtochoice h2{
	text-align: center;
	font-size: min(1.8229166666666667vw,35px);
	margin-bottom: 2.5em;
	line-height: 1.75;
}

#howtochoice h2 span{
	position: relative;
}

#howtochoice h2 span::after{
	position: absolute;
	bottom: 3px;
	left: 0;
	width: 100%;
	height: 7px;
	background: #FAD7BF;
	content: "";
	z-index: -1;
}
#howtochoice p{
	line-height: 2;
	font-size: min(1.4583333333333333vw,28px);
}
#howtochoice p:not(:last-child){
	margin-bottom: 1.75em;
}
#howtochoice .recommend_wrap{
	width: min(60.416666666666664vw,1160px);
	border: 1px solid #707070;
	padding: 3em;
	margin: 0 auto;
	position: relative;
}
#howtochoice .recommend_wrap::after{
	position: absolute;
	background:url(../img/recommend_woman.png);
	width: min(13.4375vw,258px);
	aspect-ratio:28/39;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	bottom: 0;
	right: 0;
}

#howtochoice .recommend_wrap .recommend_ttl{
	color: #fff;
	display: inline-block;
	position: absolute;
	transform: rotate(-5deg);
	background: #EF7E33;
	padding: .25em 1em;
	left: -2.5em;
	top:-2em;
	font-size: min(1.4583333333333333vw,28px);
}
#howtochoice .recommend_wrap .recommend_item:not(:last-child){
	margin-bottom: 1em;
}
#howtochoice .recommend_wrap .recommend_item{
	padding-left: 2.5em;
	position: relative;
	font-size: min(1.4583333333333333vw,28px);
	
}
#howtochoice .recommend_wrap .recommend_item::before{
	position: absolute;
	background:url(../img/checked.svg);
	width: 35px;
	height: 35px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

#method{
	padding: 120px 0 150px;
	position: relative;
	background: #FFFCF3;
}
#method::before{
	height: 150px;
	width: 1px;
	position: absolute;
	background: #707070;
	top:-75px;
	left: calc(50% - 0.5px);
	content: "";
	z-index: 1;
}
#method::after{
	height: 150px;
	width: 1px;
	position: absolute;
	background: #707070;
	bottom:-75px;
	left: calc(50% - 0.5px);
	content: "";
	z-index: 1;
}
#service{
	padding:150px 0;
	background: #FFFCF3;
	position: relative;
}
#service::before{
	height: 150px;
	width: 1px;
	position: absolute;
	background: #707070;
	top:-75px;
	left: calc(50% - 0.5px);
	content: "";
}
#service h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}
#service h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#service .service_wrap:not(:last-child){
	margin-bottom: 3em;
}
#service .service_wrap{
	position: relative;
}
#service .service_wrap .mypira_logo{
	position: absolute;
	right: 3em;
	top:3em;
	width: min(15.104166666666666vw,290px);
}
#service .service_wrap .bg-white{
	padding: 3em;
	border: 1px solid #707070;
	position: relative;
}
#service .service_wrap h3{
	position: relative;
	text-align: center;
	font-size: min(1.8229166666666667vw,35px);
	padding-bottom: 1.5em;
	margin-bottom: 2em;
	font-weight: 300;
}
#service .service_wrap h3::after{
	width: min(26.458333333333332vw,508px);
	height: 1px;
	background: #707070;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	content: "";
}

#service .service_wrap h3 span{
	position: relative;
}

#service .service_wrap h3 span::before{
	position: absolute;
	content: "";
	width: min(6.25vw,120px);
	aspect-ratio:120/119;
	top: 50%;
	left: min(-6.25vw,-120px);
	transform: translateY(-50%);
}

#service .service_wrap h3 span.first::before{
	background: url(../img/service1.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
#service .service_wrap h3 span.second::before{
	background: url(../img/service2.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
#service .service_wrap h3 span.third::before{
	background: url(../img/service3.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
#service .service_wrap h4{
	background: #C6BDB4;
	padding: .5em;
	color: #fff;
	line-height: 1.75;
	font-size: min(1.4583333333333333vw,28px);
	margin-bottom: 2em;
}

#service .service_wrap h4.first{
	padding: 1.5em .5em;
}
#service .service_wrap p{
	font-size: min(1.25vw,24px);
	line-height: 2;
}
#service .service_wrap .f_service_more{
	margin-right: 30px;
}
#service .service_wrap .f_service_more{
	text-align: end;
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: min(1.4583333333333333vw,28px);
	color: #707070;
	text-decoration: none;
	display: inline-block;
}
#service .service_wrap .f_service_more span{
	position: relative;
	display: block;
	padding: .25em 1.75em;
}
#service .service_wrap .f_service_more span::after{
	content: "";
	width: 100%;
  height: 12px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  transform: skew(45deg);
	position: absolute;
	bottom: 0;
	right: 0;
}
#voice{
	padding:80px 0 ;
	background: #D3C8BD;
}
#voice h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 1.5em;
	line-height: 1.75;
}
#voice h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#voice .voice_wrap{
	background: #D3CABA;
	padding: 1em;
}
#voice .voice_wrap .name{
	background: #5E544F;
	color: #fff;
	font-weight: bold;
	text-align: center;
	position: relative;
	font-size: min(1.4583333333333333vw,28px);
	padding: .25em 0;
}
#voice .voice_wrap .name::before{
	content: "Customer's Voice";
	position: absolute;
	left: 0;
	top:min(-0.78125vw,-15px);
	color: #5E544F;
	font-size: min(0.78125vw,15px);
	font-weight: 300;
}
#voice .voice_wrap span{
	position: absolute;
	display: block;
	top:-150%;
	right: 0;
	font-size: min(4.0625vw,78px);
	color: #5E544F;
	font-weight: 300;
}
#voice .voice_wrap span small{
	font-size: min(1.9270833333333335vw,37px);
	vertical-align: text-top;
}
#voice .voice_wrap p{
	font-size: min(1.5625vw,30px);
line-height: 1.75;
}
#voice .voice_wrap .youtube{
	width: 100%;
	aspect-ratio:16/9;
}
#line{
	background: #FFFCF3;
	padding: 240px 0 150px;
	position: relative;
    overflow: hidden;
	
}
#line::before{
	display: inline-block;
    width: 120%;
    height: 120px;
    border-radius: 50% / 0 0 100% 100%;
    background: #DCD3CB;
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
#line .line_wrap{
	position: relative;
	padding: 3em 0;
}
#line .line_wrap::before{
	border: 1px solid #707070;
	width: 100%;
	height: 100%;
	position: absolute;
	top:-5px;
	left: -5px;
	content: "";
}
#line .line_wrap h2{
	text-align: center;
	font-size: min(2.1875vw,42px);
	position: relative;
  padding: 1.5rem 2rem;
	margin-bottom: 2.5em;
}

#line .line_wrap h2:before {
  position: absolute;
  bottom: 0;
  left: 25%;
  width: 50%;
  height: 1px;
  content: '';
	background: #707070;
}
#line .line_wrap h2:after {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 10px);
  width: 20px;
  height: 20px;
  content: '';
	background: #fff;
	transform: rotate(-45deg);
	border-bottom: 1px solid #707070;
}
#line .line_wrap p.mincho{
	margin-bottom: 2em;
	font-size: min(1.4583333333333333vw,28px);
}
.line_btn_wrap{
	text-align: center;
}
.line_btn_wrap .line_btn{
	background: #06C755;
	color: #fff;
	padding: .5em 3em;
	font-size: min(2.083333333333333vw,40px);
	text-decoration: none;
	box-shadow: 3px 3px 10px rgba(0,0,0,.16);
	display: inline-block;
	position: relative;
}
.line_btn_wrap .line_btn::after{
	content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 12px 15px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  margin: auto;
}
#line::after{
	height: 150px;
	width: 1px;
	position: absolute;
	background: #707070;
	top:40px;
	left: calc(50% - 0.5px);
	content: "";
}
#message{
	padding: 150px 0 80px;
	background: #DCD3CB;
}

#message h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 1.5em;
	line-height: 1.75;
}
#message h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#message h2 span.en{
	color: rgba(255,255,255,0.2);
	left:50%;
	transform: translate(-50% ,-25%) rotate(-10deg);
	top: 0;
	
}
#message .message_wrap{
	position: relative;
	margin-bottom: 3em;
}
#message .message_img{
	width: 40%;
	position: absolute;
	left: 0;
	top:2em;
	box-shadow: 5px 5px 0px #E6E6E6;
}
#message .message_text{
	/*width: min(55.208333333333336vw,1060px);*/
	width: 65%;
	
}
#message .message_inner{
	background: rgba(255,255,255,0.7);
	padding: 3em;
}

#message .message_inner .message_inner_{
	padding: 1em;
	position: relative;
}

#message .message_inner .message_inner_ .name_wrap{
	position: relative;
}
#message .message_inner .message_inner_ .name_wrap::after{
	content: "Profile";
	font-family: "rollerscript-rough", sans-serif;
font-weight: 400;
font-style: normal;
	display: inline-block;
	background: #F6F4F2;
	transform: rotate(5deg);
	font-size: min(2.34375vw,45px);
	position: absolute;
	bottom:-.5em;
	padding-left: 1em;
	right: 0;
}
#message .message_inner .message_inner_ .name{
	padding-bottom: .5em;
	border-bottom: 1px solid #000;
	padding: 1em;
	font-size: min(1.8229166666666667vw,35px);
	margin-bottom: 2em;
}
#message .message_inner .message_inner_ .message{
	padding:0 1em;
	font-size: min(1.4583333333333333vw,28px);
	line-height: 2;
	margin-bottom: 2em;
}
#message .message_inner .message_inner_ .shikaku h3{
	font-size: min(1.4583333333333333vw,28px);
	color: #fff;
	
}
#message .message_inner .message_inner_ .shikaku h3 span{
	padding:0.5em 1em;
	display: inline-block;
	background: #C2B5A0;
	border-radius: 5px;
}

#message .message_inner .message_inner_ .shikaku ul{
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	list-style: none;
}
#message .message_inner .message_inner_ .shikaku ul li{
	font-size: min(1.4583333333333333vw,28px);
	width: 50%;
	padding: 0 15px;
	
}
#message .message_inner .message_inner_ .shikaku ul li:nth-child(n+5) {
	width: 100%;
}

#message .message_inner .message_inner_ .shikaku ul li:not(:last-child){
	margin-bottom: 1em;
}

#message .message_inner .message_inner_ .shikaku ul li span{
	padding-left: 1.5rem;
	position: relative;
	display: block;
}

#message .message_inner .message_inner_ .shikaku ul li span::before{
	background:#EF7E33;
	content: "";
	top:calc(50% - 6.5px);
	left: calc(.5rem - 6.5px);
	width: 13px;
	height: 13px;
	position: absolute;
	border-radius: 10px;
}
#message .bottommessage{
	
	position: relative;
	padding: 3em 5em;
	background: #fff;
}
#message .bottommessage::before{
	border: 1px solid #707070;
	width: 100%;
	height: 100%;
	position: absolute;
	top:-5px;
	left: -5px;
	content: "";
}
#message .bottommessage1,#message .bottommessage_img{
	margin-bottom: 5em;
}
#message .bottommessage p{
	margin-bottom: 2em;
	font-size: min(1.4583333333333333vw,28px);
}
#message .bottommessage p:last-child{
	margin-bottom: 0!important;
}
#message .bottommessage p span.marker_a{
	background: rgba(238,126,51,0.5);
}

#message .bottommessage p span.marker_b{
	position: relative;
	font-weight: bold;
	text-decoration-line: underline;
text-decoration-thickness: 4px;
	text-decoration-color: #EF7E33;
}

footer{
	padding: 20px 0;
	background: #5E544F;
	
}
footer nav{
	margin-bottom: 2em;
}
footer nav ul{
	display: flex;
	padding: 0;
	list-style: none;
	margin: 0;
	justify-content: center;
}
footer nav ul li{
	width: fit-content;
	padding: 0 15px;
}
footer nav ul li a{
	color: #fff;
	text-decoration: none;
	font-size: min(0.6770833333333334vw,13px);
}
footer #copyright{
	text-align: center;
	color: #fff;
	margin-bottom: 0;
	font-size: min(0.6770833333333334vw,13px);
}
.fxd_cta{
	position: fixed;
	right: -300px;
	z-index: 99;
	top: 50%;
	transform: translateY(-50%);
  transition: right 0.5s ease;
}
.fxd_cta ul{
	display: block;
	list-style: none;
	padding: 0;
	margin: 0;
	
}
.fxd_cta.active {
  right: 0px; /* 表示位置 */
}
.fxd_cta.active ul li{
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
.fxd_cta ul li{
	writing-mode: vertical-rl;
	text-align: center;
text-orientation: upright;
}
.fxd_cta ul li span{
text-orientation: upright;
	letter-spacing: -8px;
}
.fxd_cta ul li:not(:last-child){
	margin-bottom: 1em;
}
.fxd_cta ul li a{
	display: block;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	font-size: 1.25em;
	padding: 2em .5em;
	background: #666;
}

.fxd_cta ul li:first-child a{
	background: #06C755;
}
@media screen and (min-width:768px) {
a[href^="tel:"] {
    pointer-events: none;
}
}
@media screen and (max-width:768px) {
	header .sitelogo {
    width: 150px;
	}
.mb-25{
	margin-bottom: 0;
}
	header{
		background: #fff;
		box-shadow: 0px 2px 4px #a9a9a9;
	}
	.nav-link{
		text-align: center;
	}
	#mv .mv_text_en .rollerscript{
		font-size: 48px;
	}
	mv .mv_text_en_center {
    font-size: 40px;
	}
	#mv .mv_text_ja .mincho {
    font-size: 10px;
		line-height: 1.25;
	}
	#mv .mv_text_ja {
    top: 68%;
		line-height: 1.25;
		left: 30%;
		transform: none;
		
	}
	#support {
    padding: 30px 0 70px;
	}
	h2 span.en {
    font-size: 80px;
	}
	#support h2 span.en, #method h2 span.en, #service h2 span.en, #voice h2 span.en,#faq h2 span.en {
    transform: translate(-50%, -50%) rotate(-10deg);
		top:50%;
	}
	#support h2,#method h2,#service h2,#voice h2,#message h2,#faq h2 {
    font-size: 20px;
	}
	#support h2::after,#method h2::after,#service h2::after,#voice h2::after,#message h2::afterr,#faq h2::after {
    height: 3px;
    width: 30%;
	}
	#thought{
		padding: 50px 0;
	}
	#thought h2{
		font-size: 20px;
	}
	#thought p{
		font-size: 16px;
	}
	#support .support_wrap {
    display: flex;
    flex-wrap: wrap;
		max-width: 100%;
	}
	#support .support_wrap li {
    width: 50%;
    padding: 0 5px;
}
	#support .support_wrap li:nth-child(2) {
    align-content: flex-end;
    width: 100%;
		margin-top: 1em;
}
	#support .support_wrap li:nth-child(2) img {
    width: 20%;
	}
	#support .support_item {
    font-size: 14px;
	}
	#support::after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: calc(50% - 35px);
    width: 0;
    height: 0;
    border-top: 40px solid #EF7E33;
    border-left: 35px solid transparent;
    border-right: 35px solid transparent;
    z-index: 1;
}
	#desire{
		padding: 50px 0 50px;
	}
	#desire h2 {
    position: relative;
    text-align: center;
    font-size: 30px;
		padding-bottom: 1em;
		margin-bottom: 1.5em;
	}
	#desire h2 span {
    font-size: 32px;
		letter-spacing: 5px;
	}
	#desire h2 span::after {
    bottom: -10px;
	}
	#desire h2::after {
    height: 3px;
    width: 30%;
	}
	#desire .bottom_line p {
    font-size: 16px;
	}
	#desire .bottom_line p span.rubi {
    display: inline-block;
}
	#desire .bottom_line p span.rubi::before {
    top: -50%;
	}
	#desire .bottom_line p span.underline::after{
		content: none;
		}
	
	#desire .bottom_line p span.underline{
		text-decoration: underline;
		text-decoration-color: #FAD7BF;
		text-decoration-thickness: 0.4rem;
	}#desire .desire_text {
    text-align: center;
    font-size: 24px;
	}
	#desire .philosophy {
    text-align: center;
    font-size: 18px;
		line-height: 2.5;
	}
	#desire .philosophy span.philosophy_wrap{
		display: block;
		text-align: center;
	}
	#desire .philosophy span.yojo {
    padding: .2em .75em .25em 2em;
    margin: 0 .5em;
	}
	#desire .philosophy span.shindan{
    padding: .2em .75em .25em 2em;
    margin: 0 .5em;
	}
	#desire .philosophy span.yojo::before,#desire .philosophy span.shindan::before{
		width: 20px;
		left: 10px;
	}
	#approach{
		padding: 50px 0;
	}
	#approach h2 {
    font-size: 28px;
		padding-bottom: 1em;
        margin-bottom: 1.5em;
	}
	#approach h2 span {
    font-size: 36px;
		letter-spacing: 10px;
	}
	#approach h2::after {
        height: 3px;
        width: 30%;
    }
	#approach h3 {
    font-size: 16px;
	}
	#approach h4 {
    font-size: 16px;
	}
	#approach p{
		max-width: 100%;
    font-size: 16px;
	}
	#recommend{
		padding: 30px 0;
	}
	#recommend h2 {
    font-size: 24px;
		margin-bottom: 1.5em;
	}
	#recommend .sp-recommend_wrap{
		display: flex;
		justify-content: center;
		margin: 0 auto;
		overflow: hidden;
	}
	#recommend .sp-recommend_wrap img{
		width: 700px!important;
		max-width: inherit;
	}
	#howtochoice::before {
    width: 28px;
		top:30px;
	}
	#howtochoice {
		padding: 90px 0 70px;}
	#howtochoice h2 {
    font-size: 17px;
		margin-bottom: 1.5em;
	}
	#howtochoice p:not(:last-child) {
    margin-bottom: 1em;
}
#howtochoice p {
    line-height: 2;
    font-size: 18px;
}
	#howtochoice .recommend_wrap {
    width: 100%;
    border: 1px solid #707070;
    padding: .5em;
	}
	#howtochoice .recommend_wrap .recommend_ttl {
    color: #fff;
    display: inline-block;
    position: absolute;
    transform: rotate(-5deg);
    background: #EF7E33;
    padding: .25em .5em;
    left: -10px;
    top: -2.25em;
    font-size: 15px;
	}
	#howtochoice .recommend_wrap .recommend_item {
    padding-left: 1.5em;
		padding-right: 2.5em;
    position: relative;
    font-size: 15px;
	}
	#howtochoice .recommend_wrap .recommend_item::before {
    position: absolute;
    width: 15px;
		height: 15px;
	}
	#howtochoice .recommend_wrap::after {
    width: 75px;
	}
	#service::before {
    height: 90px;
    top: -45px;
	}
	#method .method_bg h3 {
    
    font-size: 24px;
	}
	#method .method_bg h4 {
		font-size: 20px;
	}
	#method .method_bg .features_wrap h5 {
    font-size: 18px;
		padding-left: 40px;
	}
	#method .method_bg .effect_wrap h5{
		font-size: 18px;
	}
	#method .method_bg .features_wrap h5::before {
    width: 30px;
    height: 30px;
	}
	#method .method_bg .features_wrap p::before,#method .method_bg .effect_wrap p::before {
    width: 25px;
    height: 25px;
	}
	#method .method_bg .features_wrap p,#method .method_bg .effect_wrap p {
    padding-left: 40px;
	}
	#method {
    padding: 60px 0 100px;
	}
	#service{
		padding: 70px 0;
	}
	#service .service_wrap .bg-white {
    padding: 2em 1em;
	}
	#service .service_wrap h3 {
    font-size: 20px;
    padding-bottom: 1em;
    margin-bottom: 1em;
	}
	#service .service_wrap .mypira_logo {
    position: absolute;
    right: 1em;
    top: 1em;
    width: 80px;
}
	#service .service_wrap h4 {
    font-size: 20px;
		    margin-bottom: 1em;
	}
	#service .service_wrap p {
    font-size: 16px;
	}
	#service .service_wrap h3 span{
		display: block;
	}
	#service .service_wrap h3 span::before {
    width: 50px;
		left: 0;
	}
	#service .service_wrap h4.first{
		padding: .5em .5em;
		    margin-bottom: 1em;
	}
	#service .service_wrap .f_service_more {
    text-align: center;
    position: inherit;
    bottom: 0;
    right: 0;
    font-size: 16px;
    color: #707070;
    text-decoration: none;
    display: block;
    margin-bottom: 1rem;
    margin-right: 0;
}
	#service .service_wrap .f_service_more span::after {
    content: "";
    width: 80%;
    height: 12px;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    transform: skew(45deg);
    position: absolute;
    bottom: 0;
    right: 10%;
}
	#voice {
    padding: 50px 0 ;
	}
	#voice .voice_wrap .name {
    font-size: 20px;
	}
	#voice .voice_wrap .name::before {
    top: -18px;
    font-size: 16px;
	}
	#voice .voice_wrap span {
    top: -54px;
    font-size: 50px;
	}
	#voice .voice_wrap span small {
    font-size: 30px;
	}
	#voice .voice_wrap p {
    font-size: 18px;
	}
	#line {
    background: #FFFCF3;
    padding: 100px 0 50px;
	}
	#line::before {
    height: 50px;
	}
	#line::after {
    height: 80px;
    top: 0px;
	}
	#line .line_wrap h2 {
    font-size: 20px;
		padding: 1rem 0;
		margin-bottom: 1.5em;
	}
	#line .line_wrap {
    padding: 1em 0 1.5em;
	}
	#line .line_wrap p.mincho {
    margin-bottom: 2em;
    font-size: 15px;
	}
	.line_btn_wrap .line_btn {
    font-size: 20px;
	}
	#message {
    padding: 100px 0 50px;
	}
	#message h2 span.en {
		transform: translate(-50%, -50%) rotate(-10deg);
	}
	#message .message_text {
    width: 100%;
	}
	#message .message_img {
    width: 300px;
    position: static;
    margin: 0 auto;
	}
	#message .message_inner .message_inner_ .name {
    border-bottom: 1px solid #000;
    padding: .5em;
    font-size: 20px;
		margin-bottom: 1em;
	}
	#message .message_inner {
    padding: .5em;
	}
	#message .message_inner .message_inner_ .name_wrap::after {
    font-size: 20px;
    padding-left: .5em;
	}
	#message .message_inner .message_inner_ .message {
    padding: 0 .5em;
    font-size: 16px;
		margin-bottom: 1em;
	}
	
#message .message_inner .message_inner_ .shikaku h3{
	font-size: 20px;
	
}

#message .message_inner .message_inner_ .shikaku ul li{
	font-size: 16px;
	width: 100%;
	
}

#message .message_inner .message_inner_ .shikaku ul li:not(:last-child){
	margin-bottom: .5em;
}

#message .message_inner .message_inner_ .shikaku ul li span{
	padding-left: 1.5rem;
	position: relative;
	display: block;
}
	#message .message_inner .message_inner_{
		padding: .5em;
	}
#message .message_inner .message_inner_ .shikaku ul li span::before{
	background:#EF7E33;
	content: "";
	top:calc(50% - 6.5px);
	left: calc(.5rem - 6.5px);
	width: 13px;
	height: 13px;
	position: absolute;
	border-radius: 10px;
}
	#message .bottommessage {
    padding: 1em;
	}
	#message .bottommessage1, #message .bottommessage_img {
    margin-bottom: 2em;
}
	#message .bottommessage p {
    margin-bottom: 1em;
    font-size: 14px;
}
	footer{
		padding-bottom: 60px;
	}
	footer nav ul li a {
    font-size: 10px;
	}
	footer #copyright {
    font-size: 10px;
	}
	
.fxd_cta{
	position: fixed;
	right: 0;
	z-index: 99;
	bottom: 0;
	left: 0;
	top: inherit;
	transform: translateY(0);
  transition: inherit;
}
.fxd_cta ul{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin: 0;
	
}
.fxd_cta.active {
  right: 0px; /* 表示位置 */
}
.fxd_cta.active ul li{
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
.fxd_cta ul li{
	writing-mode: inherit;
	text-align: center;
text-orientation: inherit;
	width: 50%;
}
.fxd_cta ul li span{
text-orientation: inherit;
	letter-spacing: 0;
}
.fxd_cta ul li:not(:last-child){
	margin-bottom: 0;
}
.fxd_cta ul li a{
	font-size: 1em;
	padding: .75em 0;
}
}
/*===================固定ページ共通===============*/
.page-template.page-template-page.page-template-company{
	background: #F7F5F3;
}
.page-template.page-template-page.page-template-inquiry{
	background: url(../img/inquiry_bg.jpg);
	background-repeat: repeat-y;
	background-position: left top;
	background-size: contain;
}
.page-template.page-template-page header,body.error404 header,body.archive header,body.single header{
	background: #fff;
	position: static;
}
/*===================会社概要ページ===============*/
#page_mv{
	display: flex;
	justify-content: flex-end;
	position: relative;
}
#page_mv .mv_img{
	width: min(65.10416666666666vw,1250px);
	padding: 50px 0;
	
}

#page_mv .mv_text_en_center{
	position: absolute;
	top:50%;
	left: .25em;
	transform: translateY(-50%);
	font-size: min(6.71875vw,129px);
	font-weight: 400;
	letter-spacing: 5px;
}
#page_mv .mv_text_en{
	position: absolute;
	top:50%;
	left: 3em;
}
#page_mv .mv_text_ja{
	position: absolute;
	top:65%;
	left: 4em;
}
#page_mv .mv_text_en .rollerscript{
	transform: rotate(-10deg);
	color: #FBEADF;
	font-size: min(7.708333333333334vw,148px);
	display: block;
	line-height: 1;
}
#page_mv .mv_text_ja .mincho{
	font-size: min(1.5104166666666667vw,29px);
	color: #707070;
}

#company{
	padding: 80px 0;
	position: relative;
}

#company h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}
#company h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}

#company h2 span.en{
	left:50%;
	transform: translate(-50% ,-25%) rotate(-10deg);
	top: 0;
	
}
#company .company_bg{
	position: relative;
	padding: 4em 3em;
	background: #fff;
}
#company .company_bg::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	border: 1px solid #707070;
	top:-5px;
	left:-5px;
}
#company .company_wrap:not(:last-child){
	margin-bottom: 2em;
}
#company .company_wrap .company_item{
	color: #fff;
	text-align: center;
	background: #BAB1A7;
	padding: .25em 0;
	font-size: min(1.8229166666666667vw,35px);
}
#company .company_wrap .company_detail{
	font-size: min(1.4583333333333333vw,28px);
	line-height: 1.75;
}
#inquiry{
	padding: 80px 0;
	position: relative;
}

#inquiry h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}
#inquiry h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}

#inquiry h2 span.en{
	left:50%;
	transform: translate(-50% ,-25%) rotate(-10deg);
	top: 0;
	
}
#inquiry .inquiry_bg{
	position: relative;
	padding: 4em 5em;
	background: #C6BDB4;
	z-index: 1;
}
#inquiry .inquiry_bg::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	border: 1px solid #707070;
	top:-5px;
	left:-5px;
	z-index: -1;
}
#inquiry .inquiry_bg form label{
	font-size: min(1.8229166666666667vw,35px);
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	letter-spacing: .5px;
}
.form-control,.form-select,textarea{
	border-radius: 0!important;
	font-size: min(1.4583333333333333vw,28px);
}
.form-select{
	color: #968F8C;
}
#inquiry form textarea::placeholder{
	color: #968F8C;
}
#inquiry form input[type="submit"]{
	display: block;
	background: #5E544F;
	color: #fff;
	padding: .25em 0;
	text-align: center;
	border-radius: 10px;
	width: 100%;
	font-size: min(1.4583333333333333vw,28px);
	letter-spacing: 5px;
}
@media screen and (max-width:768px) {
#page_mv .mv_text_en {
    left: 1em;
	}
	#page_mv .mv_text_ja .mincho {
    font-size: 10px;
	}
	#page_mv .mv_text_ja {
    left: 1em;
	}
	#page_mv .mv_img {
    padding: 30px 0;
	}
	#company {
    padding: 30px 0;
	}
	#company h2 span.en{
    transform: translate(-50%, -50%) rotate(-10deg);
		top:50%;
	}
	#company h2 {
    font-size: 20px;
	}
	#company h2::after {
    height: 3px;
    width: 30%;
	}
	#company .company_bg {
    padding: 2em 1em;
	}
	#company .company_wrap:not(:last-child) {
    margin-bottom: 1em;
}
	#company .company_wrap .company_item{
		font-size: 18px;
		margin-bottom: .5em;
	}
	#company .company_wrap .company_detail{
		font-size: 16px;
		text-align: center;
	}
	#inquiry {
    padding: 30px 0;
    position: relative;
}
	
	#inquiry h2 span.en{
    transform: translate(-50%, -50%) rotate(-10deg);
		top:50%;
	}
	#inquiry h2 {
    font-size: 20px;
	}
	#inquiry h2::after {
    height: 3px;
    width: 30%;
	}
	#inquiry .inquiry_bg {
    padding: 1em;
	}
	#inquiry .inquiry_bg form label {
    font-size: 18px;
	}
	.form-control, .form-select, textarea {
    border-radius: 0 !important;
    font-size: 16px;
	}
	#inquiry form input[type="submit"]{
	font-size: 18px;
	}
}
/*================404ページ============*/
#error404{
	padding: 50px 0;
	
}
#error404 h1{
	text-align: center;
	margin-bottom: 1.5em;
}
#error404 h1 span.en{
	font-size: 126px;
}
#error404 h2{
	font-size: 1.75em;
}
@media screen and (max-width:768px) {
#error404 h1 span.en {
    line-height: .75;
}
	#error404 h2 {
    font-size: 1.15em;
		margin-bottom: 1em;
}
}
/*===================体質改善コーディネーター講座ページ===============*/
#t_introduce{
	background: #FFFCF3;
	padding: 80px 0;
}

#t_introduce h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}
#t_introduce h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#t_introduce p{
	line-height: 1.75;
	font-size: min(1.4583333333333333vw,28px);
}

#t_introduce p:not(:last-child){
	margin-bottom: 1.5em;
	
}

#t_introduce p span.underline {
	text-decoration: underline;
	text-decoration-color: #F9CBA8;
	text-decoration-thickness:8px;
text-underline-offset: -0.1rem;}
#t_introduce ul{
	overflow: hidden;
	margin: 0 0 1.5em;
	padding: 0;
	list-style: none;
	
}

#t_introduce ul li{ 
	position: relative;
	padding-left: 1.25em;
	font-size: min(1.4583333333333333vw,28px);
}
#t_introduce ul li::before{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	content: "";
	background: url(../img/s_check.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 1rem;
	aspect-ratio:28/37;
}
#t_merit{
	background: #F0ECE8;
	padding: 80px 0;
}
#t_merit .t_merit_ttl {
	text-align: center;
}
#t_merit .t_merit_ttl h3{
	display: inline-block;
	position: relative;
	padding: 1em 2em;
	z-index: 2;
	font-size: min(2.03125vw,39px );
	line-height: 1.75;
	background: #fff;
	margin-bottom: 2rem;
}
#t_merit .t_merit_ttl h3::before{
	content: "";
	width: 100%;
	border: 1px solid #000;
	height: 100%;
	position: absolute;
	left:-5px;
	top:-5px;
	z-index: -1;
	
}
#t_merit .t_merit_ttl h3 span.ttlbox{
	position: relative;
	display: inline-block;
}
#t_merit .t_merit_ttl h3 span.ttlbox::after{
	content: "";
	width: 100%;
	aspect-ratio:626/33;
	position: absolute;
	left: 0;
	bottom: -45%;
	background: url(../img/t_merit_line.svg);
	background-repeat: no-repeat;
	background-size: contain;
	
}
#t_merit h2{
	font-size: min(2.03125vw,39px);
	position: relative;
	text-align: center;
	padding-bottom: 2em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}

#t_merit h2 span.bigger{
	font-size: min(2.34375vw,45px);
}
#t_merit h2 span.line2{
	position: relative;
}
#t_merit h2 span.line3{
	position: relative;
}
#t_merit h2 span.line2::after{
	content: "";
	width: 100%;
	aspect-ratio:203.75/16.7;
	position: absolute;
	left: 0;
	bottom: -35%;
	background: url(../img/t_merit_line3.svg);
	background-repeat: no-repeat;
	background-size: contain;
}
#t_merit h2 span.line3::after{
	content: "";
	width: 100%;
	aspect-ratio:370.38/19.4;
	position: absolute;
	left: 0;
	bottom: -35%;
	background: url(../img/t_merit_line2.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

#t_merit h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#t_merit .merit_wrap{
	display: flex;
	flex-wrap: wrap;
	
}

#t_merit .merit_wrap div.merit_left{
	width: 40%;
	padding-right: 10px;
	align-self: center;
}
#t_merit .merit_wrap div.merit_left img:not(:last-child){
	margin-bottom: 1.5em;
}
#t_merit .merit_wrap div.merit_right{
	width: 55%;
	padding-left: 10px;
}
#t_merit .merit_wrap div.merit_right h4{
	font-size: min(1.8229166666666667vw,35px);
	font-weight: bold;
	position: relative;
	padding-left: min(6.510416666666667vw,125px);
	margin-bottom: 1.5em;
}
#t_merit .merit_wrap div.merit_right h4::before{
	content: "";
	width: min(6.041666666666667vw,116px);
	aspect-ratio:117/118;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

#t_merit .merit_wrap div.merit_right h4.first::before{
	background: url(../img/s_taishitsu_merit_icon1.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
#t_merit .merit_wrap div.merit_right h4.second::before{
	background: url(../img/s_taishitsu_merit_icon2.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

#t_merit .merit_wrap div.merit_right h4.third::before{
	background: url(../img/s_taishitsu_merit_icon3.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
#t_merit .merit_wrap div.merit_right p{
	padding-left: min(2.34375vw,45px);
	position: relative;
	font-size: min(1.4583333333333333vw,28px);
}
#t_merit .merit_wrap div.merit_right p:not(:last-child){
	margin-bottom: 1.25rem;
}
#t_merit .merit_wrap div.merit_right p.effect{
	position: relative;
	font-weight: bold;
}
#t_merit .merit_wrap div.merit_right p.effect::before{
	content: "";
	width:min(2.1354166666666665vw,41px);
	aspect-ratio:41/58;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../img/s_taishitsu_merit_arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
}
#t_merit .merit_wrap div.merit_right .merit_items:not(:last-child){
	margin-bottom: 2.5em;
}
#t_merit .merit_wrap div.merit_right .merit_items ul {
	list-style: none;
	padding: 0;
	margin-bottom: 1em;
	
}
#t_merit .merit_wrap div.merit_right .merit_items ul li{
	position: relative;
	padding-left: min(2.34375vw,45px);
	font-size: min(1.4583333333333333vw,28px);
}
#t_merit .merit_wrap div.merit_right .merit_items ul li::before{
	content: "";
	width:min(1.8229166666666667vw,35px);
	aspect-ratio:1/1;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../img/checked.svg);
	background-repeat: no-repeat;
	background-size: contain;
}
#t_merit .whatyouget{
	padding: 50px 0 0;
}
#t_merit .whatyouget h3{
	text-align: center;
	color: #fff;
	font-size: min(1.4583333333333333vw,28px);
	margin-bottom: 3em;
}
#t_merit .whatyouget h3 span{
	padding: .5em 3.5em;
	display: inline-block;
	background: #EF7E33;
	
}
#t_merit .whatyouget .whatyouget_flex{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
#t_merit .whatyouget .whatyouget_flex .whatyouget_left{
	width:50%;
}
#t_merit .whatyouget .whatyouget_flex .whatyouget_left p{
	font-size: min(1.4583333333333333vw,28px);
}
#t_merit .whatyouget .whatyouget_flex .whatyouget_left p:not(:last-child){
	margin-bottom: 1.5em;
}
#t_merit .whatyouget .whatyouget_flex .whatyouget_right{
	width:45%;
}
#features{
	padding: 80px 0;
	background: #FFFCF3;
}
#features .row.features_mv{
	margin-bottom: 8rem;
}
#features h2{
	position: relative;
	text-align: center;
	font-size: min(2.9166666666666665vw,56px);
	padding-bottom: 1em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}

#features h2 span{
	position: relative;
	font-size: min(3.28125,63px);
	padding: 0 1rem;
	display: inline-block;
}
#features h2 span::before{
	content: "";
	width:100%;
	aspect-ratio:115/6;
	position: absolute;
	left: 0;
	bottom: 0;
	background: url(../img/s_taishitsu_features_line.svg);
	background-repeat: no-repeat;
	background-size: contain;
	
}
#features h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#features .features_wrap:not(:last-child){
margin-bottom: 6em;
	
}
#features .features_wrap h3{
	text-align: center;
	position: relative;
	color: #EF7E33;
	font-size: min(1.4583333333333333vw,28px);
	font-weight: bold;
	margin-bottom: 2.5em;
}
#features .features_wrap h3 span.ttl_wrap{
	border: 2px solid #EF7E33;
	padding: 5px;
	display:inline-block;
	position: relative;
}

#features .features_wrap h3 span.ttl_wrap::before{
	content: "";
	position: absolute;
	width: min(5.208333333333334vw,100px);
	height: 3px;
	background: #FFFCF3;
	top:-3px;
	left: 50%;
	transform: translateX(-50%);
}
#features .features_wrap h3 span.ttl_inner{
	padding: 1em 6.5rem;
	background: #fff;
	display:inline-block;

}
#features .features_wrap h3 span.num{
	position: absolute;
	top:max(-3.0208333333333335vw,-58px);
	left: 50%;
	transform: translateX(-50%);
	font-size: min(3.28125vw,63px);
	font-family: 'DIN Alternate Bold';
	letter-spacing: 5px;
}

#features .features_wrap p{
	font-size: min(1.4583333333333333vw,28px);
}
#features .features_wrap p:not(:last-child){
	margin-bottom:1.5rem;
}
#curriculum{
	padding: 80px 0;
}
#curriculum .ttl_wrap p {
	text-align: center;
	font-size: min(2.1875vw,42px);
	position: relative;
	margin-bottom: 2.5em;
}

#curriculum .ttl_wrap p span.wrap{
	display: inline-block;
  padding: 0.75rem 0;
	border-left:2px solid #EF7E33;
	border-top:2px solid #EF7E33;
	border-right:2px solid #EF7E33;
  width: 50%;
}

#curriculum .ttl_wrap p:before {
  position: absolute;
  bottom: 0;
  left: 25%;
  width: 50%;
  height: 2px;
  content: '';
	background: #EF7E33;
}
#curriculum .ttl_wrap p:after {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 10px);
  width: 20px;
  height: 20px;
  content: '';
	background: #fff;
	transform: rotate(-45deg);
	border-bottom: 2px solid #EF7E33;
}

#curriculum h2{
	position: relative;
	text-align: center;
	font-size: min(2.9166666666666665vw,56px);
	padding-bottom: 1em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}

#curriculum h2 span{
	position: relative;
	font-size: min(3.28125vw,63px);
	padding: 0 1rem;
	display: inline-block;
}
#curriculum h2 span::before{
	content: "";
	width:100%;
	aspect-ratio:115/6;
	position: absolute;
	left: 0;
	bottom: 0;
	background: url(../img/s_taishitsu_features_line.svg);
	background-repeat: no-repeat;
	background-size: contain;
	
}
#curriculum h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#curriculum .curriculum_wrap{
	margin-bottom: 2em;
}
#curriculum .curriculum_item{
	width: min(62.5vw,1200px);
	margin-left:auto;
	margin-right:auto;
	position: relative;
}
#curriculum .curriculum_item:not(:last-child)::after{
	content: "";
    position: absolute;
    bottom: -60px;
    left: 50%;
    border: 30px solid transparent;
    border-top: 30px solid #EF7E33;   
	transform: translateX(-50%);
}
#curriculum .curriculum_item:not(:last-child){
	margin-bottom: 2em;
	padding-bottom: 3em;
}

#curriculum .curriculum_item h3{
	font-weight: bold;
	font-size:min(1.8229166666666667vw,35px);
	padding: .5em 0;
}
#curriculum .curriculum_item h3 span.num{
	font-size:min(2.083333333333333,40px);
}
#curriculum .curriculum_item h3 span.cont_ttl{
	font-weight: bold;
	border-bottom: 1px solid #000;
	display: inline-block;
}
#curriculum .curriculum_item h3 span.month{
	padding: .5em 0;
	display: inline-block;
	padding-left: 1em;
	padding-right: 1em;
	background: #5E544F;
		border-radius:10px;
	margin-right: 1.5em;
	color: #fff;
}
#curriculum .curriculum_item p{
	
	font-size: min(1.4583333333333333vw,28px);
}
#curriculum .curriculum_item .diproma_wrap{
	display: flex;
	flex-wrap: nowrap;
}
#curriculum .curriculum_item .diproma_wrap .diproma_left{
	font-size: min(2.3958333333333335vw,46px);
}
#curriculum .curriculum_item .diproma_wrap .diproma_right{
	width: min(14.0625vw,270px );
}
#curriculum .curriculum_link{
	width: fit-content;
	margin: 0 auto;
	padding-top: 4.5em;
	z-index: 0;
	position: relative;
}
#curriculum .curriculum_link::before{
	content: "";
	position: absolute;
	left: -10px;
	top:0;
	width: min(6.25vw,120px);
	aspect-ratio:120/119;
	background: url(../img/more_icon.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 1;
}

#curriculum .curriculum_link a{
	color: #fff;
	padding: 1em 3em;
	border-radius: min(2.1875vw,42px);
	background: #06C755;
	position: relative;
	display: block;
	font-size:min(1.8229166666666667vw,35px);
	text-decoration: none;
}


#curriculum .curriculum_link a span{
	font-size:min(1.25,24px);
}
#curriculum .curriculum_link a::after{
content: "";
    position: absolute;
    top: 50%;
	transform: translateY(-50%);
    right: 10px;
    border: 10px solid transparent;
    border-left: 10px solid #fff;   
}
#faq{
	padding: 80px 0 150px;
	background: #F0ECE8;
	position: relative;
}

#faq::after{
	content: "";
	position: absolute;
	width: 1px;
	height: 150px;
	bottom:-100px;
	left: calc(50% - 0.5px);
	background: #000;
}
	
#faq h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 1.5em;
	line-height: 1.75;
}
#faq h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#faq h2 span.en{
	left:50%;
	transform: translate(-50% ,-25%) rotate(-10deg);
	top: 0;
	
}
#faq .qa_wrap:not(:last-child){
	margin-bottom: 3em;
}

#faq .qa_wrap{
	position: relative;
	padding: 2em 4em;
	z-index: 1;
	background: #fff;
}
#faq .qa_wrap::after{
	border: 1px solid #707070;
	content: "";
	position: absolute;
	top:-5px;
	left: -5px;
	width: 100%;
	height: 100%;
}

#faq .qa_wrap .qa_q{
	padding-left: min(7.8125vw,150px);
	padding-top: 1em;
	padding-bottom: 1em;
	margin-bottom: 1em;
	position: relative;
	font-size: min(1.7187500000000002vw,33px);
}
#faq .qa_wrap .qa_a{
	padding-left: min(7.8125vw,150px);
	position: relative;
	font-size: min(1.4583333333333333vw,28px);
	line-height: 2;
}

#faq .qa_wrap .qa_q::before{
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: min(5.052083333333333vw,97px);
	aspect-ratio:97/97;
	background: url(../img/qa_icon_q.jpg);
	background-position: center;
	background-size: cover;
}
#faq .qa_wrap .qa_a::before{
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: min(5.052083333333333vw,97px);
	aspect-ratio:97/97;
	background: url(../img/qa_icon_a.jpg);
	background-position: center;
	background-size: cover;
}
#bottom_cta{
	padding: 150px 0 80px;
	background: url(../img/s_bottomcta_bg.jpg);
	background-position: center;
	background-size: cover;
	
}
#bottom_cta p.lead{
	font-size: min(2.1875vw,42px);
	line-height: 2em;
	margin-bottom: 2em;
}
#bottom_cta h2{
	font-size: min(2.8125vw,54px);
	text-align: center;
	margin-bottom: 2em;
}
#bottom_cta h2 span{
	position: relative;
	padding-left: .1em;
	padding-right: .1em;
}

#bottom_cta h2 span::after{
	content: "";
	position: absolute;
	left: 0;
	bottom:-40%;
	width: 100%;
	aspect-ratio:287/11;
	background: url(../img/s_bottomcta_line.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
#bottom_cta .bottom_cta_wrap{
	display: flex;
	flex-wrap: nowrap;
	
}
#bottom_cta .bottom_cta_wrap div.bottom_cta_items{
	width: 50%;
	padding: 0 15px;
}

#bottom_cta .bottom_cta_wrap div.bottom_cta_items .bottom_cta_img{
	width: 45%;
	margin: 0 auto;
}

#bottom_cta .bottom_cta_wrap div.bottom_cta_items .bottom_cta_link{
	width: fit-content;
	margin: 0 auto;
	padding-top: .5em;
	z-index: 0;
	position: relative;
}
#bottom_cta .bottom_cta_wrap div.bottom_cta_items .bottom_cta_link::before{
	content: "";
	position: absolute;
	left: -40px;
	top:max(-4.6875vw,-90px);
	width: min(6.25vw,120px);
	aspect-ratio:120/119;
	background: url(../img/more_icon.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 1;
}

#bottom_cta .bottom_cta_wrap div.bottom_cta_items .bottom_cta_link a{
	color: #fff;
	padding: 1em 2em;
	border-radius: min(2.1875vw,42px);
	background: #5E544F;
	position: relative;
	display: block;
	font-size:min(1.8229166666666667vw,35px);
	text-decoration: none;
}


#bottom_cta .bottom_cta_wrap div.bottom_cta_items .bottom_cta_link a span{
	font-size:min(1.25,24px);
}
#bottom_cta .bottom_cta_wrap div.bottom_cta_items .bottom_cta_link a::after{
content: "";
    position: absolute;
    top: 50%;
	transform: translateY(-50%);
    right: 10px;
    border: 10px solid transparent;
    border-left: 10px solid #fff;   
}

#bottom_cta .bottom_cta_inner{
	position: relative;
	padding: 2em 4em;
	background: #fff;
}
#bottom_cta .bottom_cta_inner::before{
	border: 1px solid #707070;
	content: "";
	position: absolute;
	top:-5px;
	left: -5px;
	width: 100%;
	height: 100%;
}
#bottom_cta .bottom_cta_inner p.cta_ttl{
	font-size: min(1.6666666666666667vw,32px);
	margin-bottom: 0;
	text-align: center;
}
#bottom_cta .bottom_cta_inner p.cta_txt{
	font-size: min(1.4583333333333333vw,28px);
	text-align: center;
	margin-bottom: 1em;
}
#bottom_cta .bottom_cta_wrap div.bottom_cta_inner h3{
	text-align: center;
    font-size: min(2.1875vw, 42px);
    position: relative;
    padding: .25rem 2rem 1rem;
    margin-bottom: 1em;
}
#bottom_cta .bottom_cta_wrap div.bottom_cta_inner h3::after{
	position: absolute;
    bottom: -10px;
    left: calc(50% - 10px);
    width: 20px;
    height: 20px;
    content: '';
    background: #fff;
    transform: rotate(-45deg);
    border-bottom: 1px solid #707070;
}
#bottom_cta .bottom_cta_wrap div.bottom_cta_inner h3::before{
	position: absolute;
    bottom: 0;
    left: 50%;
	transform: translateX(-50%);
    width: 75%;
    height: 1px;
    content: '';
    background: #707070;
}
#bottom_cta .bottom_cta_wrap div.bottom_cta_inner .bottom_cta_link{
	width: fit-content;
	margin: 0 auto;
	padding-top: 0;
	z-index: 0;
	position: relative;
}

#bottom_cta .bottom_cta_wrap div.bottom_cta_inner .bottom_cta_link a{
	color: #fff;
	padding: 1em 2em;
	border-radius: min(2.1875vw,42px);
	background: #06C755;
	position: relative;
	display: block;
	font-size:min(1.8229166666666667vw,35px);
	text-decoration: none;
}
#bottom_cta .bottom_cta_wrap div.bottom_cta_inner .bottom_cta_link a span{
	font-size:min(1.25,24px);
}
#bottom_cta .bottom_cta_wrap div.bottom_cta_inner .bottom_cta_link a::after{
content: "";
    position: absolute;
    top: 50%;
	transform: translateY(-50%);
    right: 10px;
    border: 10px solid transparent;
    border-left: 10px solid #fff;   
}
#bottom_cta .bottom_cta_wrap div.bottom_cta_inner .bottom_cta_link::before{
	content: none;
}
@media screen and (max-width:768px) {
	#t_introduce {
    padding: 50px 0;
}
	#t_introduce h2,#t_merit h2,#features h2,#curriculum h2,#bottom_cta h2 {
    font-size: 20px;	
	}
	#t_introduce h2::after,#t_merit h2::after,#features h2::after,#curriculum h2::after{
		height: 3px;
        width: 30%;
	}
	#t_introduce p{
		font-size: 16px;
	}
	#t_introduce ul li{
		font-size: 16px;
	}
	#t_merit{
		padding: 50px 0 20px;
	}
	#t_merit .t_merit_ttl h3{
		font-size: 20px;
		padding: .75em .75em;
	}
	#t_merit .t_merit_ttl h3 span.ttlbox::after {
    bottom: -15%;
	}
	#t_merit h2 span.bigger {
    font-size: 30px;
	}#t_merit .merit_wrap{
		display: block;
	}
	#t_merit .merit_wrap div.merit_left{
		display: flex;
		width: 100%;
		flex-wrap: nowrap;
		margin-bottom: 1em;
		padding-right: 0;
	}
	
	#t_merit .merit_wrap div.merit_left img{
		width: 50%!important;
	}
	#t_merit .merit_wrap div.merit_left img:not(:last-child){
		margin-bottom: 0;
	}
	#t_merit .merit_wrap div.merit_right{
		width: 100%;
		padding-left: 0;
	}
	#t_merit .merit_wrap div.merit_right h4 {
		font-size: 18px;
		padding-left: 50px;
		margin-bottom:1em;
	}
#t_merit .merit_wrap div.merit_right h4::before {
   
	width: 40px;
	}
	#t_merit .merit_wrap div.merit_right p{
		padding-left: 0;
		font-size: 16px;
	}
	#t_merit .merit_wrap div.merit_right p:not(:last-child){
		margin-bottom: .5em;
	}
	#t_merit .merit_wrap div.merit_right p.effect{
		padding-left: 30px;
	}
	#t_merit .merit_wrap div.merit_right p.effect::before{
		width: 30px;
	}
	#t_merit .merit_wrap div.merit_right .merit_items ul li{
		font-size: 16px;
		padding-left: 30px;
	}
	#t_merit .merit_wrap div.merit_right .merit_items ul li::before{
		width: 20px;
	}
	#t_merit .whatyouget{
		padding: 30px 0;
	}
	#t_merit .whatyouget h3{
		font-size: 20px;
		margin-bottom: 1.5em;
	}
	#t_merit .whatyouget h3 span {
    padding: .5em 1.5em;
	}
	#t_merit .whatyouget .whatyouget_flex{
		display: block;
	}
	
	#t_merit .whatyouget .whatyouget_flex > div{
		width: 100%!important;
	}
	#t_merit .whatyouget .whatyouget_flex .whatyouget_left p{
		font-size: 16px;
	}
	#features {
    padding: 50px 0;
	}
	#features .row.features_mv{
		margin-bottom: 40px;
	}
	#features .features_wrap h3 {
    font-size: 19px;
		margin-bottom:1.5em;
	}
	#features .features_wrap h3 span.ttl_inner{
		padding: 1em 0;
		display: block;
	}
	#features .features_wrap h3 span.ttl_wrap{
		display: block;
	}
	#features .features_wrap h3 span.ttl_wrap::before {
    width: 90px;
		height: 4px;
	}
	#features .features_wrap h3 span.num {
    font-size: 50px;
		top:-40px;
	}
	#features .features_wrap p{
		font-size: 16px;
	}
	#features .features_wrap p:not(:last-child){
		margin-bottom: 1em;
	}
	#features .features_wrap:not(:last-child) {
    margin-bottom: 4em;
	}
	#curriculum{
		padding: 50px 0;
	}
	#curriculum .ttl_wrap p {
    font-size: 20px;
    margin-bottom: 1.5em;
}
	#curriculum .ttl_wrap p span.wrap{
		width: 90%;
	}
	#curriculum .ttl_wrap p:before{
		width: 90%;
		left: 50%;
		transform: translateX(-50%);
	}
	#curriculum h2 span {
    font-size: 30px;
	}#curriculum .curriculum_item {
    width: 100%;
	}
	#curriculum .curriculum_item h3 {
    font-size: 18px;
	}
	#curriculum .curriculum_item h3 span.month{
		padding: .25em!important;
    font-size: 14px;
		border-radius: 5px;
		margin-right: 0.5em;
	}
	#curriculum .curriculum_item p{
		font-size: 16px;
	}
	#curriculum .curriculum_item:not(:last-child) {
    margin-bottom: 3em;
    padding-bottom: 1em;
}
	#curriculum .curriculum_item .diproma_wrap .diproma_left {
    font-size: 16px;
		width: 75%;
}
	#curriculum .curriculum_item .diproma_wrap .diproma_right {
   width: 25%;
}
	#curriculum .curriculum_link a {
    border-radius: 40px;
    font-size: 18px;
	}
	#curriculum .curriculum_link {
    width: fit-content;
    margin: 0 auto;
    padding-top: 1em;
	}
	#curriculum .curriculum_link::before {
    top: -20px;
    width: 60px;
	}
	#faq{
		padding: 50px 0 100px;
	}
	#faq h2 span.en {
    transform: translate(-50%, -50%) rotate(-10deg);
		top:50%;
	}
	#faq h2 {
    font-size: 20px;
	}
	#faq h2::after {
    height: 3px;
    width: 30%;
	}
	#faq .qa_wrap:not(:last-child) {
    margin-bottom: 2em;
}
#faq .qa_wrap {
    position: relative;
    padding: 1em 1em;
	}
	#faq .qa_wrap .qa_q {
    padding-left: 45px;
    padding-top: .5em;
    padding-bottom: .5em;
    margin-bottom: 1em;
    font-size: 18px;
	}
	#faq .qa_wrap .qa_a {
    padding-left: 45px;
    font-size: 16px;
	}
	#faq .qa_wrap .qa_q::before,#faq .qa_wrap .qa_a::before {
    width: 35px;
	}
	#faq::after {
    height: 100px;
    bottom: -50px;
	}
	#bottom_cta {
    padding: 80px 0 50px;
	}
	
	#bottom_cta p.lead {
    font-size: 17px;
	}
	#bottom_cta .bottom_cta_wrap {
    flex-wrap: wrap;
	}
	#bottom_cta .bottom_cta_wrap div.bottom_cta_items{
		width: 100%;
		padding: 0;
	}
	#bottom_cta .bottom_cta_wrap div.bottom_cta_items:first-child{
		order:2;
	}
	#bottom_cta .bottom_cta_wrap div.bottom_cta_items:last-child{
		order:1;
		margin-bottom: 2em;
	}
	#bottom_cta .bottom_cta_inner {
    position: relative;
    padding: 1em 1em;
	}
	#bottom_cta .bottom_cta_inner::before{
		top: 0;
		left: 0;
	}
	#bottom_cta .bottom_cta_inner p.cta_ttl,#bottom_cta .bottom_cta_inner p.cta_txt {
    font-size: 16px;
	}
	#bottom_cta .bottom_cta_wrap div.bottom_cta_inner h3 {
    text-align: center;
    font-size: 20px;
	}
	#bottom_cta .bottom_cta_wrap div.bottom_cta_items .bottom_cta_link{
		padding-top: 1em;
	}
	#bottom_cta .bottom_cta_wrap div.bottom_cta_inner .bottom_cta_link a {
    padding: .75em 2em;
    border-radius: 40px;
    font-size: 20px;
	}
	#bottom_cta .bottom_cta_wrap div.bottom_cta_items .bottom_cta_link a{
		padding: .75em 2em;
    border-radius: 40px;
    font-size: 20px;
	}
	    #bottom_cta .bottom_cta_wrap div.bottom_cta_items .bottom_cta_link::before {
        top: -20px;
        width: 60px;
    }
}
#mv_list{
	padding: 80px 0;
	background: #FFFCF3;
}
#mv_list h2{
	font-size: min(2.1875vw,42px);
	margin-bottom: 1.5em;
	text-align: center;
	line-height: 2;
}
#p_introduce{
	background: #FFFCF3;
	padding: 80px 0;
}

#p_introduce h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}
#p_introduce h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#p_introduce p{
	line-height: 1.75;
	font-size: min(1.4583333333333333vw,28px);
}

#p_introduce p:not(:last-child){
	margin-bottom: 1.5em;
	
}

#p_introduce p span.underline {
	text-decoration: underline;
	text-decoration-color: #F9CBA8;
	text-decoration-thickness:8px;
text-underline-offset: -0.1rem;}
#p_introduce ul{
	overflow: hidden;
	margin: 0 0 1.5em;
	padding: 0;
	list-style: none;
	
}

#p_introduce ul li{ 
	position: relative;
	padding-left: 1.5em;
	font-size: min(1.4583333333333333vw,28px);
	margin-bottom: .5em;
}
#p_introduce ul li::before{
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	background: url(../img/checked.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(1.8229166666666667vw,35px);
	aspect-ratio:1/1;
	display: inline-block;
}

#p_introduce ul.unti li{ 
	position: relative;
	padding-left: 1.5em;
	font-size: min(1.4583333333333333vw,28px);
	margin-bottom: .5em;
}
#p_introduce ul.unti li::before{
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	background: url(../img/checked_unti.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(1.8229166666666667vw,35px);
	aspect-ratio:1/1;
	display: inline-block;
}

#p_introduce p.orange{
	color: #fff;
	font-weight: bold;
	text-align: center;
	margin-bottom: 2em;
}
#p_introduce p.orange span{
	display: inline-block;
	background: #EF7E33;
	padding: .5em 4em;
}
#p_whats{
	padding: 80px 0;
    background: url(../img/s_bottomcta_bg.jpg);
    background-position: center;
    background-size: cover;
	
}

#p_whats h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}
#p_whats h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#p_whats p{
	line-height: 1.75;
	font-size: min(1.4583333333333333vw,28px);
}
#p_whats .txt_wrap:not(:last-child){
	margin-bottom: 2em;
}
#p_whats .txt_wrap h3{
	font-size: min(1.4583333333333333vw,28px);
	color: #fff;
	font-weight: bold;
	margin-bottom: .75em;
}
#p_whats .txt_wrap h3 span{
	display: inline-block;
	padding: .5em 1.5em;
	border-radius: 30px;
	background: #B7A69B;
	
}
#p_whats .bottomtext p{
	font-size: min(1.8229166666666667vw,35px);
	margin-bottom: 0;
}
#p_difference{
	padding: 80px 0;
	background: #F0ECE8;
}
#p_difference h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}
#p_difference h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#p_difference .p_difference_wrap{
	display: flex;
	flex-wrap: nowrap;
}
#p_difference .p_difference_wrap > div{
	width: 50%;
	padding: 0 15px; 
}

#p_difference .p_difference_wrap div.nol{
	position: relative;
}

#p_difference .p_difference_wrap div.nol::before{
	display: inline-block;
	position: absolute;
	content: "当プログラム";
	font-size: min(1.4583333333333333vw,28px);
	top:-30px;
	left: 50%;
	transform: translateX(-50%);
	color: #EF7E33;
	
}

#p_difference .p_difference_wrap .inner{
	padding: .5em;
}
#p_difference .p_difference_wrap h3{
	text-align: center;
	font-size: min(1.4583333333333333vw,28px);
	color: #fff;
	font-weight: bold;
	margin-bottom: 1em;
	padding: .5em 0;
}

#p_difference .p_difference_wrap p{
	text-align: center;
	font-size: min(1.4583333333333333vw,28px);
	margin-bottom: .75em;
	padding: .5em 0;
}
#p_difference .p_difference_wrap .normal h3{
	background: #D1B383;
}

#p_difference .p_difference_wrap .nol .inner{
	background: #F7D1B8;
}
#p_difference .p_difference_wrap .nol h3{
	background: #EF7E33;
}
#p_difference .p_difference_wrap .normal p{
	background: rgba(255,255,255,0.7);
}
#p_difference .p_difference_wrap .nol p{
	font-weight: bold;
	background: #fff;
}

#p_why{
	padding: 80px 0;
    background: url(../img/s_platinum_whybg.jpg);
    background-position: left top;
    background-size: cover;
	
}
#p_why h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 2.5em;
	line-height: 1.75;
}
#p_why h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}
#p_why p{
	line-height: 1.75;
	font-size: min(1.4583333333333333vw,28px);
}
#p_why .txt_wrap:not(:last-child){
	margin-bottom: 2em;
}

#voice2{
	padding:80px 0 ;
	background: #D3C8BD;
}
#voice2 h2{
	position: relative;
	text-align: center;
	font-size: min(2.1875vw,42px);
	padding-bottom: 1em;
	margin-bottom: 1.5em;
	line-height: 1.75;
}
#voice2 h2::after{
	height: 8px;
	width: min(9.010416666666666vw,173px);
	background: #5E544F;
	content: "";
	position: absolute;
	left:50%;
transform:translateX(-50%);
	bottom:0;
}

#voice2 p{
	line-height: 1.75;
	font-size: min(1.4583333333333333vw,28px);
}
#features.platinum{
	background: #fff;
}
#features.platinum .features_cont{
	position: relative;
	padding-bottom: 110px;
	
}
#features.platinum .features_cont::after{
	content:"";
	position: absolute;
	width: 1px;
	height: 120px;
	background: #000;
	bottom:-60px;
	left: 50%;
}
#features.platinum .features_bottom{
	padding-top: 100px;
}

#features.platinum .features_bottom p{
	line-height: 1.75;
	font-size: min(1.4583333333333333vw,28px);
	
}

#features.platinum .ttl_wrap p {
	text-align: center;
	font-size: min(2.1875vw,42px);
	
	margin-bottom: 2.5em;
}

#features.platinum .ttl_wrap p span.wrap{
	display: inline-block;
  padding: 0.75rem 3em;
	border-left:2px solid #4A3E3C;
	border-top:2px solid #4A3E3C;
	border-right:2px solid #4A3E3C;
  width: fit-content;
	position: relative;
}

#features.platinum .ttl_wrap p span:before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
	background: #4A3E3C;
}
#features.platinum .ttl_wrap p span:after {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 10px);
  width: 20px;
  height: 20px;
  content: '';
	background: #fff;
	transform: rotate(-45deg);
	border-bottom: 2px solid #4A3E3C;
}
#voice.platinum h2 span.en{
	color: rgba(255,255,255,.4);
	line-height: 1;
	z-index: -1;
	font-size: min(5.989583333333334vw, 115px);
	    left: 40%;
}
#voice.platinum h2 span.en span.indent{
	padding-left: 25rem;
}
#voice.platinum h2{
	z-index: 1;
}
#voice.platinum .voice_wrap{
	background: linear-gradient(to bottom,transparent 0%, transparent 10%, #C2B5A0 10%, #C2B5A0 100%);
}
#voice.platinum .voice_wrap .before{
	margin-bottom: 2em;
	padding-bottom: 3em;
	position: relative;
}

#voice.platinum .voice_wrap .before::after{
	content: "";
	width: 38px;
	aspect-ratio:38/34;
	background: url(../img/voice_arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	bottom: 0;
	left: calc(50% - 19px);
}
#voice.platinum .voice_wrap .after{
	position: relative;
}
#voice.platinum .voice_wrap .after p{
	font-size: min(1.3541666666666667vw,26px);
}

#voice.platinum .voice_wrap .after::after{
	content: "";
	width: min(5.885416666666667vw,113px);
	aspect-ratio:113/112;
	background: url(../img/after_icon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: max(-5.885416666666667vw,-113px);
	left: 0;
}
#voice.platinum .voice_wrap .before p{
	position:relative;
	margin-top: 15px;
	padding-top: 15px;
	font-size: min(1.3541666666666667vw,26px);
	
}
#voice.platinum .voice_wrap .before p span{
	position: absolute;
	left:-5px;
	top:max(-3.125vw, -60px);
	font-size: min(1.5625vw, 30px);
	color: #fff;
	transform: rotate(-10deg);
}
@media screen and (max-width:768px) {
	#mv_list {
    padding: 50px 0 0;
    background: #FFFCF3;
}
	#mv_list h2 {
    font-size: 22px;
		margin-bottom: 0.5em;
	}
	#p_introduce {
    background: #FFFCF3;
    padding: 30px 0;
}
	#p_introduce h2,#p_whats h2,#p_difference h2,#p_why h2,#voice2 h2{
		font-size: 20px;
	}
	#p_introduce h2::after,#p_whats h2::after,#p_difference h2::after,#p_why h2::after,#voice2 h2::after,#voice.platinum h2::after{
		height: 3px;
        width: 30%;
	}
	#p_introduce p,#p_introduce ul.unti li,#p_introduce ul li{
		font-size: 16px;
	}
	#p_introduce ul.unti li::before,#p_introduce ul li::before{
		width: 20px;
		top:2px;
	}#p_introduce p.orange{
		margin-bottom: 1em;
	}
	#p_introduce p.orange span{
		padding: .5em 0;
		display: block;
	}
	#voice.platinum h2 span.en span.indent {
    padding-left: 6rem;
}
	#p_whats,#p_difference,#p_why {
    padding: 50px 0;
	}
	#p_whats .txt_wrap h3 {
    font-size: 18px;
	}
	#p_whats p,#p_whats .bottomtext p,#p_why p,#features.platinum .features_bottom p {
		font-size: 16px;
	}
	#p_difference .p_difference_wrap {
    display: block;
	}
	#p_difference .p_difference_wrap > div{
		width: 100%;
		padding: 0;
		
	}
	#p_difference .p_difference_wrap div.nol .inner{
		padding-top: 40px;
	}
	#p_difference .p_difference_wrap h3 {
    text-align: center;
    font-size: 18px;
    margin-bottom: .5em;
	}
	#p_difference .p_difference_wrap p {
    text-align: center;
    font-size: 16px;
		margin-bottom: .25em;
	}
	#p_difference .p_difference_wrap div.nol::before {
    font-size: 18px;
		top: 5px;
	}
	#voice2 {
    padding: 50px 0;
	}
	#voice2 p{
		font-size: 16px;
	}
	#features.platinum .ttl_wrap p{
		font-size: 20px;
	}
	#features.platinum .ttl_wrap p span.wrap {
    padding: 0.75rem 1em;
	}
	#voice.platinum h2 span.en{
    font-size: 58px;
	}
	#voice.platinum .voice_wrap .before p {
    font-size: 16px;
	}
	#voice.platinum .voice_wrap .before p span {
    top: -36px;
    font-size: 18px;
	}
	#voice.platinum .voice_wrap .after p {
    font-size: 16px;
}
	#voice.platinum .voice_wrap .after::after {
    width: 50px;
    top: -55px;}
#bottom_cta .bottom_cta_wrap div.bottom_cta_items .bottom_cta_link::before{
	left: -20px;
}
}

/*===================blog======================*/
#blog_base{
	padding: 80px 0 30px;
	background: #F7F5F3;
}#blog_cont{
	padding: 30px 0 80px;
	background: #F7F5F3;
}#blog_base h2 {
    position: relative;
    text-align: center;
    font-size: min(2.1875vw, 42px);
    padding-bottom: 1em;
    margin-bottom: 2.5em;
    line-height: 1.75;
}

#blog_base h2 span.en{
	left:50%;
	transform: translate(-50% ,-25%) rotate(-10deg);
	top: 0;
}
#blog_base h2::after {
    height: 8px;
    width: min(9.010416666666666vw, 173px);
    background: #5E544F;
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
}
#blog_base .menulist_wrap{
	display: flex;
	flex-wrap: wrap;
}
#blog_base .menulist_wrap div{
	width: calc(90%/4);
}

#blog_base .menulist_wrap div a{
	display: block;
}
#blog_cont .page_wrap{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
#blog_cont .page_wrap .cont{
	width: 70%;
}

#blog_cont .page_wrap .sidemenu{
	width: 25%;
	
}

#blog_cont .page_wrap .cont .cont_inner{
	margin-bottom: 4em;
	background: #fff;
	padding: 2em 4em;
	position: relative;
}
#blog_cont .page_wrap .cont .cont_inner::before{
	position: absolute;
	top:-5px;
	left:-5px;
	border: 1px solid #000;
	content: "";
	width: 100%;
	height: 100%;
}

#blog_cont .page_wrap .cont .cont_inner .archive_list_inner{
	padding-right: 210px;
	position: relative;
	padding-top: 1em;
	padding-bottom: 1em;
}

#blog_cont .page_wrap .cont .cont_inner .archive_list_inner .archive_cat{
	position: absolute;
	right: 0;
	width: 200px;
	top:50%;
	transform: translateY(-50%);
	
}
#blog_cont .page_wrap .cont .cont_inner .archive_list_inner a{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	text-decoration: none;
	color: #5E544F;
}
#blog_cont .sidemenu h2{
	font-size: min(1.8229166666666667vw,35px);
	margin-bottom: 1em;
}

#blog_cont .sidemenu .sidemenu_inner{
	background: #C6BDB4;
	padding:1em;
}
#blog_cont .sidemenu .sidemenu_inner .sidecat{
	padding:1em;
	margin-bottom: 2em;
}
#blog_cont .sidemenu .sidemenu_inner .sidecat a:not(:last-child){
	margin-bottom: 2em;
	display: block;
}
#blog_cont .sidemenu .sidemenu_inner .sidecat a img{
	box-shadow: 0px 3px 6px rgba(0,0,0,0.16);
}
#blog_cont .page_wrap .cont .cont_inner .archive_list_inner a .archive_date{
	width: 6rem;
}
#blog_cont .page_wrap .cont .cont_inner .archive_list_inner a .archive_ttl{
	width: calc(100% - 5rem);
}
#blog_cont .side_prof .prof_img{
	padding: 0 1em;
	margin-bottom: 1em;
}
#blog_cont .side_prof .prof_name{
	text-align:center;
	font-size: min(1.8229166666666667vw,35px);
	margin-bottom: 1em;
}
#blog_cont.single_page .cont_inner .single_ttl h2{
	font-size: min(1.8229166666666667vw,35px);
	margin-bottom: 1rem;
}
#blog_cont.single_page .cont_inner .single_cat_wrap{
	display: flex;
	flex-wrap: nowrap;
	margin-bottom: 2em;
}
#blog_cont.single_page .cont_inner .single_cat{
	width: 150px;
	margin-left: 1em;
}
#blog_cont.single_page .single_cont h2{
	background: #C6BDB4;
	padding: .5em;
	font-size: 22px;
	color: #fff;
	margin-bottom: 1.5em;
}
#blog_cont.single_page .single_cont h3{
	padding: .5em;
	font-size: 20px;
	color: #C6BDB4;
	border-bottom: 2px solid #C6BDB4;
	margin-bottom: 1em;
	font-weight: bold;
}
#blog_cont .instagram h2{
	font-family: 'Instagram Sans Regular';
    font-size: min(2.1875vw, 42px);
	color: #1B1B1B;
}
#blog_cont .instagram h2 span{
	padding-left: 90px;
	position: relative;
	font-size: min(1.8229166666666667vw,35px);
}
#blog_cont .instagram h2 span::before{
	left: 27px;
	top:50%;
	transform: translateY(-50%);
	position: absolute;
	content: "";
	width: 42px;
	height: 42px;
	background: url(../img/Insta_logo.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
@media screen and (max-width:768px) {
	#blog_base h2{
		font-size: 20px;
	}
	#blog_base h2 span.en {
        transform: translate(-50%, -50%) rotate(-10deg);
        top: 50%;
    }
	#blog_base h2::after {
        height: 3px;
        width: 30%;
    }
	#blog_base .menulist_wrap div {
    width: calc(95% / 2);
}
	#blog_base .menulist_wrap div:first-child,#blog_base .menulist_wrap div:nth-child(2){
		margin-bottom: .5em;
	}
	#blog_cont .page_wrap{
		flex-wrap: wrap;
	}#blog_cont .page_wrap .cont{
		width: 100%;
		margin-bottom: 2em;
	}
	#blog_cont .page_wrap .sidemenu{
		width: 100%;
	}
	#blog_cont .page_wrap .cont .cont_inner {
    margin-bottom: 2em;
    padding: 1em 1em;
	}#blog_cont .page_wrap .cont .cont_inner .archive_list{
		margin-bottom: 1em;
	}
	#blog_cont .page_wrap .cont .cont_inner .archive_list_inner {
    padding-right: 0;
		padding-bottom: 0;
		padding-top: 0;
	}
	#blog_cont .page_wrap .cont .cont_inner .archive_list_inner a{
		display: block;
	}
	#blog_cont .page_wrap .cont .cont_inner .archive_list_inner a .archive_date,#blog_cont .page_wrap .cont .cont_inner .archive_list_inner a .archive_ttl{
		width: 100%;
	}
	#blog_cont .page_wrap .cont .cont_inner .archive_list_inner .archive_cat {
    position: absolute;
    right: 0;
    width: 100px;
    top: 0;
     transform: none;
}
#blog_cont .sidemenu h2 {
    font-size: 20px;
	}
	#blog_cont .sidemenu .sidemenu_inner .sidecat {
    padding: 0;
    margin-bottom: 1.5em;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
}#blog_cont .sidemenu .sidemenu_inner .sidecat a{
    width: 50%;
	padding: 0 5px;
}
	#blog_cont .sidemenu .sidemenu_inner .sidecat a:not(:last-child){
		margin-bottom: 10px;
	}
	#blog_cont .side_prof .prof_img {
    padding: 0 4em;
	}
	#blog_cont .side_prof .prof_name {
    font-size: 20px;
    margin-bottom: .5em;
	}
	#blog_cont.single_page .cont_inner .single_ttl h2{
		font-size: 20px;
	}
	#blog_cont .instagram h2 {
    font-size: 24px;
	}
	#blog_cont .instagram h2 span{
    font-size: 20px;
		padding-left: 50px;
	}
	#blog_cont .instagram h2 span::before {
    width: 24px;
		height: 24px;
		left: 14px;
	}
}
#blog_cont .wp-caption {
	max-width: 100%;
}
