@charset "UTF-8";

#wrapper {
    overflow: clip;
}


/* policy
---------------------------------------------------------*/
#policy{
	color: #fff;
}
#policy .bg{
	background: #ff9c94;
}
#policy .w1340{
	position: relative;
	padding-top: 115px;
}
#policy h4{
	position: absolute;
	top: -0.15em;
	left: 0;
	right: 0;
	margin: 0 auto;
	font-size: min(800%,13vw);
	line-height: 1em;
	color: #fff;
	opacity: .3;
	text-align: center;
	letter-spacing: 0.1em;
}

#policy .serif{
	text-align: left;
	margin-bottom: 30px;
}
#policy .serif img{
	margin-left: 0;
	margin-right: auto;
}
#policy .txt dt{
	font-size: min(220%,3.8vw);
	letter-spacing: 0.07em;
	line-height: 1.6em;
	margin-bottom: .5em;
}

#policy .inbox1{
	position: relative;
	max-width: 1220px;
	margin: 0 auto 80px;
}
#policy .inbox1::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/trainer/img01@2x.jpg")no-repeat top right;
	background-size: 100% auto;
	width: 100%;
	height: 800px;
	top:0;
	right: -28%;
}
#policy .inbox1 .txtbox{
	position: relative;
	z-index: 2;
}
#policy .inbox1 .txt{
	width: 70%;
	max-width: 618px;
	margin: 0 auto 0 4%;
}

#policy .inbox2{
	position: relative;
	z-index: 2;
}
#policy .inbox2 .imgbox{
	position: absolute;
	top: 40px;
	left: 0;
	width: 53%;
}
#policy .inbox2 .txtbox{
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	padding-left: 59%;/*45%;*/
}
#policy .inbox2 .txt{
	max-width: 618px;
	margin: 0 auto;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#policy .w1340{
	padding-top: 12vw;
}
#policy .serif{
	width: 35vw;
	margin-bottom: 1.5%;
}
#policy .inbox1{
	margin: 0 auto 4%;
}
#policy .inbox1 .txt{
	margin: 0;
}
#policy .txt dt{
	letter-spacing: normal;
	margin-bottom: .3em;
}
#policy .inbox2 .imgbox{
	top: 0;
	width: 45%;
}
#policy .inbox2 .txtbox{
	padding-left: 0;
	padding-top: 5vw;
}
#policy .inbox2 .txt{
	max-width: 100%;
}
#policy .inbox2 .txtbox .serif,
#policy .inbox2 .txtbox .ft_min{
	margin-left: 50%;
}
#policy .inbox2 .txtbox .ft_min{
	padding-bottom: 7vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#policy .w1340{
	padding-top: 20vw;
}
#policy h4{
	z-index: 5;
	font-size: 400%;
}
#policy .serif{
	width:60vw;
	margin-bottom: 2%;
}
#policy .txt dt{
	font-size: 130%;
	letter-spacing: 0.05em;
	margin-bottom: .3em;
}
#policy .inbox1{
	margin: 0 auto 5%;
}
#policy .inbox1::before{
	width: 120%;
	top: -20vw;
	right: -40%;
}
#policy .inbox1 .txt{
	width: 100%;
	max-width: 100%;
	margin: 0;
}

#policy .inbox2 .imgbox{
	position: static;
	width: 85%;
	margin: 0 auto 7%;
}
#policy .inbox2 .txtbox{
	padding-left: 0;
}
#policy .inbox2 .txt{
	max-width: 100%;
}
}






/* point
---------------------------------------------------------*/
#point h4{
	width:70%;
	margin: 0 auto 80px;
}
#point .point_list li{
	display: flex;
    justify-content: space-between;
	margin-bottom: 130px;
}
#point .point_list li:nth-child(odd){
	flex-flow: row-reverse;
}
#point .point_list li .imgbox{
	width: 47%;
	max-width: 570px;
}
#point .point_list li .imgbox div{
	position: relative;
	display: block;
}
#point .point_list li:nth-child(odd) .imgbox div::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/trainer/abs10@2x.png")no-repeat bottom right;
	background-size: 100% auto;
	width: 37%;
	height: 500px;
	bottom: -7%;
	right:-5%;
}
#point .point_list li:nth-child(even) .imgbox div::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/trainer/abs09@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 37%;
	height: 500px;
	top: -7%;
	left:-5%;
}
#point .point_list li .txtbox{
	width: 48.5%;
}
#point .point_list li:nth-child(odd) .txtbox{
	text-align: right;
}
#point .point_list li .txtbox .inbox{
	max-width: 540px;
	text-align: left;
}
#point .point_list li:nth-child(odd) .txtbox .inbox{
	margin-left: auto;
	margin-right: 0;
}
#point .point_list li .txtbox .number{
	position: relative;
	margin-top: -45px;
}
#point .point_list li .txtbox .number::before{
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 2px;
	border-bottom: dashed 2px #403628;
	top: 70%;
	transform: translateY(-50%);
	left: 0;
	opacity: .3;
}
#point .point_list li .txtbox .number div{
	width: 30%;
	margin-left: -4%;
	margin-bottom: 25px;
	position: relative;
	z-index: 2;
}
#point .point_list li .txtbox .txt p{
	font-size: min(160%,2.5vw);
	letter-spacing: 0.12em;
	line-height: 1.6em;
	font-weight: bold;
	color: #f68193;
	margin-bottom: .3em;
}
#point .point_list li:nth-child(even) .txtbox .txt p{
	color: #54c2e1;
}
#point .point_list li .txtbox .txt h5{
	font-size: min(200%,3.3vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	margin-bottom: .5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#point h4{
	margin: 0 auto 5%;
}
#point .point_list li{
	margin-bottom: 8%;
}
#point .point_list li .txtbox .number{
	margin-top: -5vw;
	margin-bottom: -1vw;
}
#point .point_list li .txtbox .txt p{
	margin-bottom: .2em;
}
#point .point_list li .txtbox .txt h5{
	margin-bottom: .3em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#point{
	margin-bottom: 12%;
}
#point h4{
	width:90%;
	margin: 0 auto -2%;
}
#point .point_list li{
	display: block;
	margin-bottom: 5%;
}
#point .point_list li .imgbox{
	position: relative;
	width: 75%;
	margin: 0 auto 5%;
	z-index: 5;
}
#point .point_list li .txtbox{
	width: 100%;
}
#point .point_list li .txtbox .inbox{
	position: relative;
	max-width: 100%;
}
#point .point_list li .txtbox .number{
	margin-top: 0;
}
#point .point_list li .txtbox .number div{
	width:24vw;
	margin-left: -2vw;
	margin-bottom: 4%;
}
#point .point_list li .txtbox .txt{
	position: relative;
	z-index: 5;
	text-align: center;
}
#point .point_list li .txtbox .txt p{
	font-size:110%;
	line-height: 1.5em;
	letter-spacing: 0.01em;
	margin-bottom: .1em;
}
#point .point_list li .txtbox .txt h5{
	font-size: 135%;
	letter-spacing: normal;
	line-height: 1.5em;
	margin-bottom: .4em;
}
}






/* working
---------------------------------------------------------*/
#working .bg2{
	background: #ffe9ed;
}
#working .titlebox{
	position: relative;
	padding-top: 120px;
}
#working .titlebox .img{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 560px;
	background: url("../images/trainer/img08@2x.jpg")no-repeat center center;
	background-size: cover;
}
#working .titlebox .tit{
	position: relative;
	z-index: 2;
	padding: 110px 5% 70px;
	box-sizing: border-box;
}
#working .titlebox .tit::before{
	position: absolute;
	display: block;
	content: "";
background: linear-gradient(to bottom,  rgba(255,156,148,1) 0%,rgba(255,156,148,1) 71%,rgba(255,156,148,0) 100%);
	background-size: 100% auto;
	width: 60%;
	max-width: 820px;
	height: calc(100% + 1080px);
	top:0;
	left: 0;
	border-radius: 0 80px 0 0;
}
#working .titlebox .tit .inbox{
	max-width: 1220px;
	margin: 0 auto;
	position: relative;
	z-index: 3;
}
#working .titlebox .tit .ft_brandon{
	font-size: min(540%,8vw);
	letter-spacing: 0.1em;
	line-height: 1em;
	color: #ffc4bf;
}
#working .titlebox .tit .ft_min{
	font-size: min(250%,4vw);
	letter-spacing: 0.1em;
	line-height: 1em;
	color: #fff;
	margin-top: .7em;
}

#working .bg{
	position: relative;
	z-index: 5;
}
#working .wo_box{
	background: #fff;
	border-radius: 20px;
	padding: 100px 4% 95px;
	box-sizing: border-box;
}
#working .wo_box h5{
	font-size: min(250%,4vw);
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1.6em;
	padding-bottom: .8em;
	margin-bottom: 1.7em;
	border-bottom: 5px solid #ffe9ed;
}

#working .wo_list1{
	max-width: 985px;
	margin: 0 auto;
}
#working .wo_list1 > li{
	position: relative;
	display: flex;
    justify-content: space-between;
	padding-bottom: 60px;
}
#working .wo_list1 > li:last-child{
	padding-bottom: 0;
}
#working .wo_list1 > li::before{
	position: absolute;
	display: block;
	content: "";
	background: #d8dede;
	background-size: 100% auto;
	width: 10px;
	height: 100%;
	top:0;
	left: calc(6% - 5px);
}
#working .wo_list1 > li:last-child::before{
	display: none;
}
#working .wo_list1 .time{
	width: 12%;
	position: relative;
	z-index: 2;
}
#working .wo_list1 > li:first-child .time::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/trainer/abs11@2x.png")no-repeat bottom left;
	background-size: 100% auto;
	width: 120%;
	height: 100px;
	bottom: calc(100% - 30px);
	left: -10%;
}
#working .wo_list1 > li:first-child .time::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/trainer/abs12@2x.png")no-repeat bottom left;
	background-size: 100% auto;
	width: 18%;
	height: 100px;
	bottom: calc(100% + 10px);
	left: -30%;
}
#working .wo_list1 .inbox{
	width: 83.5%;
	display: flex;
    justify-content: space-between;
	flex-flow: row-reverse;
}
#working .wo_list1 .inbox .img{
	width: 33%;
}
#working .wo_list1 .inbox .txt{
	width: 62%;
}
#working .wo_list1 .inbox .txt .ft_min{
	font-size: min(170%,2.6vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	border-bottom: dashed #809494 1px;
	padding-bottom: .6rem;
	margin-bottom: .9rem;
}
#working .wo_list1 .inbox .txt dt,
#working .wo_list1 .inbox .txt dd{
	padding: 0 1.5rem;
	box-sizing: border-box;
}

#working .wo_chart{
	display: flex;
    justify-content: space-between;
	max-width: 1105px;
	margin: 0 auto;
}
#working .wo_chart li{
	width: 32.9%;
}
#working .wo_chart li .titbox{
	position: relative;
	background: #feb014;
	color: #fff;
	text-align: center;
	font-size: min(190%,3.2vw);
	letter-spacing: 0.1em;
	line-height: 1em;
	padding: .8em 0 .7em;
	width: calc(100% + 0.3em);
	margin-left: -0.3em;
}
#working .wo_chart li:nth-child(2) .titbox{	background: #ff9c94;}
#working .wo_chart li:nth-child(3) .titbox{	background: #54c2e1;}

#working .wo_chart li .titbox::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/trainer/abs19@2x.png")no-repeat top right;
	background-size: 100% 100%;
	width: 1em;
	height: 100%;
	top:0;
	right: -0.9em;
	z-index: 5;
}
#working .wo_chart li:nth-child(2) .titbox::before{
	background-image: url("../images/trainer/abs20@2x.png");}
#working .wo_chart li:nth-child(3) .titbox::before{
	display: none;
	background-image: url("../images/trainer/abs21@2x.png");}

#working .wo_chart li .txtbox{
	background: #f7f7ed;
	padding: 35px 10% 65px;
	box-sizing: border-box;
}
#working .wo_chart li .txtbox .img{
	width: 80%;
	margin: 0 auto 30px;
}
#working .wo_chart li .txtbox dt{
	font-size: min(140%,2.3vw);
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	border-bottom: 1px dashed #c0b684;
	padding-bottom: .8em;
	margin-bottom: .8em;
	color: #feb014;
}
#working .wo_chart li:nth-child(2) .txtbox dt{	color: #f68193;}
#working .wo_chart li:nth-child(3) .txtbox dt{	color: #54c2e1;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#working .titlebox{
	padding-top: 10vw;
}
#working .titlebox .img{
	height: 40vw;
}
#working .titlebox .tit{
	padding: 6.5vw 5% 7vw;
}
#working .titlebox .tit::before{
	height: calc(100% + 100vw);
}
#working .titlebox .tit .ft_min{
	margin-top: .3em;
}

#working .wo_box{
	padding: 5% 4% 6%;
}
#working .wo_box h5{
	padding-bottom: .5em;
	margin-bottom: 1em;
}

#working .wo_list1 > li{
	padding-bottom: 6%;
}
#working .wo_list1 > li::before{
	width: 8px;
	left: calc(6% - 4px);
}
#working .wo_list1 > li:first-child .time::before{
	width: 110%;
	bottom: calc(100% - 3vw);
	left: -5%;
}
#working .wo_list1 > li:first-child .time::after{
	bottom: calc(100% + 5px);
}
#working .wo_list1 .inbox .txt dt,
#working .wo_list1 .inbox .txt dd{
	padding: 0;
}

#working .wo_chart li .txtbox{
	padding: 6% 8% 10%;
}
#working .wo_chart li .txtbox .img{
	margin: 0 auto 7%;
}
#working .wo_chart li .txtbox dt{
	letter-spacing: 0.01em;
}
#working .wo_chart li .titbox::before{
	right: -0.8em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#working .titlebox{
	padding-top: 12vw;
}
#working .titlebox .img{
	height:50vw;
}
#working .titlebox .tit{
	padding: 6vw 5% 6vw;
}
#working .titlebox .tit::before{
	width: 70%;
	height: calc(100% + 150vw);
	border-radius: 0 60px 0 0;
}
#working .titlebox .tit .ft_brandon{
	font-size: 230%;
}
#working .titlebox .tit .ft_min{
	font-size: 130%;
	margin-top: .3em;
}

#working .wo_box{
	border-radius: 10px;
	padding: 5% 4% 7%;
}
#working .wo_box h5{
	font-size: 130%;
	padding-bottom: .4em;
	margin-bottom: 1em;
}
#working .wo_list1 > li{
	padding-bottom: 10%;
}
#working .wo_list1 > li::before{
	width: 8px;
	left: calc(10% - 4px);
}
#working .wo_list1 .time{
	width: 20%;
}
#working .wo_list1 > li:first-child .time::before{
	width: 120%;
	bottom: calc(100% - 5vw);
	left: -10%;
}
#working .wo_list1 > li:first-child .time::after{
	width: 16%;
	bottom: calc(100% + 2vw);
	left: -25%;
}
#working .wo_list1 .inbox{
	width: 80%;
	display: block;
}
#working .wo_list1 .inbox .img{
	width: 80%;
	margin: 0 auto 4%;
}
#working .wo_list1 .inbox .txt{
	width: 100%;
}
#working .wo_list1 .inbox .txt .ft_min{
	font-size:120%;
	line-height: 1.5em;
	letter-spacing: 0.05em;
}
#working .wo_list1 .inbox .txt dt,
#working .wo_list1 .inbox .txt dd{
	padding: 0;
}

#working .wo_chart{
	display: block;
}
#working .wo_chart li{
	width: 100%;
}
#working .wo_chart li .titbox{
	font-size: 130%;
	padding: .7em 0 .6em;
	width: 100%;
	margin-left: 0;
}
#working .wo_chart li .titbox::before{
	display: none;
}
#working .wo_chart li .txtbox{
	padding:5% 4% 8%;
}
#working .wo_chart li .txtbox .img{
	width: 70%;
	margin: 0 auto 4%;
}
#working .wo_chart li .txtbox dt{
	font-size: 115%;
	letter-spacing: 0.05em;
	padding-bottom: .5em;
	margin-bottom: .5em;
}
}






/* voice
---------------------------------------------------------*/
#voice .bg{
	background: #fcfcf8;
	padding-top: 150px;
}
.tr_index1{
	text-align: center;
	margin-bottom: 85px;
}
.tr_index1 .ft_brandon{
	color: #ff9c94;
	font-size: min(530%,8vw);
	letter-spacing: 0.12em;
	line-height: 1em;
}
.tr_index1 .ft_min{
	font-size: min(250%,4vw);
	letter-spacing: 0.01em;
	line-height: 1em;
	margin-top: .5em;
}
#voice .list{
	display: flex;
    justify-content: space-between;
	align-items: flex-start;/*sticky用*/
	column-gap: 0;
}
#voice .list .icon{
	width: 18%;
	position: -webkit-sticky;/*safari用*/
	position: sticky;
	top: 110px;
}
#voice .list .txtbox{
	width: 74%;
}
#voice .list .txtbox dl{
	margin-bottom: 30px;
}
#voice .list .txtbox dl:last-child{
	margin-bottom: 0;
}
#voice .list .txtbox dt,
#voice .list .txtbox dd{
	border-radius: 20px;
	box-sizing: border-box;
}
#voice .list .txtbox dt{
	background: #54c2e1;
	font-size: min(160%,2.5vw);
	letter-spacing: 0.1em;
	line-height: 1.5em;
	padding: .9em 1em;
	position: relative;
	text-align: center;
	color: #fff;
	margin-bottom: 10px;
}
#voice .list .txtbox dt::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/trainer/abs23@2x.png")no-repeat top right;
	background-size: 100% auto;
	width: 22px;
	height: 22px;
	top:calc(100% - 5px);
	right: 10%;
}
#voice .list .txtbox dd{
	padding: 2em 4% 2em 4.5%;
	background: #f0f0de;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#voice .bg{
	padding-top: 10%;
}
.tr_index1{
	margin-bottom: 6%;
}
.tr_index1 .ft_min{
	margin-top: .3em;
}
#voice .list .icon{
	top: 8vw;
}
#voice .list .txtbox{
	width: 80%;
}
#voice .list .txtbox dl{
	margin-bottom: 5%;
}
#voice .list .txtbox dt,
#voice .list .txtbox dd{
	border-radius: 10px;
}
#voice .list .txtbox dt{
	margin-bottom:8px;
}
#voice .list .txtbox dd{
	padding: 1.5em 4.5%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
#voice .bg{
	padding-top: 12%;
}
.tr_index1{
	margin-bottom: 8%;
}
.tr_index1 .ft_brandon{
	font-size:300%;
}
.tr_index1 .ft_min{
	font-size: 130%;
	margin-top: .4em;
}
#voice .list .icon{
	width: 20%;
	top: 4vw;
}
#voice .list .txtbox{
	width: 78%;
}
#voice .list .txtbox dl{
	margin-bottom: 6%;
}
#voice .list .txtbox dt,
#voice .list .txtbox dd{
	border-radius: 10px;
}
#voice .list .txtbox dt{
	font-size:105%;
	letter-spacing: normal;
	line-height: 1.4em;
	padding: .8em 2.5% .7em 4%;
	text-align: left;
	margin-bottom: 8px;
}
#voice .list .txtbox dd{
	padding: 1em 4%;
	font-size:95%;
	letter-spacing: normal;
}
}









/* qa
---------------------------------------------------------*/
#qa .list{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
#qa .list li{
	width: 48.5%;
	background: #fff;
	border-radius: 20px;
	padding: 70px 4%;
	box-sizing: border-box;
	margin-top: 40px;
}
#qa .list li:nth-child(-n+2){
	margin-top: 0;
}
#qa .list li dt{
	position: relative;
	padding-left: 3.9em;
	box-sizing: border-box;
	font-size: min(130%,2.2vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
}
#qa .list li dt::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/trainer/abs24@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 2.9em;
	height: 2.9em;
	top: 40%;
	transform: translateY(-50%);
	left: 0;
}
#qa .list li dt div{
	padding-bottom: .7em;
	margin-bottom:.9em;
	border-bottom: dashed 1px #c0b684;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#qa .list li{
	width: 49%;
	padding: 3%;
	margin-top: 2%;
}
#qa .list li dt{
	padding-left: 3em;
	letter-spacing: normal;
}
#qa .list li dt::before{
	width: 2.3em;
	height:2.3em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#qa .list{
	display: block;
}
#qa .list li{
	width: 100%;
	border-radius: 10px;
	padding: 5% 4%;
	margin-top: 3%;
}
#qa .list li:nth-child(-n+2){
	margin-top:3%;
}
#qa .list li dt{
	padding-left: 2.5em;
	font-size: 110%;
	letter-spacing: normal;
	line-height: 1.4em;
}
#qa .list li dt::before{
	width: 2em;
	height: 2em;
	top: 40%;
	transform: translateY(-50%);
	left: 0;
}
#qa .list li dt div{
	padding-bottom: .5em;
	margin-bottom: .7em;
}
}






/* guidelines
---------------------------------------------------------*/
#guidelines .bg{
	background: #1baed7;
	padding: 150px 0 80px;
}
#guidelines .tr_index1 .ft_brandon{
	 color: #76cee7;
}
#guidelines .tr_index1 .ft_min{
	 color: #fff;
}
#guidelines .inbox1,
#guidelines .inbox2{
	position: relative;
}
#guidelines .inbox2{
	padding: 0 5% 80px;
	box-sizing: border-box;
}
#guidelines .inbox1::before,
#guidelines .inbox1::after,
#guidelines .inbox2::before,
#guidelines .inbox2::after{
	position: absolute;
	display: block;
	content: "";
	width: 113px;
	height: 113px;
}
#guidelines .inbox1::before{
	top:0;
	left: 0;
	border-left: 1px solid #fff;
	border-top: 1px solid #fff;
	border-radius: 30px 0 0 0;
}
#guidelines .inbox1::after{
	top:0;
	right: 0;
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
	border-radius: 0 30px 0 0;
}
#guidelines .inbox2::before{
	bottom:0;
	left: 0;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	border-radius: 0 0 0 30px;
}
#guidelines .inbox2::after{
	bottom:0;
	right: 0;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	border-radius: 0 0 30px 0;
}
#guidelines h5{
	position: relative;
	padding-top: 2.7em;
	text-align: center;
	font-size: min(230%,3.8vw);
	letter-spacing: 0.05em;
	line-height: 1.6em;
	margin-bottom: 1em;
	color: #fff;
}
#guidelines h5::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/trainer/abs25@2x.png")no-repeat top center;
	background-size: 100% auto;
	width: 1.9em;
	height: 1.9em;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#guidelines ul{
	display: flex;
    justify-content: space-between;
	max-width: 1100px;
	margin: 0 auto;
}
#guidelines ul li{
	width: 32%;
	text-align: center;
	color: #fff;
}
#guidelines ul li .img{
	margin-bottom: 1rem;
}
#guidelines ul li dt{
	display: inline-block;
	font-size: min(190%,2.6vw);
	letter-spacing: 0.08em;
	line-height: 1.6em;
	position: relative;
	padding-left: 1.3em;
	box-sizing: border-box;
	margin-bottom: .5rem;
}
#guidelines ul li dt::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/trainer/abs30@2x.png") no-repeat top left;
	background-size: 100% auto;
	width: .75em;
	height: .75em;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#guidelines .bg{
	padding:9% 0 6%;
}
#guidelines .inbox2{
	padding: 0 5% 5%;
}
#guidelines .inbox1::before,
#guidelines .inbox1::after,
#guidelines .inbox2::before,
#guidelines .inbox2::after{
	width: 10vw;
	height: 10vw;
}
#guidelines h5{
	padding-top: 2.2em;
	margin-bottom: .8em;
}
#guidelines ul li .img{
	margin-bottom: .8rem;
}
#guidelines ul li dt{
	letter-spacing: normal;
	padding-left: 1em;
	margin-bottom: .3rem;
}
#guidelines ul li dd{
	text-align: left;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#guidelines .bg{
	padding: 15% 0 8%;
}
#guidelines .inbox2{
	padding: 0 5% 8%;
}
#guidelines .inbox1::before,
#guidelines .inbox1::after,
#guidelines .inbox2::before,
#guidelines .inbox2::after{
	width: 10vw;
	height: 10vw;
}
#guidelines .inbox1::before{
	border-radius: 20px 0 0 0;
}
#guidelines .inbox1::after{
	border-radius: 0 20px 0 0;
}
#guidelines .inbox2::before{
	border-radius: 0 0 0 20px;
}
#guidelines .inbox2::after{
	border-radius: 0 0 20px 0;
}
#guidelines h5{
	padding-top: 2.2em;
	font-size: 130%;
	margin-bottom: .8em;
}
#guidelines ul{
	display: block;
}
#guidelines ul li{
	width: 100%;
	margin-bottom: 8%;
}
#guidelines ul li:last-child{
	margin-bottom: 0;
}
#guidelines ul li .img{
	width: 70%;
	margin: 0 auto 3%;
}
#guidelines ul li dt{
	font-size: 130%;
	line-height: 1.5em;
}
}









/* oubo
---------------------------------------------------------*/
#bosyu .bg{
	background: #1baed7;
	padding-bottom: 90px;
}
.tr_index2{
	background: #3bb9dd;
	width: 200%;
	margin-left: -50%;
	color: #fff;
	font-size: min(260%,4.1vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	text-align: center;
	padding: 90px 0 160px;
}
.tr_inbox2{
	background: #fff;
	margin-top: -100px;
	border-radius: 5px;
	padding: 50px 4%;
	box-sizing: border-box;
}
#bosyu table{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}
#bosyu table th,
#bosyu table td{
	border-bottom: 1px solid #d9d7d4;
	padding: 2rem 0;
	vertical-align: top;
}
#bosyu table tr:last-child th,
#bosyu table tr:last-child td{
	border-bottom: none;
}
#bosyu table th{
	width: 30%;
	font-size:105%;
	color: #1baed7;
	text-align: center;
}
#bosyu table th p{
	display: inline-block;
	width:8em;
	font-weight: bold;
	text-align: left;
}
#bosyu table td{
	width: 70%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#bosyu .bg{
	padding-bottom: 8%;
}
.tr_index2{
	padding: 6% 0 10%;
}
.tr_inbox2{
	margin-top: -7%;
	padding: 4%;
}
#bosyu table th,
#bosyu table td{
	padding:1.5rem 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#bosyu .bg{
	padding-bottom: 15%;
}
.tr_index2{
	font-size: 150%;
	padding: 10% 0 15%;
}
.tr_inbox2{
	margin-top: -10%;
	padding: 4%;
}
#bosyu table{
	display: block;
}
#bosyu table th,
#bosyu table td{
	display: block;
}
#bosyu table th{
	width: 100%;
	font-size:105%;
	border-bottom:none;
	padding: 2rem 0 0;
}
#bosyu table th p{
	width: 100%;
}
#bosyu table td{
	width:100%;
	padding: 0 0 2rem;
}
}



/* oubo
---------------------------------------------------------*/
#oubo .bg{
	background: #fff;
}
