@charset "utf-8";

a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

/* ##########################################################################
Add Reset
########################################################################## */

ul{list-style:none}

/* ##########################################################################
Base
########################################################################## */

/* For Links
---------------------------------------------- */

a,a:active,a:visited,a:focus,a:hover{
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

a {
	color: #000;
	text-decoration:none;
	transition: 0.3s;
}

a:hover {
	text-decoration:none;
	color: #888;
}

/* For input
---------------------------------------------- */

input,textarea {
	outline: none;
}

textarea {
	resize: none;
}

/* Boxsizing
---------------------------------------------- */

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

/* Image
---------------------------------------------- */

img {
	max-width:100%;
	height:auto;
	vertical-align: bottom;
}

/* ##########################################################################
Module
########################################################################## */

.mb20{
	margin-bottom: 20px !important;
}
.mb40{
	margin-bottom: 40px !important;
}
.mb60{
	margin-bottom: 60px !important;
}
.mb80{
	margin-bottom: 80px !important;
}

.center{
	text-align: center;
}

/* Block Span
---------------------------------------------- */

.m-block{
	display: inline;
}
.m-inline{
	display: block;
}

@media screen and (max-width: 767px){
	.m-block{
		display: block;
	}
	.m-inline{
		display: inline;
	}
}

/* PC block SP block
---------------------------------------------- */

.pc-block{
	display: block;
}

.sp-block{
	display: none;
}

@media screen and (max-width: 960px){
	.pc-block{
		display: none;
	}
	.sp-block{
		display: block;
	}
}

/* ##########################################################################
Frame
########################################################################## */

body {
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	color: #111;
	line-height: 2.0;
	background-color: #F8F7F0;
	padding: 20px;
}

/* font
---------------------------------------------- */

.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-maru-gothic-medium {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-maru-gothic-bold {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}

/* fade
---------------------------------------------- */

.fadeUp {
	animation-name:fadeUpAnime;
	animation-duration:1.0s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(24px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

.delay-time02{
animation-delay: 0.2s;
}

.delay-time04{
animation-delay: 0.4s;
}

.delay-time06{
animation-delay: 0.6s;
}

/* teaser-mv
---------------------------------------------- */

.teaser-mv{
	position: relative;
	width: 100%;
	max-width: 1480px;
	margin: 0 auto 80px;
	min-height: 90vh;
	background-image: url("../images/teaser-mv01.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center bottom;
	border-radius: 10px;
	opacity: 0;
	animation: fadeIn 3s forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.teaser-mv-inner{
	position: absolute;
	top: 50%;
    left: 15%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.teaser-mv-inner h1{
	font-size: 40px;
	font-family: "Zen Maru Gothic", sans-serif;
  	font-weight: 500;
  	font-style: normal;
	color: #fff;
	line-height: 1.4;
	margin-bottom: 20px;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.1);
}
.teaser-mv-inner p{
	font-size: 18px;
  	font-weight: 500;
  	font-style: normal;
	color: #fff;
	line-height: 1.8;
	margin-bottom: 20px;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.1);
}

.teaser-btn a{
	display: inline-block;
	background-color: #97BE18;
	padding: 12px 36px;
	border-radius: 50px;
	font-family: "Zen Maru Gothic", sans-serif;
  	font-weight: 500;
	color: #fff;
}
.teaser-btn a:hover{
	opacity: 0.7;
}

@media screen and (max-width: 767px){
	.teaser-mv{
		min-height: 65vh;
		background-image: url("../images/teaser-mv01-sp.jpg");
	}
	.teaser-mv-inner{
		left: 0%;
		padding: 0 20px;
	}
	.teaser-mv-inner h1{
		font-size: 24px;
	}
	.teaser-mv-inner p{
		font-size: 16px;
		line-height: 1.6;
	}
}

/* teaser-contents
---------------------------------------------- */

.teaser-contents{
	max-width: 960px;
	margin: 0 auto 40px;
}

.teaser-contents-box{
	width: 100%;
	margin: 0 auto 80px;
	padding: 40px 120px;
	border-radius: 10px;
	background-color: #fff;
	opacity: 0;
}

.teaser-contents-box:last-of-type{
	margin: 0 auto 0px;
}

.teaser-contents-box h2{
	font-size: 36px;
	font-weight: 700;
	color: #97BE18;
	text-align: center;
	margin-bottom: 40px;
	line-height: 1.4;
}

.teaser-icon{
	margin: 0;
	padding: 0;
	text-align: center;
}
.en-midashi{
	font-weight: 700;
	color: #97BE18;
	text-align: center;
}

.teaser-contents-box h3{
	font-size: 24px;
	font-weight: 500;
	text-align: center;
	margin-bottom: 40px;
}

span.line-yellow{
	padding: 0 0 2px 0;
	border-bottom: 3px solid #ffd000;
}

span.line-pink{
	padding: 0 0 2px 0;
	border-bottom: 3px solid #ff8cb0;
}

.txt-yellow{
	color: #ffd000;
}

.teaser-contents-box b{
	font-weight: 500;
}

.teaser-contents-box ul{
	width: 80%;
	margin: 0 auto;
}

.teaser-logo{
	text-align: center;
	margin-bottom: 40px;
}

.teaser-logo img{
	padding: 12px 24px;
	border-radius: 8px;
}

small{
	font-size: 1.2rem;
}

.teaser-img{
	margin: 40px;
	text-align: center;
}
.teaser-img img{
	width: 90%;
	border-radius: 10px;
}

.teaser-cta-txt{
	text-align: center;
	margin-bottom: 40px;
}

@media screen and (max-width: 767px){
	.teaser-contents-box{
		padding: 40px 20px;
	}
	.teaser-contents-box h2{
		font-size: 24px;
	}
	.teaser-contents-box h3{
		font-size: 20px;
		line-height: 1.8;
	}
	span.line-yellow{
		padding: 0 0 0px 0;
		border-bottom: 2px solid #ffd000;
	}
	span.line-pink{
		padding: 0 0 0px 0;
		border-bottom: 2px solid #ff8cb0;
	}
	.teaser-contents-box ul{
		width: 100%;
		margin: 0 auto;
	}
	small{
		font-size: 1.0rem;
	}
	.teaser-img img{
		width: 100%;
	}
}

/* vision */
.vision-words{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-around;
	align-items: stretch;
	margin-bottom: 60px;
}

.vision-words div{
	width: 23%;
	padding: 20px 10px;
	border-radius: 10px;
}

.vision-words div span{
	display: block;
	font-weight: 500;
	text-align: center;
	line-height: 1.6;
}
.vision-words div.vw-box01{
	opacity: 0;
	background-color: #f8e9d4;
}
.vision-words div.vw-box02{
	opacity: 0;
	background-color: #cbe1d4;
}
.vision-words div.vw-box03{
	opacity: 0;
	background-color: #fcbd87;
}
.vision-words div.vw-box04{
	opacity: 0;
	background-color: #fabaae;
}

@media screen and (max-width: 767px){
	.vision-words{
		flex-wrap: wrap;
	}
	.vision-words div{
		width: 48%;
		margin-bottom: 12px;
	}
}

/* forward */

.teaser-forward-table{
	width: 100%;
	background-color: #333;
	border-collapse:  collapse;
}

.teaser-forward-table th{
	padding: 4px 40px;
	background-color: #C4EBDF;
	border: solid 1px #333;
	font-weight: 500;
}

.teaser-forward-table td{
	padding: 4px 40px;
	background-color: #fff;
	border: solid 1px #333;
	text-align: center;
	vertical-align: middle;
}

.teaser-forward-table td strong{
	font-weight: 500;
}

@media screen and (max-width: 767px){
	.teaser-forward-table th{
		padding: 4px 10px;
	}
	.teaser-forward-table td{
		padding: 4px 10px;
	}
}

/* voice */

.teaser-voice-box{
	padding-bottom: 60px;
	border-bottom: 1px dashed #111;
	margin-bottom: 60px;
}

.teaser-voice-box h4{
	font-weight: 500;
	margin-bottom: 10px;
}

/* coach */

.teaser-coach{
	padding: 40px 60px;
}

.teaser-coach-box{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	padding-bottom: 60px;
	border-bottom: 1px dashed #111;
	margin-bottom: 60px;
}

.teaser-coach-box:last-of-type{
	border-bottom: none;
	margin-bottom: 0px;
}

.teaser-coach-photo{
	width: 30%;
}

.teaser-coach-photo img{
	border-radius: 5px;
}

.teaser-coach-profile{
	width: 65%;
}

.teaser-coach-profile h3{
	font-size: 18px;
	text-align: left;
	margin-bottom: 10px;
}

.teaser-coach-profile p{
	margin: 10px 0;
}

.teaser-coach-profile h4{
	font-weight: 500;
	margin-bottom: 10px;
}

.teaser-coach-profile ul{
	width: 100%;
	margin: 0 0 0 0;
	text-align: left;
}

@media screen and (max-width: 767px){
	.teaser-coach{
		padding: 40px 20px;
	}
	.teaser-coach-box{
		flex-wrap: wrap;
	}
	.teaser-coach-photo{
		width: 100%;
		text-align: center;
	}
	.teaser-coach-photo img{
		width: 60%;
		margin-bottom: 20px;
	}
	.teaser-coach-profile{
		width: 100%;
	}
}

/* form
---------------------------------------------- */

.form-intro{
  margin-bottom: 40px;
}

.form-intro p{
	margin: 20px 0;
}

/* ======= add contactform7 ======= */

.wpcf7{
    font-size: 16px;
}

.wpcf7 form{
    margin: 2em 1.5em 2em;
}

.wpcf7 label{
    margin: 0 0 0;
}

.wpcf7 select{
    margin: 0 0 0;
    padding: 12px;
    border-radius: 6px;
    border: 1px solid #ddd;
    box-sizing: border-box;
}

.wpcf7 input, .wpcf7 textarea{
    width: 100%;
    padding: 12px;
    border-radius: 6px;
    border: 1px solid #ddd;
    box-sizing: border-box;
}

/* ラジオボタン */
.wpcf7 input[type=radio] {
    width: auto;
    padding: 0;
}
/* チェックボックス */
.wpcf7 input[type=checkbox] {
    width: auto;
    padding: 0;
}

.wpcf7 .wpcf7-list-item{
    display: inline-block;
    padding: 4px;
}

.wpcf7-not-valid-tip{
    font-size: 14px;
    margin-top: 6px;
}

/* layout */
.form-col2 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 24px;
}

.form-item{
    width: 30%;
    font-weight: 500;
}

.form-input{
    width: 70%;
}

.form-acceptance{
    text-align: center;
}

.form-acceptance a{
    text-decoration: underline;
}

.wpcf7 input.date-field{
    width: 40%;
}

span.required{
    padding: 2px 6px 3px 6px;
    border-radius: 4px;
    background-color: #ED854D;
    color: #fff;
    font-size: 12px;
    font-weight: normal;
}

.form-note{
    padding:4px 0;
    font-size:14px;
    line-height: 1.6;
}

.send-btn{
	text-align:center;
}
.wpcf7 form .wpcf7-submit {
  max-width: 214px;
  display: inline-block;
  padding: 12px 36px;
  background: #97BE18;
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: 0.3s;
}

/* ホバー時 */
.wpcf7 form .wpcf7-submit:hover {
  opacity: 0.7;
}

/* 無効化（送信中など） */
.wpcf7 form .wpcf7-submit[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* スピナー位置調整（CF7標準） */
.wpcf7 form .wpcf7-spinner {
  margin-left: .6em;
  position: relative;
  top: 1px;
  width: 20px;
  height: 20px;
}

@media (max-width: 960px) {
	.wpcf7 form{
    	margin: 0em 0em 0em;
	}
    .form-item{
        width: 100%;
        margin-bottom: 12px;
    }
    .form-input{
        width: 100%;
    }
    .wpcf7 form .wpcf7-submit {
		max-width: 100%;
        width: 100%;
    }
}

/* footer
---------------------------------------------- */

footer {
	width: 100%;
	padding: 20px 0;
	text-align: center;
}

.teaser-company{
	margin-bottom: 40px;
}

.teaser-company h5{
	font-size: 0.8rem;
	font-weight: 500;
	margin-bottom: 6px;
}

.company-logo{
	margin-bottom: 12px;
}

.company-logo a:hover{
	opacity: 0.7;
}

.company-info{
	line-height: 1.6;
	margin-bottom: 12px;
}

ul.company-sns li{
	display: inline-block;
	margin: 0 5px;
}

ul.company-sns li a:hover{
	opacity: 0.7;
}

.footer-copy{
	font-size: 0.8rem;
}
