@charset "utf-8";
@import url(cmn.css);
@import url(base.css);

/* ==========================================================================
	MAIN
	========================================================================== */

.main {
  display: table;
  table-layout: fixed;
  width: 1260px;
  margin: 0 auto 20px auto;
}
.main .txt {
  display: table-cell;
  vertical-align: middle;
  width: 50%;
  text-align: left;
  background: url("../images/slash.gif") 0 50px no-repeat;
  padding: 0 0 0 80px;
}
.main .txt .en {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
}
.main .txt h2 {
  font-size: 4.2rem;
  font-weight: normal;
  line-height: 160%;
  margin-bottom: 80px;
}
.main .txt h2 span {
  color: #56cabf;
}
.main .txt .tel {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 30px;
}
.main .txt .tel .number {
  font-weight: normal;
  font-size: 2.8rem;
}
.main .txt .bt {
  width: 350px;
}
.main .txt .bt a {
  display: block;
  font-size: 2rem;
  text-align: center;
  border: solid 1px;
  border-radius: 80px;
  padding: 25px 0;
}
.main .txt .bt a:after {
	content: "\f078";
  color: #56cabf;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 10px;

}
.main .img {
  display: table-cell;
  vertical-align: middle;
  width: 50%;
}
.main .img img {
  width: 100%;
}

/* ==========================================================================
	CONTENTS
	========================================================================== */

/*BG*/

.bg-padding {
  padding: 40px 0;
}
.bg01 {
  background-color: #81d8d0;
}
.bg02 {
  background-color: #ddf4f2;
}

/*ONAYAMI*/

.onayami h2 {
  display: inline-block;
  font-size: 2.8rem;
  font-weight: normal;
  text-align: center;
  border-left: solid 1px #010101;
} 
.onayami h2 span {
  position: relative;
  display: inline-block;
  padding: 20px 20px 0 20px;
} 
.onayami h2 span:before {
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #010101;
} 
.onayami dl {
  margin-bottom: 30px;
} 
.onayami dl dt {
font-size: 2rem;
font-weight: bold;
background: url("../images/icon.gif") 0 50% no-repeat;
background-size: 40px;
padding: 5px 0 5px 55px;
margin-bottom: 15px;
} 
.onayami dl dd {
  line-height: 180%;
  background-color: #fff;
  border-radius: 3px;
  padding: 20px;
} 

/*CONTACT-BOX*/

.contact-box {
  border: solid 2px #e26e45;
  border-radius: 13px;
}
.contact-box h2 {
  color: #fff;
  font-size: 2.2rem;
  text-align: center;
  background-color: #e26e45;
  border-radius: 10px 10px 0 0;
  padding: 15px 0;
  margin-bottom: 15px;
}
.contact-box ul {
  overflow: hidden;
	display: table;
	table-layout: fixed;
	width: 100%;
  margin-bottom: 15px;
}
.contact-box ul li {
	display: table-cell;
  width: 50%;
	vertical-align: middle;
  text-align: center;
  padding: 10px 15px;
}
.contact-box ul li.tel {
  border-right: solid 2px #e26e45;
  font-size: 1.8rem;
}
.contact-box ul li.tel p {
  font-size: 1.8rem;
  font-weight: bold;
  padding: 15px 0;
  margin-bottom: 0;
}
.contact-box ul li.tel .number {
  font-size: 3rem;
  font-weight: normal;
}
.contact-box ul li.mail a {
  display: block;
  width: 80%;
  color: #fff;
  font-size: 1.8rem;
  background-color: #81d8d0;
  border-radius: 80px;
  padding: 15px 0;
  margin: 0 auto;
}
.contact-box ul li.mail a:after {
	content: "\f078";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 10px;
}
.contact-box ul li.mail a:hover {
  background-color: #86ebe2;
}

/*MERIT*/

.merit h2 {
  text-align: center;
}
.merit h3 {
  border-bottom: solid 1px #81d8d0;
  padding-bottom: 10px;
}
.merit h3 .number {
  display: inline-block;
  width: 100px;
  color: #fff;
  font-size: 2.2rem;
  background-color: #81d8d0;
  border-radius: 5px;
  text-align: center;
  padding: 10px 0;
  margin-right: 15px;
}
.merit h3 .font02 {
  font-size: 2.5rem;
  font-weight: normal;
}
.merit .inner {
  overflow: hidden;
  margin-bottom: 50px;
}
.merit .inner .img {
  display: block;
  float: left;
  width: 40%;
}
.merit .inner .txt {
  float: right;
  width: 55%;
}
.merit .inner .txt p:last-child {
  margin-bottom: 0;
}
.merit .inner .txt h4 {
  color: #42c2b6;
  font-size: 2rem;
  border-left: solid 5px;
  padding-left: 15px;
}

/*FLOW*/

.flow li .number {
  color: #42c2b6;
  font-family: 'Noto Serif JP', serif;
  font-size: 3rem;
  font-style: italic;
  text-align: center;
  margin-bottom: 10px;
}
.flow li .number:before {
  content: "-";
  margin-right: 5px;
}
.flow li .number:after {
  content: "-";
  margin-left: 5px;
}
.flow li .box {
  text-align: center;
  background-color: #fff;
  margin-bottom: 15px;
  padding: 30px;
}
.flow li .box img {
  display: block;
  width: 30%;
  margin: 0 auto 20px auto;
}
.flow li .box h3 {
  display: inline-block;
  font-size: 1.6rem;
  border-bottom: solid 3px #e26e45;
  text-align: center;
  padding-bottom: 5px;
  margin-bottom: 0;
}
.flow li p {
  font-size: 1.4rem;
  line-height: 1.5em;
  margin-bottom: 0
}

/*PRICE*/

.price table th {

  font-weight: bold;
  text-align: center;
  background-color: #9bddd6;
  padding: 15px;
}
.price table td {
  border-top: solid 1px;
  border-bottom: solid 1px;
  padding: 15px;
}
.price table td h3 {
  color: #42c2b6;
  font-size: 1.6rem;
  margin-bottom: 10px;
}
.price table td.tit {
  font-weight: bold;
	background-color: #f2f2f2;
}
.price table td.tit span {
	display: block;
}
.price table td.price {
	width: 170px;
	text-align: center;
  border-left: solid 1px;
  border-right: solid 1px;
}
.price table td.price span {
  display: block;
}
.price table td li:last-child {
  margin-bottom: 0;
}


/*VOICE*/

.voice .box {
  overflow: hidden;
  margin-bottom: 50px;
}
.voice .box img {
  display: block;
  float: left;
  width: 15%;
}
.voice .box .txt {
  float: right;
  width: 80%;
}
.voice .box .txt h3 {
  font-size: 2rem;
  border-left: solid 5px #9bddd6;
  padding-left: 15px;
  margin: 0 0 15px 0;
}
.voice .box .txt .inner {
  position: relative;
  display: inline-block;
  padding: 20px;
  background: #f8f6cb;
  border-radius: 5px;
}

.voice .box .txt .inner:before {
  content: "";
  position: absolute;
  top: 20%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #f8f6cb;
}

/*MESSAGE*/

.message img {
	float: left;
	width: 35%;
}
.message .txt {
	float: right;
	width: 58%;
}
.message .txt h3 {
	color: #47c2b5;
	font-size: 2.2rem;
}

/*OFFICE*/

.office dl {
	 overflow: hidden;
	 padding: 20px;
}
.office dl.last {
	margin-bottom: 50px;
}
.office dl:nth-child(even) {
	background-color: #eee;
}
.office dl dt {
	float: left;
	width: 20%;
}
.office dl dd {
	float: right;
	width: 80%;
}

.youtube {
	text-align: center;
	margin-bottom: 10px;
}
.youtube .sub {
	display: block;
	font-size: 1.7rem;
	margin-bottom: 5px;
}
.youtube .tit {
	font-size: 2rem;
}
.youtube-bt {
	width: 400px;
	margin: 0 auto;
}
.youtube-bt a {
	display: block;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	background-color: #cf4343;
	border-radius: 80px;
	padding: 20px 0;
}
.youtube-bt a span {
	background: url("../images/icon-movie.png") 100% 50% no-repeat;
	background-size: 40px;
	padding: 5px 60px 5px 0;
}
.youtube-bt a:hover {
	background-color: #fd4e4e;
}

/*CONTACT*/

.contact .inner {
	width: 80%;
	background-color: #fff;
	border-radius: 5px;
	padding: 40px;
	margin: 0 auto 50px auto;
}

.contact .inner dl {
  overflow: hidden;
  margin-bottom: 30px;
}
.contact .inner dt {
	float: left;
	width: 20%;
}
.contact .inner dd {
	float: right;
	width: 75%;
}

.hissu {
	color: #fff;
	font-size: 70%;
	line-height: 100%;
	text-align: center;
	background-color: #e26e45;
	border-radius: 3px;
	padding: 2px 5px;
	margin-left: 7px;
}
.err {
  color: #e00202;
}

.input01 input {
	background-color: #f2f2f2;
	border: solid 1px #f2f2f2;
	border-radius: 3px;
	padding: 20px;
	width: 100%;
}
.input02 input {
	background-color: #f2f2f2;
	border: solid 1px #f2f2f2;
	border-radius: 3px;
	padding: 20px;
	width: 50%;
}
.input03 input {
	background-color: #f2f2f2;
	border: solid 1px #f2f2f2;
	border-radius: 3px;
	padding: 20px;
}
textarea {
	width: 100%;
	background-color: #f2f2f2;
	border: solid 1px #f2f2f2;
	border-radius: 3px;
	padding: 20px;
}
.radio {
  line-height: 3rem;
}
select {
  width: 50%;
  border: solid 1px #ccc;
  padding: 10px;
}

/*bt*/

.form-bt-wrapper {
  text-align: center;
}
.form-bt {
	width: 500px;
  display: inline-block;
  text-align: center;
	margin: 0 auto;
}
.form-bt li {
  display: inline-block;
  width: 220px;
  margin: 0 10px;
}
.form-bt li input {
  display: block;
	width: 100%;
}
.bt-submit input {
	color: #fff;
	background-color: #e26e45;
	border: solid 1px #e26e45;
  border-radius: 80px;
	padding: 15px 0;
	cursor: pointer;
	-webkit-transition: 0.4s ease-in-out;  
		 -moz-transition: 0.4s ease-in-out;  
			 -o-transition: 0.4s ease-in-out;  
					transition: 0.4s ease-in-out;  
}
.bt-submit input:hover {
	background-color: #f88056;
	border: solid 1px #f88056;
}
.bt-reset input {
	color: #fff;
	background-color: #959595;
	border: solid 1px #959595;
  border-radius: 80px;
	padding: 15px 0;
	cursor: pointer;
	-webkit-transition: 0.4s ease-in-out;  
		 -moz-transition: 0.4s ease-in-out;  
			 -o-transition: 0.4s ease-in-out;  
					transition: 0.4s ease-in-out;  
}
.bt-reset input:hover {
	background-color: #bdbdbd;
	border: solid 1px #bdbdbd;
}

.form-bt02 {
	width: 40%;
	margin: 0 auto;
}
.form-bt02 li input {
	width: 100%;
}

.thanks {
	margin-bottom: 50px;
}
.back-top {
	color: #223f9e;
	font-weight: bold;
	text-decoration: underline;
	text-align: center;
}
.back-top a {
	color: #223f9e;
}


/* 各ベンダープレフィックスが取れた標準版 */
:placeholder-shown {
	color: #cecece;
}
/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
	color: #cecece;
}
/* Firefox 18- */
:-moz-placeholder {
	color: #cecece; opacity: 1;
}
/* Firefox 19+ */
::-moz-placeholder {
	color: #cecece; opacity: 1;
}
/* IE 10+ */
:-ms-input-placeholder {
	color: #cecece;
}

/*チェックボックス*/

.checkbox01-input{
  display: none;
}
.mwform-checkbox-field-text{
  padding-left: 25px;
  position:relative;
}
.mwform-checkbox-field-text::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
	background-color: #fff;
  border: 2px solid #d9d9d9;
  border-radius: 4px;
}
.checkbox01-input:checked + .mwform-checkbox-field-text{
  color: #858585;
}
.checkbox01-input:checked + .mwform-checkbox-field-text::after{
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #858585;
  border-right: 3px solid #858585;
}


.privacypolicy {
	width: 80%;
 background-color:#b3e8e3;
 height:200px;
 overflow:auto;
 overflow-y:scroll;
 border-radius: 5px;
	padding: 15px;
	margin: 0 auto 40px auto;
}
.privacypolicy h3 {
	font-size: 1.8rem;
	text-align: center;
	margin-bottom: 20px;
}
.privacypolicy p {
	font-size: 1.4rem;
}
.privacypolicy dl {
	font-size: 1.4rem;
	margin-bottom: 30px;
}
.privacypolicy dl dt {
	font-weight: bold;
	margin-bottom: 15px;
}


/* ==========================================================================
	PC 1025px -
	========================================================================== */

@media screen and (min-width: 1025px){

}


/* ==========================================================================
	TABLET - 1024px
	========================================================================== */

@media screen and (max-width:1024px){

/*MAIN*/

.main {
  display: block;
  width: 100%;
  margin: 0 auto 15px auto;
}
.main .txt {
  display: block;
  width: 100%;
	text-align: center;
  background: none;
  padding: 0;
}
.main .txt .en {
  font-size: 2rem;
  margin-bottom: 20px;
}
.main .txt h2 {
  font-size: 3.2rem;
  margin-bottom: 40px;
}
.main .txt .tel {
  font-size: 1.6rem;
  margin-bottom: 20px;
}
.main .txt .tel .number {
  font-size: 2.3rem;
}
.main .txt .bt {
  width: 350px;
	margin: 0 auto 30px auto;
}
.main .txt .bt a {
  font-size: 1.8rem;
  padding: 20px 0;
}

.main .img {
  display: block;
  width: 80%;
	margin: 0 auto;
}

/*BG*/

.bg-padding {
  padding: 30px 0;
}

/*ONAYAMI*/

.onayami h2 {
  font-size: 2.3rem;
} 
.onayami dl dt {
font-size: 1.8rem;
background: url("../images/icon.gif") 0 5px no-repeat;
background-size: 30px;
padding: 5px 0 5px 45px;
margin-bottom: 10px;
} 

/*CONTACT-BOX*/

.contact-box ul {
  overflow: hidden;
  margin-bottom: 15px;
}
.contact-box ul li.tel p {
  font-size: 1.6rem;
}
.contact-box ul li.tel .number {
	display: block;
  font-size: 2.5rem;
}
.contact-box ul li.mail a {
  font-size: 1.6rem;
	width: 90%;
}

/*MERIT*/

.merit h2 img {
	display: block;
	width: 300px;
	margin: 0 auto;
}
.merit h3 .number {
  width: 80px;
  font-size: 2rem;
}
.merit h3 .font02 {
  font-size: 2.2rem;
}
.merit .inner {
  margin-bottom: 40px;
}

/*FLOW*/

.flow li .number {
  font-size: 2.5rem;
}
.flow ul {
	width: 103.333%;
}
.flow li {
	width: 30%;
	margin: 0 3.333% 3.333% 0;
}
.flow li .box {
  padding: 20px;
}
.flow li .box img {
  width: 50px;
  margin: 0 auto 15px auto;
}
.flow li .box h3 {
  font-size: 1.4rem;
}

/*PRICE*/

.price table th {
  padding: 10px;
}
.price table td {
  padding: 10px;
}
.price table td h3 {
  font-size: 1.5rem;
}
.price table td.price {
	width: 120px!important;
}

/*VOICE*/

.voice .box {
  margin-bottom: 40px;
}
.voice .box img {
  width: 20%;
}
.voice .box .txt {
  width: 75%;
}
.voice .box .txt h3 {
  font-size: 1.8rem;
}

/*MESSAGE*/

.message .txt h3 {
	font-size: 2rem;
}

/*CONTACT*/

.contact .inner {
	width: 100%;
	margin: 0 auto 40px auto;
}
.contact .inner dl {
  margin-bottom: 20px;
}
.contact .inner dt {
	float: none;
	width: 100%;
	margin: 5px;
}
.contact .inner dd {
	float: none;
	width: 100%;
}
.input01 input {
	font-size:16px;
	padding: 15px;
}
.input02 input {
	font-size:16px;
	padding: 15px;
	width: 60%;
}
.input03 input {
	font-size:16px;
	padding: 15px;
}
textarea {
	font-size:16px;
	padding: 15px;
}
select {
	font-size:16px;
}

/*bt*/

.form-bt {
	width: 100%;
}
.form-bt li {
  display: inline-block;
  width: 220px;
  margin: 0 10px;
}

.form-bt02 {
	width: 40%;
	margin: 0 auto;
}
.form-bt02 li input {
	width: 100%;
}
.thanks {
	margin-bottom: 40px;
}
.privacypolicy {
	width: 100%;
	padding: 20px;
}
.privacypolicy h3 {
	font-size: 1.7rem;
}

}

/* ==========================================================================
	SP - 640px
	========================================================================== */

@media screen and (max-width: 640px) {

/*MAIN*/

.main {
  margin: 0 auto 10px auto;
}
.main .txt .en {
  font-size: 3.5vw;
  margin-bottom: 10px;
}
.main .txt h2 {
  font-size: 6vw;
  margin-bottom: 30px;
}
.main .txt .tel {
  font-size: 2.5vw;
  margin-bottom: 15px;
}
.main .txt .tel .number {
  font-size: 2rem;
}
.main .txt .bt {
  width: 280px;
	margin: 0 auto 20px auto;
}
.main .txt .bt a {
  font-size: 1.6rem;
  padding: 15px 0;
}

.main .img {
  width: 85%;
}

/*BG*/

.bg-padding {
  padding: 40px 0;
}
.bg01 {
  background-color: #81d8d0;
}
.bg02 {
  background-color: #ddf4f2;
}

/*ONAYAMI*/

.onayami h2 {
  font-size: 2rem;
	line-height: 100%;
} 
.onayami h2 span:before {
  width: 40px;
} 
.onayami dl {
  margin-bottom: 20px;
} 
.onayami dl dt {
font-size: 1.6rem;
background-size: 25px;
padding: 5px 0 5px 35px;
margin-bottom: 7px;
} 
.onayami dl dd {
  line-height: 180%;
  background-color: #fff;
  border-radius: 3px;
  padding: 20px;
} 

/*CONTACT-BOX*/

.contact-box h2 {
  font-size: 2rem;
}
.contact-box ul {
	display: block;
}
.contact-box ul li {
	display: block;
	width: 100%;
  padding: 5px 10px;
}
.contact-box ul li.tel {
	border-right: none;
}
.contact-box ul li.tel p {
  font-size: 1.5rem;
}
.contact-box ul li.tel .number {
  font-size: 2.2rem;
}
.contact-box ul li.mail a {
  width: 80%;
  font-size: 1.5rem;
  padding: 10px 0;
}
.contact-box ul li.mail a:after {
	margin-left: 7px;
}

/*MERIT*/

.merit h2 img {
	width: 220px;
}
.merit h3 .number {
  width: 50px;
  font-size: 1.8rem;
  padding: 7px 0;
  margin-right: 10px;
}
.merit h3 .font02 {
  font-size: 1.8rem;
}
.merit .inner {
  margin-bottom: 30px;
}
.merit .inner .img {
  float: none;
  width: 100%;
	margin-bottom: 30px;
}
.merit .inner .txt {
  float: none;
  width: 100%;
}
.merit .inner .txt h4 {
  font-size: 1.7rem;
}

/*FLOW*/

.flow ul {
	width: 100%;
}
.flow li {
	float: none;
	width: 100%;
	margin-bottom: 20px;
}
.flow li .number {
  font-size: 2.2rem;
  margin-bottom: 7px;
}
.flow li .box {
  padding: 15px;
}
.flow li .box img {
  width: 40px;
  margin: 0 auto 10px auto;
}
.flow li .box h3 {
  font-size: 1.5rem;
}

/*PRICE*/

.price table td h3 {
  font-size: 1.5rem;
}
.price table td.price {
	width: 100px;
}
.scroll-box {
  overflow-x: auto;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}
/*スクロールバー全体の高さ*/
.scroll-box::-webkit-scrollbar {
  height: 4px;
}
/*スクロールバー全体の背景*/
.scroll-box::-webkit-scrollbar-track {
  background: #eee;
}
/*スクロールバーの動く部分*/
.scroll-box::-webkit-scrollbar-thumb {
  background: #aaa;
  border: none;
}
/*スクロールバーの動く部分のホバー（マウスオーバー）*/
.scroll-box::-webkit-scrollbar-thumb:hover {
  background: #999;
}
.scroll-box table {
  width: 100%;
  min-width: 700px;
	letter-spacing: 0;
}

/*VOICE*/

.voice .box {
  margin-bottom: 30px;
}
.voice .box img {
  float: none;
  width: 150px;
	margin: 0 auto 20px auto;
}
.voice .box .txt {
  float: none;
  width: 100%;
}
.voice .box .txt h3 {
  font-size: 1.7rem;
}
.voice .box .txt .inner {
  padding: 15px;
}


/*MESSAGE*/

.message img {
	display: block;
	float: none;
	width: 60%;
	margin: 0 auto 30px auto;
}
.message .txt {
	float: none;
	width: 100%;
}
.message .txt h3 {
	font-size: 1.8rem;
	margin-bottom: 20px;
}

/*OFFICE*/

.office dl {
	 padding: 10px;
}
.office dl dt {
	float: none;
	width: 100%;
	font-weight: bold;
	margin-bottom: 5px;
}
.office dl dd {
	float: none;
	width: 100%;
}
.youtube {
	margin-bottom: 7px;
}
.youtube .sub {
	font-size: 1.4rem;
}
.youtube .tit {
	font-size: 1.6rem;
}
.youtube-bt {
	width: 280px;
}
.youtube-bt a {
	font-size: 1.6rem;
	padding: 15px 0;
}
.youtube-bt a span {
	background-size: 30px;
	padding: 5px 50px 5px 0;
}

/*CONTACT*/

.contact .inner {
	padding: 20px;
	margin: 0 auto 30px auto;
}
.contact .inner dl {
  margin-bottom: 15px;
}

/*bt*/

.form-bt {
	width: 100%;
	text-align: center;
}
.form-bt li {
  display: inline-block;
  width: 150px;
  margin: 0 10px;
}
.form-bt02 {
  width: 120px;
}
.thanks {
	margin-bottom: 30px;
}
.privacypolicy {
	padding: 15px;
	margin-bottom: 30px;
}
.privacypolicy h3 {
	font-size: 1.6rem!important;
	margin-bottom: 10px;
}
.privacypolicy dl dt {
	margin-bottom: 10px;
}

}

