@charset "utf-8";

body {
	font: normal 18px/1.7 "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
	font-size: 16px;
	text-align: left;
	color: #333;
	text-align: justify;
	/*左右のはじに合わせる*/
	overflow-x: hidden;
}


/*PCの場合*/
@media only screen and (min-width: 641px) {
	.pc {
		display: inline-block;
		max-width: 1400px;
	}

	.sp {
		display: none;
	}
}

/*タブレット、スマホの場合*/
@media only screen and (max-width: 640px) {
	.pc {
		display: none;
	}

	.sp {
		display: inline-block;
	}
}


.ov_hd {
	overflow: hidden;
}

.bg_none {
	background-image: none !important;
}

.rollover:hover {
	filter: brightness(1.05);
	/* 明るくする */
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.line_0 {
	line-height: 0;
}

.zindex {
	z-index: 200;
}

input[type=radio] {
	width: 15px;
	height: 15px;
	vertical-align: middle;
}

input[type=image]:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

/* ----------------------------------------------------

    ここから書く

---------------------------------------------------- */

/*共通*/
.sec {
	/*下パディング用*/
	padding-bottom: 40px;
}

.sec-wrap {
	/*pc　max1400px*/
	width: 1400px;
	max-width: 100%;
	/*デバイス幅より画像サイズが大きくても収まるようにする*/
	margin: 0 auto;
	box-sizing: border-box;
	/*ないと他のセクションに影響する この幅の中でpaddingなどが効くようにする*/
	box-shadow: 0px 0px 15px -5px #ccc;
	background-color: #fff;
}

img {
	width: 100%;
	/*要素関係なくデバイス幅が100% フォントサイズ変わらないように*/
}

.pink {
	color: #E73645;
}

.yellow-line {
	background: linear-gradient(transparent 0%, #FFFFDD 0%);
}

/* ----------------------------------------------------
sec1 メインビジュアルとcta
---------------------------------------------------- */
/*sec1のcta*/
.sec1-ctabox {
	width: 100%;
	/*幅は親要素いっぱいにする*/
	max-width: 100%;
	height: auto;
	position: relative;
	margin: 0 auto;
}

/*ボタン画像shinyエフェクト*/
.c-button {
	width: 85%;
	/*大きさ、配置は％指定する*/
	max-width: 100%;
	position: absolute;
	left: 7%;
	bottom: 3%;
	box-shadow: 0px 0px 15px -5px #303030;
	border-radius: 10px;
	/*角丸画像にシャドウつける場合*/
}

._shiny {
	overflow: hidden;
}

.c-button::before {
	position: absolute;
	content: '';
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #b5e7ff;
	transition: 300ms;
	animation: shinyshiny 2.5s ease-in-out infinite;
}

@keyframes shinyshiny {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0;
	}

	80% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0.5;
	}

	81% {
		-webkit-transform: scale(4) rotate(45deg);
		opacity: 1;
	}

	100% {
		-webkit-transform: scale(50) rotate(45deg);
		opacity: 0;
	}
}

/*ボタン画像shinyエフェクトここまで*/

@media screen and (max-width: 640px) {
	.c-button {
		width: 87%;
		/*大きさ、配置は％指定する*/
		left: 6%;
		bottom: 3%;
		border-radius: 10px;
		/*角丸画像にシャドウつける場合*/
	}
}

/* ----------------------------------------------------
sec2
---------------------------------------------------- */
.sec2 {
	background-color: #F3EEE8;
}

/* 横スクロールで画像をスライドさせる */
.image-horizontal-scroll {
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	padding: 0 3%;
}

ul {
	margin: 0;
	list-style: none;
}

.box {
	width: 100%;
}

@media screen and (max-width: 450px) {
	.box {
		width: 450px;
	}
}

/* ----------------------------------------------------
フッター
---------------------------------------------------- */
footer {
	text-align: center;
	background-color: #333;
}

.footer {
	max-width: 640px;
	padding: 2% 0 170px;
	margin: 0 auto;
}

footer p {
	color: #fff;
	font-size: 14px;
	font-family: sans-serif;
}

@media screen and (max-width: 640px) {
	.footer {
		width: 100%;
		padding: 2% 0 115px;
		margin: 0 auto;
	}

	footer p {
		font-size: 12px;
	}
}

/* ----------------------------------------------------
下部固定ボタン
---------------------------------------------------- */
.bottom-btn {
	max-width: 640px;
	margin: 0 auto;
}

#floating {
	position: fixed;
	bottom: 8px;
	z-index: 100;
	width: 640px;
	max-width: 100%;
	padding: 0 3%;
	visibility: hidden;
	transition: .5s;
	opacity: 0;
	box-sizing: border-box;
}

#floating.on {
	visibility: inherit;
	opacity: 1;
}

/*ボタン画像shinyエフェクト*/
.a-button {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	/*角丸画像にシャドウつける場合*/
}

.a-button::before {
	position: absolute;
	content: '';
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #b5e7ff;
	transition: 300ms;
	animation: shinyshiny 2.5s ease-in-out infinite;
}

@keyframes shinyshiny {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0;
	}

	80% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0.5;
	}

	81% {
		-webkit-transform: scale(4) rotate(45deg);
		opacity: 1;
	}

	100% {
		-webkit-transform: scale(50) rotate(45deg);
		opacity: 0;
	}
}

/*ボタン画像shinyエフェクトここまで*/

@media screen and (max-width: 640px) {
	.bottom-btn {
		width: 100%;
	}

	#floating {
		position: fixed;
		bottom: 8px;
		z-index: 100;
		width: 100%;
	}
}


/*ボタン入れ込み*/
.include {
	position: relative;
}

.include .bt {
	/*classがbtのアイコンに対して*/
	width: 48%;
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	margin: 0;
	/*余計な隙間を除く*/
	padding: 0;
	/*余計な隙間を除く*/
	color: white;
	/*アイコン色*/
}

.include .btsp {
	/*spのbtのアイコンに対して*/
	width: 68%;
	position: absolute;
	top: 49%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	margin: 0;
	/*余計な隙間を除く*/
	padding: 0;
	/*余計な隙間を除く*/
	color: white;
	/*アイコン色*/
}

.sectionW {
	padding: 3.75rem 0 6.25rem;
	background: #fff;
}

@media screen and (max-width: 640px) {
	.sectionW {
		padding: 1.75rem 0 4.25rem;
	}
}

.inner {
	margin: 0 auto;
	padding: 0 15px;
}

.inner::after {
	content: "";
	display: block;
	clear: both;
}

.inner .ate {
	padding: 1.5em;
	margin: 0 0 2em;
	border: 1px dashed #499ce2;
}

.inner .section {
	margin-bottom: 4em;
	clear: both;
}

.section::after {
	content: "";
	display: block;
	clear: both;
}

/*
13:コンタクトフォーム
------------------------------------------------------------
*/

button {
	cursor: pointer;
	-webkit-appearance: button;
}

input[type=button],
input[type=reset],
input[type=submit] {
	cursor: pointer;
	-webkit-appearance: button;
}

input[type=checkbox],
input[type=radio] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

table.contactform {
	width: 95%;
	table-layout: fixed;
}

table.contactform th {
	width: 35%;
	padding: 1em;
	font-size: 110%;
	border-bottom: #e1eafd solid 2px;
	font-weight: 700;
	text-align: left;
}

@media screen and (max-width: 640px) {
	table.contactform th {
		width: 100%;
		display: block;
		padding: 1em 1em 0.2em;
		border-bottom: none;
	}
}

table.contactform th span.small {
	font-size: 90%;
	font-weight: normal;
	padding: 10px 0 0;
	display: block;
}

table.contactform th.cfbg {
	background: #000;
	color: #fff;
}

table.contactform td {
	padding: 1em;
	border-bottom: 2px #e1eafd solid;
	text-align: left;
	vertical-align: top;
}

@media screen and (max-width: 640px) {
	table.contactform td {
		width: 100%;
		display: block;
		padding: 0.2em 1em 1em;
	}
}

table.contactform td a {
	color: #32bce7;
	text-decoration: underline;
}

table.contactform td a:hover {
	color: #6dba3e;
}

table.contactform td span.bold {
	font-weight: 700;
}

table.contactform td p {
	margin-bottom: 0;
	line-height: 1.6;
}

input,
textarea,
select {
	padding: 0.5em;
	border-radius: 5px;
	border: solid 1px #c8c8c8;
}

ul.contactform {
	letter-spacing: -0.5em;
}

ul.contactform li {
	display: inline-block;
	letter-spacing: normal;
	margin: 0 1em 0 0;
}

ul.contactform2 {
	letter-spacing: -0.5em;
}

ul.contactform2 li {
	display: inline-block;
	width: 50%;
	letter-spacing: normal;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.wpcf7-textarea,
.wpcf7-text {
	width: 90%;
}

.zip1,
.zip2 {
	width: 30%;
}

.formtel {
	width: 30%;
	height: auto;
}

@media screen and (max-width: 640px) {
	.formtel {
		width: 100%;
	}
}

.wpcf7-form-control wpcf7-text zip {
	width: 30%;
}

.wpcf7-checkbox>span {
	display: inline-block;
	margin: 0 3% 2% 0;
}

.addr {
	width: 90%;
}

.contactformsubmit {
	text-align: center;
	margin: 30px 0;
}

.wpcf7-submit,
.wpcf7-confirm,
.wpcf7-back {
	width: 60%;
	background: #e48100;
	color: #FFF;
	text-align: center;
	font-weight: 700;
	border-radius: 5px;
	display: block;
	margin: 0 auto;
	padding: 15px 40px;
	border: none;
}

.wpcf7-confirm {
	background: #009ce4;
}

.wpcf7-back {
	background: #ccc;
}

.wpcf7-submit:hover {
	text-decoration: none;
	-webkit-opacity: 0.8;
	-moz-opacity: 0.8;
	opacity: 0.8;
}

.contactCheckBox input[type="checkbox"] {
	display: none;
}

.contactCheckBox input[type="checkbox"]+.wpcf7-list-item-label {
	position: relative;
	vertical-align: top;
}

.contactCheckBox input[type="checkbox"]+.wpcf7-list-item-label:before {
	content: "";
	font-family: "ionicons";
	color: #ccc;
	font-size: 22px;
	margin: 0 10px 0 0;
}

.contactCheckBox input[type="checkbox"]:checked+.wpcf7-list-item-label:before {
	content: "";
	color: #17bcdf;
}

#datepicker {
	width: 40%;
}

table.contactform .red {
	text-align: center;
	font-size: 90%;
	color: #FFF;
	padding: 5px 8px;
	background: #ed6002;
	margin-right: 20px;
	border-radius: 5px;
}

table.contactform .gry {
	text-align: center;
	font-size: 90%;
	color: #FFF;
	padding: 5px 8px;
	background: #b1bdca;
	margin-right: 20px;
	border-radius: 5px;
}

span.gry {
	text-align: center;
	font-size: 90%;
	color: #FFF;
	padding: 5px 8px;
	background: #b1bdca;
	margin-right: 20px;
	border-radius: 5px;
}

input.wpcf7-validates-as-required,
select.wpcf7-validates-as-required,
.wpcf7-validates-as-required>span>label>span::before {
	background: #ffdbdb;
}

dl.contact-drop {
	margin: 0 0 2em;
}

dl.contact-drop dt {
	font-weight: 700;
	font-size: 1.1em;
	cursor: pointer;
	padding: 1em;
	border-bottom: #e1eafd solid 2px;
	position: relative;
}

dl.contact-drop dt.active {
	border: none;
}

dl.contact-drop dt::after {
	content: "+";
	position: absolute;
	height: 1em;
	top: 0;
	right: 1em;
	bottom: 0;
	margin: auto;
	line-height: 1;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}

dl.contact-drop dt.active::after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

dl.contact-drop dd {
	display: none;
}



/*
コンタクトフォーム追加
------------------------------------------------------------
*/
div.wpcf7 {
	margin: 0;
	padding: 0;
}

div.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	width: 1px;
	margin: 0;
	padding: 0;
	border: 0;
}

div.wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
	border: 2px solid #ff0000;
}

div.wpcf7-mail-sent-ok {
	border: 2px solid #398f14;
}

div.wpcf7-mail-sent-ng,
div.wpcf7-aborted {
	border: 2px solid #ff0000;
}

div.wpcf7-spam-blocked {
	border: 2px solid #ffa500;
}

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
	border: 2px solid #f7e700;
}

.wpcf7-form-control-wrap {
	position: relative;
}

span.wpcf7-not-valid-tip {
	color: #f00;
	font-size: 1em;
	font-weight: normal;
	display: block;
}

.use-floating-validation-tip span.wpcf7-not-valid-tip {
	position: absolute;
	top: 20%;
	left: 20%;
	z-index: 100;
	border: 1px solid #ff0000;
	background: #fff;
	padding: .2em .8em;
}

span.wpcf7-list-item {
	display: inline-block;
	margin: 0 0 0 1em;
}

span.wpcf7-list-item-label::before,
span.wpcf7-list-item-label::after {
	content: " ";
}

.wpcf7-display-none {
	display: none;
}

div.wpcf7 .ajax-loader {
	visibility: hidden;
	display: inline-block;
	background-image: url('../../images/ajax-loader.gif');
	width: 16px;
	height: 16px;
	border: none;
	padding: 0;
	margin: 0 0 0 4px;
	vertical-align: middle;
}

div.wpcf7 .ajax-loader.is-active {
	visibility: visible;
}

div.wpcf7 div.ajax-error {
	display: none;
}

div.wpcf7 .placeheld {
	color: #888;
}

div.wpcf7 .wpcf7-recaptcha iframe {
	margin-bottom: 0;
}

div.wpcf7 input[type="file"] {
	cursor: pointer;
}

div.wpcf7 input[type="file"]:disabled {
	cursor: default;
}

div.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
}