@charset "UTF-8";
/*
 * cmn_layout.css
 */
/* ==========================================================
!HTML5 elements
========================================================== */
header,
footer,
nav,
main,
section,
aside,
article {
	display: block;
}

figure,
figcaption {
	margin: 0;
	padding: 0;
}

/* ==========================================================
!Reseting
========================================================== */
/* 全ての要素のbox-sizingをデフォルトでborder-boxにする */
:root {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

*,
::before,
::after {
	border-width: 0;
	border-style: solid;
	-webkit-box-sizing: inherit;
	        box-sizing: inherit;
}

html {
	font-size: 62.5%;
}

body {
	color: #333333;
	font-family: "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	font-size: 16px;
	font-size: 1.6em;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	letter-spacing: 0.07em;
	line-height: 1.5;
	-webkit-text-size-adjust: none;
	   -moz-text-size-adjust: none;
	    -ms-text-size-adjust: none;
	        text-size-adjust: none;
	background: #ffffff none;

	overflow-scrolling: touch;
}

/* PC専用 */
.pc-only {
	display: block !important;
  }
  .sp-only {
	display: none !important;
  }
  
  @media (max-width: 768px) {
	/* SP専用 */
	.pc-only {
	  display: none !important;
	}
	.sp-only {
	  display: block !important;
	}
  }
  
  
  

/* Hack for Safari 7.1-8.0 */
_::-webkit-full-page-media,
_:future,
:root body {
	-webkit-font-feature-settings: "pkna";
	        font-feature-settings: "pkna";
}

/* 480px以上（大きめSP） */
@media only screen and (min-width: 480px), print {
	body {
		font-size: 20px;
		font-size: 2rem;
	}
}

/* 640px以上（ファブレット） */
@media only screen and (min-width: 640px), print {
	body {
		font-size: 24px;
		font-size: 2.4rem;
	}
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	body {
		font-size: 30px;
		font-size: 3rem;
	}
}

/* 960px以上（大きめタブレット 横位置とか） */
@media only screen and (min-width: 960px), print {
	body {
		font-size: 32px;
		font-size: 3.2rem;
	}
}

body,
div,
pre,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
th,
td {
	margin: 0;
	padding: 0;
}

input,
textarea {
	margin: 0;
	font-size: 100%;
}

label {
	cursor: pointer;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 100%;
}

fieldset,
img {
	border: 0;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
	font-weight: normal;
	font-style: normal;
}

ol,
ul {
	list-style: none;
}

caption,
th {
	text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}

q:after,
q:before {
	content: "";
}

a,
input {
	/* outline: none; */
}

abbr,
acronym {
	border: 0;
}

/* ==========================================================
!Clearfix
========================================================== */
.clearfix:after {
	display: block;
	clear: both;
	content: "";
}

/* ==========================================================
!Layout
========================================================== */
html {
	overflow-y: scroll;
}

body {
	text-align: center;
}

@media print {
	html,
	html body {
		*zoom: 0.65;
	}
}

/* ==========================================================
!Wrapper
========================================================== */
#wrapper {
	margin: 14vw auto 0;
	text-align: center;
}

/* 480px以上（大きめSP） */
/* 640px以上（ファブレット） */
/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	#wrapper {
		margin: 92px auto 0;
	}
}

/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* 1200px以上（大きめPC） */
/* ==========================================================
!Header
========================================================== */
#header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 14vw;
	background: #ffffff;
}

#header .hd_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-flow: row nowrap;
	        flex-flow: row nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#header .hd_inner #hd_logo {
	width: 18%;
	padding: 0 0 0 4%;
}

#header .hd_inner #hd_logo p {
	display: none;
}

/* 480px以上（大きめSP） */
/* 640px以上（ファブレット） */
/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	#header {
		height: auto;
		padding: 16px 0;
	}
	#header .hd_inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row nowrap;
		        flex-flow: row nowrap;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	#header .hd_inner #hd_logo {
		max-width: 74px;
		margin: 0 0 0 20px;
		padding: 0;
	}
}
@media screen and (max-width: 768px) {
	#header .hd_inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row nowrap;
		        flex-flow: row nowrap;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
  }
  
/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* ==========================================================
!Gnavi
========================================================== */
#gnavi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	position: relative;
	top: 0;
	right: 0;
	height: 14vw;
	background: trasnparent none;
}
@media screen and (max-width: 768px) {
	#gnavi {
		width: 14vw;
	}
}

#gnavi:hover,
#gnavi:active,
#gnavi:focus {
	cursor: pointer;
}

#gnavi.on,
#gnavi.on:hover,
#gnavi.on:active,
#gnavi.on:focus {
	background: trasnparent none;
	cursor: pointer;
	outline: 1px dotted #ffffff;
}

#gnavi > ul {
	/* Menu Link Common
		------------------------------------ */
	/* Link common default */
	/* Link common visible */
}

#gnavi > ul .menu_trigger {
	position: relative;
	z-index: 1000;
	width: 10vw;
	height: 14vw;
	/* Menu Line top */
	/* Menu Line middle */
	/* Menu Line bottom */
	/* Menu Close Line
			// ------------------------------------ */
	/* Menu Close Line top */
	/* Menu Close Line middle */
	/* Menu Close Line bottom */
}

#gnavi > ul .menu_trigger:before {
	display: block;
	-ms-flex-item-align: center;
	    align-self: center;
	position: absolute;
	top: 4vw;
	/* 線の位置 */
	left: 0;
	width: 100%;
	height: 2px;
	text-align: center;
	content: "";
	background-color: #ff8e29;
	/* 線の色 */
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	-o-transition-property: transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	-webkit-transition-duration: 0.15s;
	     -o-transition-duration: 0.15s;
	        transition-duration: 0.15s;
	-webkit-transition-timing-function: ease-in-out;
	     -o-transition-timing-function: ease-in-out;
	        transition-timing-function: ease-in-out;
}

#gnavi > ul .menu_trigger .menu_trigger_line {
	display: block;
	-ms-flex-item-align: center;
	    align-self: center;
	position: absolute;
	top: 7vw;
	/* 線の位置 */
	left: 0;
	width: 100%;
	height: 2px;
	color: #ffffff;
	font-size: 10px;
	line-height: 42px;
	/* 文字の位置 */
	text-align: center;
	background-color: #ff8e29;
	/* 線の色 */
	-webkit-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
}

#gnavi > ul .menu_trigger:after {
	display: block;
	-ms-flex-item-align: center;
	    align-self: center;
	position: absolute;
	top: 10vw;
	/* 線の位置 */
	left: 0;
	width: 100%;
	height: 2px;
	text-align: center;
	content: "";
	background-color: #ff8e29;
	/* 線の色 */
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	-o-transition-property: transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	-webkit-transition-duration: 0.15s;
	     -o-transition-duration: 0.15s;
	        transition-duration: 0.15s;
	-webkit-transition-timing-function: ease-in-out;
	     -o-transition-timing-function: ease-in-out;
	        transition-timing-function: ease-in-out;
}

#gnavi > ul .menu_trigger.active:before {
	top: 5vw;
	background-color: #ff8e29;
	/* 線の色 */
	-webkit-transform: translateY(8px) rotate(-45deg);
	    -ms-transform: translateY(8px) rotate(-45deg);
	        transform: translateY(8px) rotate(-45deg);
}

#gnavi > ul .menu_trigger.active .menu_trigger_line {
	color: #ff8e29;
	/* 文字の色 */
	background-color: transparent;
	/* 線の色 無し */
}

#gnavi > ul .menu_trigger.active:after {
	background-color: #ff8e29;
	/* 線の色 */
	-webkit-transform: translateY(-8px) rotate(45deg);
	    -ms-transform: translateY(-8px) rotate(45deg);
	        transform: translateY(-8px) rotate(45deg);
}

#gnavi > ul > li:nth-of-type(2) {
	display: block;
	visibility: hidden;
	/* 変更前 */
	opacity: 0;
	/* 変更前 */
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
	height: 100%;
	/* 変更前 */
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2);
	        box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2);
	/* fade slide */
	-webkit-transform: translateY(60px);
	    -ms-transform: translateY(60px);
	        transform: translateY(60px);
	/* 変更前 */
	-webkit-transition-property: overflow, visibility, height, opacity, -webkit-transform;
	transition-property: overflow, visibility, height, opacity, -webkit-transform;
	-o-transition-property: overflow, visibility, height, opacity, transform;
	transition-property: overflow, visibility, height, opacity, transform;
	transition-property: overflow, visibility, height, opacity, transform, -webkit-transform;
	/* transitionを適用するCSSプロパティ名を指定 */
	-webkit-transition-duration: 0.3s;
	     -o-transition-duration: 0.3s;
	        transition-duration: 0.3s;
	/* 0.3秒かけて */
	-webkit-transition-timing-function: ease-out;
	     -o-transition-timing-function: ease-out;
	        transition-timing-function: ease-out;
	/* 変化の進行割合をイージングで指定 */
	/* gnavi default */
	/* others link default */
}

#gnavi > ul > li:nth-of-type(2) > ul {
	padding: 14vw 0 0 0;
	background: #ffffff;
}

#gnavi > ul > li:nth-of-type(2) > ul > li {
	border-bottom: 1px solid #ffffff;
	text-align: left;
}

#gnavi > ul > li:nth-of-type(2) > ul > li > a {
	display: block;
	padding: 16px 16px 16px 16px;
	color: #ffffff;
	text-decoration: none;
	background: #ff8e29;
	background-size: 12px 24px;
	-webkit-transition-property: background-color;
	-o-transition-property: background-color;
	transition-property: background-color;
	/* transitionを適用するCSSプロパティ名を指定 colorとbackground-colorが変更対象 */
	/* fade */
	-webkit-transition-duration: 0.1s;
	     -o-transition-duration: 0.1s;
	        transition-duration: 0.1s;
	/* 0.1秒かけて */
}

#gnavi > ul > li:nth-of-type(2) > ul > li > a:hover,
#gnavi > ul > li:nth-of-type(2) > ul > li > a:focus {
	background: rgba(255, 255, 255, 0.5) url(../img/ico_arrow01_white.svg) no-repeat right 10px top 50%;
	/* 変更後 */
}

#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(2) > li {
	border-bottom: 1px solid #ffffff;
	text-align: left;
}

#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(2) > li > a {
	padding: 16px 16px 16px 40px;
	background-color: rgba(255, 255, 255, 0.3);
	-webkit-transition-property: background-color;
	-o-transition-property: background-color;
	transition-property: background-color;
	/* transitionを適用するCSSプロパティ名を指定 colorとbackground-colorが変更対象 */
	/* fade */
	-webkit-transition-duration: 0.1s;
	     -o-transition-duration: 0.1s;
	        transition-duration: 0.1s;
	/* 0.1秒かけて */
}

#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(2) > li > a:hover,
#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(2) > li > a:focus {
	background-color: rgba(255, 255, 255, 0.5);
	/* 変更後 */
}

#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(2) > li#mail a {
	background-image: url(../img/ico_free01.png), url(../img/ico_arrow01_white.svg);
	background-repeat: no-repeat;
	background-position: 8px 50%, right 10px top 50%;
	background-size: 28px 28px, 12px 24px;
}

#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(2) > li#line a {
	background-image: url(../img/ico_line01.png), url(../img/ico_arrow01_white.svg);
	background-repeat: no-repeat;
	background-repeat: no-repeat;
	background-position: 8px 50%, right 10px top 50%;
	background-size: 28px 28px, 12px 24px;
}

#gnavi > ul > li.visible:nth-of-type(2) {
	overflow: auto;
	/* 変更後 */
	overflow-y: scroll;
	/* スマホ制御 */
	visibility: visible;
	/* 変更後 */
	opacity: 1;
	/* 変更後 */
	width: 100%;
	height: 100%;
	/* 変更後 */
	background-color: #ff8e29;
	/* fade slide */
	-webkit-transform: translateY(0);
	    -ms-transform: translateY(0);
	        transform: translateY(0);
	/* 変更後 */
	-webkit-transition-property: overflow, visibility, height, opacity, -webkit-transform;
	transition-property: overflow, visibility, height, opacity, -webkit-transform;
	-o-transition-property: overflow, visibility, height, opacity, transform;
	transition-property: overflow, visibility, height, opacity, transform;
	transition-property: overflow, visibility, height, opacity, transform, -webkit-transform;
	/* transitionを適用するCSSプロパティ名を指定 */
	-webkit-transition-duration: 0.3s;
	     -o-transition-duration: 0.3s;
	        transition-duration: 0.3s;
	/* 0.3秒かけて */
	-webkit-transition-timing-function: ease-out;
	     -o-transition-timing-function: ease-out;
	        transition-timing-function: ease-out;
	/* 変化の進行割合をイージングで指定 */
}

/* 480px以上（大きめSP） */
/* 640px以上（ファブレット） */
/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	#gnavi {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		max-width: 876px;
		height: auto;
	}
	#gnavi:hover,
	#gnavi:active,
	#gnavi:focus {
		outline: none;
	}
	#gnavi.on,
	#gnavi.on:hover,
	#gnavi.on:active,
	#gnavi.on:focus {
		outline: none;
	}
	#gnavi > ul {
		width: 100%;
		/* Menu Link Common
		------------------------------------ */
		/* Link common default */
		/* Link common visible */
	}
	#gnavi > ul .menu_trigger {
		display: none;
	}
	#gnavi > ul > li:nth-of-type(2) {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		visibility: visible;
		opacity: 1;
		position: static;
		height: 60px;
		padding: 0 10px 0 6px;
		-webkit-box-shadow: none;
		        box-shadow: none;
		/* fade slide */
		-webkit-transform: none;
		    -ms-transform: none;
		        transform: none;
		/* gnavi default */
		/* gnavi first */
		/* others link default */
	}
	#gnavi > ul > li:nth-of-type(2) > ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row nowrap;
		        flex-flow: row nowrap;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		max-width: 876px;
		padding: 0 0 0 20px;
		background: transparent;
	}
	#gnavi > ul > li:nth-of-type(2) > ul > li {
		display: inline-block;
		margin: 0;
		padding: 0 6px 0 6px;
		border-width: 0;
		white-space: nowrap;
	}
	#gnavi > ul > li:nth-of-type(2) > ul > li > a {
		font-weight: bold;
		display: flex;
		position: relative;
		padding: 0 0 2px 0;
		color: #333333;
		/* 0.1秒かけて */
		font-size: 15px;
		font-size: 1.5rem;
		background: transparent none;
		cursor: pointer;
		-webkit-transition-property: background-color;
		-o-transition-property: background-color;
		transition-property: background-color;
		/* transitionを適用するCSSプロパティ名を指定 colorとbackground-colorが変更対象 */
		/* fade */
		-webkit-transition-duration: 0.1s;
		     -o-transition-duration: 0.1s;
		        transition-duration: 0.1s;
	}
	#gnavi > ul > li:nth-of-type(2) > ul > li > a:hover,
	#gnavi > ul > li:nth-of-type(2) > ul > li > a:focus {
		color: #ff8e29;
		background: transparent none;
	}
	#gnavi > ul > li:nth-of-type(2) > ul > li > a span {
		display: block;
		font-size: 11px;
		font-size: 1.1rem;
	}
	#gnavi > ul > li:nth-of-type(2) > ul > li > a.btn {
		padding: 8px 30px;
		border-radius: 25px;
		color: #ffffff;
		background: #fc353f;
	}
	#gnavi > ul > li:nth-of-type(2) > ul > li > a.btn:hover {
		opacity: 0.8;
	}
	#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(1) {
		-webkit-box-flex: 1;
		    -ms-flex-positive: 1;
		        flex-grow: 1;
	}
	#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(1) > li > a:before {
		display: block;
		position: absolute;
		top: -3px;
		left: 50%;
		width: 0;
		height: 1px;
		content: "";
		background: #ffffff;
		-webkit-transform: translate(-50%, 0);
		    -ms-transform: translate(-50%, 0);
		        transform: translate(-50%, 0);
		-webkit-transition: 0.1s;
		-o-transition: 0.1s;
		transition: 0.1s;
	}
	#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(1) > li > a:after {
		display: block;
		position: absolute;
		bottom: -3px;
		left: 50%;
		width: 0;
		height: 1px;
		content: "";
		background: #ffffff;
		-webkit-transform: translate(-50%, 0);
		    -ms-transform: translate(-50%, 0);
		        transform: translate(-50%, 0);
		-webkit-transition: 0.1s;
		-o-transition: 0.1s;
		transition: 0.1s;
	}
	#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(1) > li > a:hover:before,
	#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(1) > li > a:hover:after {
		width: 100%;
	}
	#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(2) {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row nowrap;
		        flex-flow: row nowrap;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: end;
		    -ms-flex-align: end;
		        align-items: flex-end;
		padding: 0;
	}
	#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(2) > li {
		padding: 0 0 0 12px;
		text-align: left;
	}
	#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(2) > li > a {
		position: relative;
		padding: 8px 24px 8px 40px;
		border-width: 1px 1px 1px 1px;
		border-style: solid;
		border-color: #000000;
		background-color: transparent;
		-webkit-transition-property: background-color;
		-o-transition-property: background-color;
		transition-property: background-color;
		/* transitionを適用するCSSプロパティ名を指定 colorとbackground-colorが変更対象 */
		/* fade */
		-webkit-transition-duration: 0.1s;
		     -o-transition-duration: 0.1s;
		        transition-duration: 0.1s;
		/* 0.1秒かけて */
	}
	#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(2) > li > a:hover,
	#gnavi > ul > li:nth-of-type(2) > ul:nth-of-type(2) > li > a:focus {
		background-color: rgba(255, 255, 255, 0.5);
		/* 変更後 */
	}
	#gnavi > ul > li.visible:nth-of-type(2) {
		height: auto;
		/* fade slide */
		-webkit-transform: none;
		    -ms-transform: none;
		        transform: none;
	}
	#gnavi > ul > li.visible:nth-of-type(2) > ul > li > a {
		color: #333333;
	}
	#gnavi > ul > li:nth-of-type(2) img {
		width: 15%;
		margin-right: 2%;
	}
}

/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* ==========================================================
!Mainimg
========================================================== */
#mainimg .inner{
  padding: unset;
}

#mainimg .img{
	display: block;
	margin: auto;
}

.opg{
	width: 75%; 
}

#mainimg .video-wrap {
	position: relative;
	display: inline-block; 
	position: relative;
  }

#mainimg .video-wrap::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;      
	z-index: 2; 
  }
  
#mainimg .video {
	width: 100%;
	height: auto;
	display: block;
	z-index: 1;
}

#mainimg .overlay-img {
	position: absolute; 
	height: auto;
	z-index: 3;  
	pointer-events: none; 
}
  

@media only screen and (min-width: 768px), print {
	#mainimg .company_list{
		width: 80%; 
		margin-top: 100px;
	}
	#mainimg .video-wrap{
		width: 80%; 
		display: block;
		margin: auto;
	}
	#mainimg .swiper-slide{
		margin-top: 30px;
		width: 300px;
	}
	#mainimg .swiper{
		width: 80%;
	}
	.video-wrap::after {
		border-left: 300px solid transparent; 
		border-bottom: 492px solid #ffb618; 
	}
	#mainimg .overlay-img{
		width: 95%; 
	}
	#mainimg .btn1{
		position: absolute;
		width: 25%;
		transform:translate(400px, -105px);
		z-index: 4;
	}
	
	#mainimg .btn2{
		position: absolute;
		width: 25%;
		transform:translate(625px, -105px);
		z-index: 4;
	}

	#mainimg  .overlay-img {
		top: 30%;     
		left: 3%;     
	}
}

@media (max-width: 768px) {
	#mainimg .opg{
		width: 100%; 
	}
	#mainimg .label2{
		margin-top: 30px;
	}
	#mainimg .btn_group{
		display: block;
		margin: auto;
		width: 90%;
		margin-top: 80px;
		margin-bottom: 40px;
		padding: 20px;
		border-radius: 10px;
		border: 3px solid  #ffb618;
	}
	#mainimg .video-wrap{
		width: 100%; 
		display: block;
		margin: auto;
	}
	#mainimg .swiper-slide{
		width: 180px;
	}
	#mainimg .video-wrap::after {
		border-left: 70px solid transparent; 
		border-top: 120px solid #ffb618; 
		top: 0;
	}
	#mainimg .overlay-img{
		width: 75%; 
		left: 50%;
		transform: translateX(-50%);
	}
	#mainimg .btn1{
		display: block;
		margin: auto;
		margin-top: 20px;
		margin-bottom: 30px;
	}
	#mainimg .btn2,
	#mainimg .btn3{
		display: block;
		margin: auto;
		margin-top: 10px;
	}
}

/* 480px以上（大きめSP） */
/* 640px以上（ファブレット） */
/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	#mainimg {
		padding: 0 0 23% 0;
		background-size: 37% auto,
		37% auto,
		37% auto,
		37% auto,
		20% auto,
		20% auto;
	}
}

/* 960px以上（大きめタブレット 横位置とか） */
@media only screen and (min-width: 960px), print {
	#mainimg {
		padding: 0 0 80px 0;
		background-size: 400px auto,
		400px auto,
		400px auto,
		400px auto,
		380px auto,
		380px auto;
	}
}

@media (max-width: 768px) {
	#mainimg .company_list{
		width: 90%; 
		margin-top: 30px;
	}
}


/* 1024px以上（基本のPC） */
/* 1200px以上（大きめPC） */
/* ==========================================================
!Contents
========================================================== */
#contents {
	margin: 0 auto;
	text-align: center;
}

/* 480px以上（大きめSP） */
/* 640px以上（ファブレット） */
/* 768px以上（タブレット） */
/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* 1200px以上（大きめPC） */
/* ==========================================================
!Section Common
========================================================== */
.outer {
	margin: 0 auto;
	text-align: center;
}

/* Android */
.outer p,
.outer li,
.outer dt,
.outer dd,
.outer figcaption {
	background: url(../img/img_android01.png);
}

.inner {
	padding: 0 3% 0 3%;
	text-align: left;
}

/* 480px以上（大きめSP） */
/* 640px以上（ファブレット） */
/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	.outer {
		max-width: 1090px;
	}
}

/* 960px以上（大きめタブレット 横位置とか） */
@media only screen and (min-width: 960px), print {
	.outer {
		margin: 0 auto;
		text-align: left;
	}
	.inner {
		width: 100%;
		margin: auto;
	}
	
}

/* 1024px以上（基本のPC） */
/* 1200px以上（大きめPC） */
/* ==========================================================
!Pagetop
========================================================== */
.pagetop {
	position: absolute;
	top: -12%;
	left: 0;
	width: 100%;
}

.pagetop p {
	position: relative;
	padding: 5vw 0 0 0;
	color: #ff8e29;
	font-size: 4.0625vw;
	cursor: pointer;
}

.pagetop p:before {
	display: block;
	position: absolute;
	top: 0;
	left: calc(50% - 1.5vw);
	width: 0;
	height: 0;
	border: 1px solid #ff8e29;
	border-width: 0 3vw 3.5vw 3vw;
	border-color: transparent transparent #ff8e29 transparent;
	content: "";
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	.pagetop {
		top: -50px;
	}
	.pagetop p {
		padding: 20px 0 0 0;
		font-size: 13px;
		font-size: 1.3rem;
	}
	.pagetop p:before {
		left: calc(50% - 3.5px);
		border-width: 0 7px 7px 7px;
	}
}

/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* 1200px以上（大きめPC） */
/* ==========================================================
!Footer
========================================================== */
#footer {
	position: relative;
	background: #ff8e29;
}

#footer #ft_contact {
	padding: 5% 0;
}

#footer #ft_contact .company {
	text-align: center;
}

#footer #ft_contact .company img {
	width: 21%;
}

#footer #ft_contact .company p {
	margin: 3% 0 10% 0;
	font-size: 3.75vw;
}

#footer #ft_contact .tel {
	text-align: center;
}

#footer #ft_contact .tel p {
	font-size: 3.75vw;
	letter-spacing: 0;
}

#footer #ft_contact .tel a {
	font-size: 9vw;
	font-weight: bold;
	letter-spacing: 0;
}

#footer #ft_contact .tel a img {
	height: 1em;
	margin: 0 2% 0 0;
	padding: 0 0 0.2em 0;
	vertical-align: middle;
}

#footer #ft_contact .form {
	display: none;
}

#footer #ft_company {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-flow: row nowrap;
	        flex-flow: row nowrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 3% 0;
	background: #ffffff;
}

#footer #ft_company p {
	margin: 0 2%;
}

#footer #ft_copyright {
	padding: 2% 0;
	border-top: 1px solid #ff8e29;
	background: #ffffff;
}

#footer #ft_copyright p {
	font-size: 12px;
	font-size: 1.2rem;
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	#footer #ft_contact {
		padding: 20px 0;
	}
	#footer #ft_contact .inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row nowrap;
		        flex-flow: row nowrap;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
				justify-content: center;
	}
	#footer #ft_contact .inner .company {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-flow: row nowrap;
		        flex-flow: row nowrap;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		width: 45%;
	}
	#footer #ft_contact .inner .company img {
		width: 74px;
		margin: 0 28px 0 0;
	}
	#footer #ft_contact .inner .company p {
		margin: 0;
		font-size: 13px;
		font-size: 1.3rem;
		text-align: left;
	}
	#footer #ft_contact .inner .tel {
		width: 40%;
	}
	#footer #ft_contact .inner .tel p {
		font-size: 13px;
		font-size: 1.3rem;
	}
	#footer #ft_contact .inner .tel a {
		font-size: 40px;
		font-size: 4rem;
	}
	#footer #ft_contact .inner .tel a img {
		height: 1em;
		margin: 0 2% 0 0;
		padding: 0 0 0.2em 0;
		vertical-align: middle;
	}
	#footer #ft_contact .inner .form {
		display: block;
		text-align: center;
	}
	#footer #ft_contact .inner .form p {
		font-size: 13px;
		font-size: 1.3rem;
	}
	#footer #ft_contact .inner .form .btn_contact {
		margin: 12px 0 0 0;
	}
	#footer #ft_contact .inner .form .btn_contact a {
		display: block;
		padding: 12px 32px 10px 32px;
		border-radius: 24px;
		color: #ffffff;
		background: #009e9c;
	}
	#footer #ft_contact .inner .form .btn_contact a p {
		font-size: 13px;
		font-size: 1.3rem;
	}
	#footer #ft_contact .inner .form .btn_contact a:hover {
		opacity: 0.7;
	}
	#footer #ft_company {
		padding: 20px 0;
	}
	#footer #ft_company p {
		margin: 0 5px;
		font-size: 12px;
		font-size: 1.2rem;
	}
	#footer #ft_company p a:hover {
		opacity: 0.7;
	}
	#footer #ft_copyright {
		padding: 8px 0;
	}
}

/* ==========================================================
!H(n)eading
========================================================== */
.h2_basic01 {
	text-align: center;
}

.h2_basic01 h2 {
	color: #f19863;
	font-size: 7.8125vw;
	font-weight: bold;
}

.h2_basic01 span {
	color: #ff8e29;
	font-family: "DIN", "Roboto", sans-serif;
	font-size: 4.6875vw;
	letter-spacing: 1rem;
	line-height: 1;
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	.h2_basic01 {
		text-align: center;
	}
	.h2_basic01 h2 {
		font-size: 40px;
		font-weight: bold;
	}
	.h2_basic01 span {
		font-size: 17px;
		font-size: 1.7rem;
	}
}

/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* 1200px以上（大きめPC） */
/* ==========================================================
!Listing
========================================================== */
/* 480px以上（大きめSP） */
/* 640px以上（ファブレット） */
/* 768px以上（タブレット） */
/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* 1200px以上（大きめPC） */
/* ==========================================================
!Button
========================================================== */
/* Basic White Button */
.btn_basic01 a,
.btn_basic01 div,
.btn_basic01 button {
	display: block;
	position: relative;
	padding: 3% 0 2% 0;
	border-radius: 11vw;
	text-align: center;
	background: #009e9c;
}

.btn_basic01 a span,
.btn_basic01 div span,
.btn_basic01 button span {
	color: #ffffff;
	font-size: 4.375vw;
}

.btn_basic01 a p,
.btn_basic01 div p,
.btn_basic01 button p {
	color: #ffffff;
	font-size: 7.8125vw;
	font-weight: bold;
	letter-spacing: 0.5rem;
}

.btn_basic01 a:after,
.btn_basic01 div:after,
.btn_basic01 button:after {
	display: block;
	position: absolute;
	top: calc(50% - 1.25vw);
	right: 5%;
	width: 0;
	height: 0;
	border: 1px solid #ffffff;
	border-width: 2.5vw 0 2.5vw 3.5vw;
	border-color: transparent transparent transparent #ffffff;
	content: "";
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	.btn_basic01 a,
	.btn_basic01 div,
	.btn_basic01 button {
		max-width: 450px;
		margin: 0 auto;
		padding: 10px 0 16px 0;
		border-radius: 60px;
		line-height: 1;
	}
	.btn_basic01 a span,
	.btn_basic01 div span,
	.btn_basic01 button span {
		font-size: 15px;
		font-size: 1.5rem;
		line-height: 1;
	}
	.btn_basic01 a p,
	.btn_basic01 div p,
	.btn_basic01 button p {
		font-size: 32px;
		font-size: 3.2rem;
		line-height: 1.5;
	}
	.btn_basic01 a:after,
	.btn_basic01 div:after,
	.btn_basic01 button:after {
		top: calc(50% - 3px);
		right: 50px;
		border-width: 6px 0 6px 10px;
		border-color: transparent transparent transparent #ffffff;
	}
	.btn_basic01 a:hover,
	.btn_basic01 div:hover,
	.btn_basic01 button:hover {
		opacity: 0.7;
	}
}

/* ==========================================================
!#movie
========================================================== */
/* ===============================
   動画デザイン
================================ */
#movie .video {
	display: block;
	margin: auto;
	margin-top: 30px;
	width: 100%;
	border-radius: 10px;
}

/* ===============================
   768px以上（タブレット）
================================ */
@media only screen and (min-width: 768px), print {
	/* 動画デザイン */
	#movie .video {
		max-width: 640px;
	}

	/* ラベルデザイン */
	.pc-only > .label_group {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 150px;
		margin-top: 60px;
	}

	/* ボタンデザイン */
	.pc-only > .btn_group {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 50px;
	}

	/* ボタンデザイン */
	#movie .btn_group {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 50px;
		margin-top: 60px;
	}
}

/* ===============================
   768px未満（SP）
================================ */
@media (max-width: 768px) {
	/* 動画デザイン */
	#movie .video {
		max-width: 350px;
		margin-bottom: 50px;
	}

	#movie img {
		display: block;
		margin: auto;
		margin-top: 20px;
	}
	#movie .btn_group{
		display: block;
		margin: auto;
		width: 80%;
	}
}


/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* 1200px以上（大きめPC） */
/* ==========================================================
!CV Area
========================================================== */
/* 480px以上（大きめSP） */
/* 640px以上（ファブレット） */
/* 768px以上（タブレット） */
/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* 1200px以上（大きめPC） */
/* ==========================================================
!#scene
========================================================== */
#scene {
	padding: 15% 0 0 0;
	background: #ffffff;
  }
  
  #scene .ul_scene {
	display: flex;
	flex-flow: row wrap;         /* 横並びで折り返し可 */
	justify-content: center;     /* 中央寄せ */
	align-items: flex-start;     /* 上揃え */
	margin: 12% 0 0 0;
	list-style: none;
	padding: 0;
	gap: 40px;                   /* アイテム同士の間隔 */
  }
  
  #scene .ul_scene li {
	width: 47%;                  /* スマホ想定？2列 */
	margin: 0 0 6% 0;
	text-align: center;          /* テキスト中央寄せ */
  }
  
  #scene .ul_scene li .img {
	position: relative;
	padding-top: 70%;            /* 正円のための比率 */
	border-radius: 50%;
	text-align: center;
	margin-bottom: 10px;         /* アイコンと文字の間隔 */
  }
  
  #scene .ul_scene li .img img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 60%;
	transform: translate(-50%, -50%);
  }
  
  #scene .ul_scene li p {
	margin: 2% 0 0 0;
	font-size: 4.05vw;
	font-weight: bold;
	text-align: center;
  }
  
  #scene .btn_basic01 {
	margin: 5% 0 0 0;
  }
  


/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	#scene {
		padding: 90px 0 0 0;
	}
	#scene .ul_scene {
		margin: 60px 0 80px 0;
	}
	#scene .ul_scene li {
		width: 22%;
		max-width: 240px;
		margin: 0;
	}
	#scene .ul_scene li p {
		font-size: 24px;
		font-size: 2.4rem;
	}
}

/* ==========================================================
!ploblems
========================================================== */
#problems {
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	margin: 50px auto;
	max-width: 900px;
}

#problems h2 {
	color: #ee771d; /* オレンジ */
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 30px;
}

#problems .problem-left ul,
#problems .problem-right ul {
	list-style: none;
	padding: 0;
}

#problems .arrow {
	width: 0;
	height: 0;
	margin: 20px auto;
}

#problems li img {
	flex-shrink: 0;
	margin-right: 8px;
}

#problems .arrow img {
	max-width: 60px;
	margin-top: 10px;
}

/* ===============================
   768px以上（タブレット）
================================ */
@media only screen and (min-width: 768px), print {
	#problems .problem-box {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 30px;
		padding: 20px;
		border: 4px solid #ffb618;
		border-radius: 12px;
	}

	#problems .problem-left,
	#problems .problem-right {
		width: 45%;
		text-align: left;
	}

	#problems .problem-left li,
	#problems .problem-right li {
		position: relative;
		display: flex;
		align-items: center;
		font-size: 16px;
		line-height: 1.6;
		margin: 20px 0 30px;
		padding-left: 28px;
	}

	#problems img {
		max-width: 15%;
	}

	#problems li img {
		width: 24px;
		height: 24px;
	}

	#problems .person1 {
		transform: translate(-360px, 40px);
	}

	#problems .person2 {
		transform: translate(340px, -80px);
	}

	#problems .arrow {
		border-left: 100px solid transparent;
		border-right: 100px solid transparent;
		border-top: 80px solid #ffb84d;
	}
}

/* ===============================
   768px未満（SP）
================================ */
@media (max-width: 768px) {
	#problems .problem-left li,
	#problems .problem-right li {
		display: flex;
		align-items: center;
		text-align: left;
		font-size: 14px;
		line-height: 1.6;
		margin: 20px 0 30px;
	}

	#problems .problem-box {
		width: 90%;
		margin: auto;
		padding: 10px;
		border: 4px solid #ffb618;
		border-radius: 12px;
	}

	#problems li img {
		width: 18px;
		height: 18px;
	}

	#problems .person1 {
		width: 15%;
		transform: translate(30px, 25px);
	}

	#problems .person2 {
		width: 25%;
		transform: translate(250px, -35px);
	}

	#problems .arrow {
		border-left: 70px solid transparent;
		border-right: 70px solid transparent;
		border-top: 30px solid #ffb84d;
	}
}

/* 480px以上（大きめSP） */
/* 640px以上（ファブレット） */
/* 768px以上（タブレット） */


/* 960px以上（大きめタブレット 横位置とか） */
/* ==========================================================
!solution
========================================================== */
#solution {
	background: #ffffff;
	padding-bottom: 100px;
}

#solution .image {
	display: block;
	margin: auto;
}

#solution p.copy {
	color: #ff8e29;
	font-size: 7.8125vw;
	font-weight: bold;
	text-align: center;
}

#solution p.text {
	font-size: 5vw;
	font-weight: 500;
	letter-spacing: 0.6rem;
	text-align: center;
}

#solution ul li {
	margin: 2% 0 0 0;
}

#solution ul li img {
	width: 100%;
}

#solution .btn_basic01 {
	margin: 10% 0 0 0;
}

#solution .card {
	background: #fff;
	border-radius: 12px;
	padding: 16px;
	text-align: center;
}

/* 装飾: ドット付き文字 */
.dot-char {
	position: relative;
	display: inline-block;
}

.dot-char::before {
	content: "●";
	position: absolute;
	top: -0.9em;
	left: 50%;
	transform: translateX(-50%);
	font-size: 0.5em;
	color: #eb461f;
}

/* ===============================
   Responsive
================================ */

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	#solution .grid {
		display: grid;
		grid-template-columns: 1fr 1fr; /* 横2列 */
		gap: 20px;                      /* 余白 */
		max-width: 1050px;
		margin: 0 auto;
		margin-top: 50px;
	}
	#solution .image_label,
	#solution .image  {
		margin-top: 100px;
	}
	
	#solution .card p {
		margin-top: 12px;
		font-size: 22px;
		line-height: 2;
	}

	#solution .card img {
		width: 100%;
		border-radius: 12px;
	}
}

/* 768px未満（SP） */
@media (max-width: 768px) {
	#solution .image_label {
		width: 80%;
	}
	#solution .image {
		width: 40%;
		margin-top: 30px;
	}
	#solution .card p {
		margin-top: 20px;
		font-size: 16px;
		line-height: 2;
	}

	#solution .card img {
		width: 70%;
		border-radius: 12px;
	}
}

/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* 1200px以上（大きめPC） */
/* ==========================================================
!merit
========================================================== */
/* ===============================
   Merit Section
================================ */

/* 共通スタイル */
#merit {
	scroll-margin-top: 100px; 
	padding: 15% 0;
	background: #fff1d9;
}

#merit section {
	position: relative;
	margin: 13% 0 0 0;
	padding: 6%;
	border: 2px solid #ff8e29;
	border-radius: 3vw;
	background: #ffffff;
}

#merit section .h3_basic01 {
	letter-spacing: 0.3rem;
	text-align: center;
}

#merit section .h3_basic01 span {
	color: #ff8e29;
	font-size: 5.625vw;
	font-weight: bold;
}

#merit section .h3_basic01 h3 {
	font-size: 6.25vw;
	font-weight: 500;
}

#merit section .img {
	margin: 3% 0 0 0;
}

#merit section .img img {
	width: 100%;
}

#merit section p {
	margin: 5% 0 0 0;
	font-size: 4.375vw;
}

#merit section:before {
	display: block;
	position: absolute;
	top: -7vw;
	left: calc(50% - 4vw);
	width: 8vw;
	height: 12vw;
	content: "";
}

#merit section:first-of-type:before {
	background: url(../img/ico_merit01.png) no-repeat;
	background-size: contain;
}

#merit section:nth-of-type(2):before {
	background: url(../img/ico_merit02.png) no-repeat;
	background-size: contain;
}

#merit section:nth-of-type(3):before {
	background: url(../img/ico_merit03.png) no-repeat;
	background-size: contain;
}

#merit .btn_basic01 {
	margin: 10% 0 0 0;
}

/* 768px以上（タブレット） */
#merit {
	background: #fcefd8;
	padding: 80px 20px;
}

#merit .outer {
	max-width: 1100px;
	margin: 0 auto;
}

#merit .inner {
	text-align: center;
}

/* 見出しデザイン */
#merit .h2_basic01 {
	position: relative;
	margin-bottom: 50px;
}

#merit .h2_basic01 h2 {
	margin: 0;
	font-size: 50px;
	font-weight: bold;
	line-height: 1.5;
	color: #333;
}

#merit .h2_basic01 span {
	position: absolute;
	top: -20px;
	right: 0;
	font-size: 80px;
	font-weight: bold;
	color: rgba(240,180,94,0.2);
	letter-spacing: 5px;
}

/* 各メリットBOX */
#merit .box_merit {
	display: flex;
	flex-direction: column;
	gap: 100px;
	margin-top: 80px;
}

#merit .section {
	display: flex;
	align-items: center;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 3px 8px rgba(0,0,0,0.08);
	text-align: left;
}

#merit .section img.photo {
	flex-shrink: 0;
	height: auto;
	margin-right: 20px;
	border-radius: 6px;
}

#merit .section-content {
	flex: 1;
	position: relative;
}

#merit .section-content .top {
	display: flex;
	align-items: center;
}

#merit .section-content h3 {
	font-weight: bold;
	color: #e95d2f;
}

#merit .section-content p {
	margin: 18px 0 0 0;
	font-size: 16px;
	line-height: 1.8;
	font-weight: bold;
	color: #444;
}

#merit .section-content .icon {
	display: block;
	font-size: 28px;
	margin-top: 10px;
}

#merit .section-content .number {
	font-weight: bold;
	color: #ffd374;
}

#merit .btn_basic01 a {
	display: inline-block;
	padding: 18px 40px;
	background: #e95d2f;
	color: #fff;
	text-decoration: none;
	border-radius: 50px;
	transition: background 0.3s ease;
}

#merit .btn_basic01 a span {
	display: block;
	font-size: 14px;
	font-weight: normal;
}

#merit .btn_basic01 a p {
	margin: 5px 0 0;
	font-size: 18px;
	font-weight: bold;
}

#merit .btn_basic01 a:hover {
	background: #cc4820;
}

/* ===============================
   Responsive
================================ */
/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	#merit .section {
		padding: 20px;
	}

	#merit .section-content h3 {
		margin: 12px 0 0 0;
		font-size: 24px;
	}

	#merit .section-content .number {
		position: absolute;
		bottom: -5px;
		right: 0;
		font-size: 75px;
	}

	#merit .section-content .top {
		justify-content: space-between;
		gap: 16px;
		border-bottom: 6px solid #e95d2f;
		padding-bottom: 6px;
	}

	/* ボタンデザイン */
	#merit .btn_group {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 50px;
		margin-top: 60px;
	}

	#merit .section-content .number1 {
		top: 230px;
	}

	#merit .section-content .number2 {
		top: 195px;
	}

	#merit .section-content .number3 {
		top: 200px;
	}

	#merit .photo1 {
		transform: translate(-40px, -110px);
	}

	#merit .photo2 {
		transform: translate(-40px, -80px);
	}

	#merit .photo3 {
		transform: translate(-40px, -90px);
	}
}

@media (max-width: 768px) {
	#merit .section {
		flex-direction: column;
		padding: 0 10px;
	}

	#merit .section-content .top {
		justify-content: center;
		gap: 10px;
		border-bottom: 2px solid #e95d2f;
		padding-bottom: 2px;
	}

	#merit .section img.photo {
		width: 80%;
	}

	#merit .section-content h3 {
		font-size: 24px;
	}

	#merit .section-content .number {
		font-size: 54px;
		text-align: right;
		line-height: 1;
	}

	/* ボタンデザイン */
	#merit .btn_group{
		display: block;
		margin: auto;
		width: 80%;
		margin-top: 40px;
	}
	#merit .btn_group img {
		margin-top: 20px;
	}

	#merit .h2_basic01 h2 {
		font-size: 22px;
	}

	#merit .h2_basic01 span {
		font-size: 60px;
		top: -10px;
	}

	#merit .section-content .top h3 {
		font-size: 14px;
		text-align: left;
	}

	#merit .section-content .top img {
		width: 22%;
		transform: translate(0px, 3px);
	}

	#merit .section-content p {
		text-align: left;
		font-size: 12.5px;
		line-height: 2;
	}

	#merit .section img.photo {
		margin-right: unset;
		border-radius: unset;
	}

	#merit .photo1 {
		transform: translate(0px, -50px);
	}

	#merit .photo2 {
		transform: translate(0px, -50px);
	}

	#merit .photo3 {
		transform: translate(0px, -50px);
	}
}



/* ==========================================================
!case
========================================================== */
#case {
	padding: 15% 0;
}

/* 見出し */
#case .h2_basic01 span {
	color: #ffffff;
}

#case section .h3_basic01,
#case section .h3_basic02,
#case section .h3_basic03 {
	background-color: #ffb618;
	display: inline-block;
	line-height: 1;
	text-align: left;
	vertical-align: top;
}

#case section .h3_basic03 h3 {
	color: white;
	font-size: 24px;
	font-size: 2.4rem;
}
#case section .h3_basic03.case02{
	background-color: #ee771d;
}

/* コピー */
#case p.copy {
	margin: 10% 0 0;
	font-size: 5vw;
	letter-spacing: 0.3rem;
	text-align: center;
}

/* section 共通 */
#case section {
	margin: 3% 0 0;
	background: #ffffff;
}

#case section p.number {
	margin: 5% 0;
	text-align: center;
}

/* ボタンデザイン */
#case section .group {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 50px;
}

/* dl_basic */
#case section .dl_basic01,
#case section .dl_basic02 {
	margin-left: 4%;
}

#case section .dl_basic01 dl,
#case section .dl_basic02 dl {
	margin: 5% 0 0;
	flex-flow: row nowrap;
	align-items: baseline;
}

#case section .dl_basic01 dl dt,
#case section .dl_basic02 dl dt {
	font-size: 4.6875vw;
	font-weight: 600;
	color: #ffb618;
}

#case section .dl_basic01 dl dd,
#case section .dl_basic02 dl dd {
	margin: 2% 0 0;
	font-size: 4.375vw;
}
#case section .dl_basic02 {
	background-color: #fff;
	display: flex;
	gap: 20px;
	justify-content: center;
	align-items: center;
}

#case section .dl_basic02 dl dd {
	margin: 0 0 0 0.8em;
}

#case section .dl_basic02 dl dd span {
	color: #ff8e29;
	font-size: 210%;
	font-weight: bold;
}

/* case-text */
#case section .case-text {
	margin-top: 60px;
}

#case section.case01 .text {
	width: 100%;
	border: 2px solid #ff8e29;
}

/* voice */
#case section .voice-text {
	position: relative;
	flex: 4;
	padding: 20px;
	background: #ffebc0;
	border-radius: 20px;
	font-size: 15.5px;
	line-height: 25px;
}
#case section .voice-text  span{
	color: #000000;
	font-weight: bolder;
}
#case section .voice-text.case02{
	background-color: #ffdbc3;
}

#case section .voice-img {
	flex: 1;
}

#case section .voice-img img {
	width: 85%;
	height: auto;
}

/* ボタン */
#case .btn_basic01 {
	margin: 10% 0 0;
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	#case {
		padding: 80px 0;
	}

	#case p.copy {
		margin: 36px 0 0 0;
		font-size: 16px;
		font-size: 1.6rem;
	}

	#case section {
		border-radius: unset;
	}

	#case section p.number {
		display: inline-block;
		margin: 0 15px 0 0;
	}

	#case section .h3_basic01 span,
	#case section .h3_basic02 span,
	#case section .h3_basic03 span {
		font-size: 18px;
		font-size: 1.8rem;
	}

	/* h3_basic03 共通部分 */
	#case section .h3_basic03.case01,
	#case section .h3_basic03.case02,
	#case section .h3_basic03.case03 {
		color: white;
		font-size: 24px;
		font-size: 2.4rem;
	}

	#case section .dl_basic01.case02 {
		margin-top: -80px;
	}

	/* h3_basic03 個別 */
	#case section .h3_basic03.case01 {
		padding: 18px 130px;
	}
	#case section .h3_basic03.case02 {
		padding: 18px 40px;
	}
	#case section .h3_basic03.case03 {
		padding: 18px 140px;
	}

	/* 共通: case-block2 */
	#case .case-block2.case01,
	#case .case-block2.case02,
	#case .case-block2.case03 {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	/* case-block2 個別差分 */
	#case .case-block2.case01,
	#case .case-block2.case02 {
		margin-top: -60px;
	}
	#case .case-block2.case03 {
		margin-top: -50px;
		align-items: flex-end; 
	}

	/* dl_basic */
	#case section .dl_basic01 dl {
		margin: 20px 0 0 0;
		line-height: 30px;
	}
	#case section .dl_basic02 dl {
		margin: -50px 0 0 0;
		line-height: 30px;
	}
	#case section .dl_basic01 dl dt,
	#case section .dl_basic01 dl dd {
		font-size: 18px;
		font-size: 1.8rem;
	}

	/* voice */
	#case section .voice {
		background-color: #ffebc0;
		padding: 20px;
	}
	#case section .voice dt {
		color: #8c826e;
	}
	#case section.voice {
		padding: 40px 40px 30px 40px;
	}
	#case section.voice ul {
		margin: 16px 0 0 0;
	}
	#case section.voice ul li {
		margin: 8px 0 0 0;
		font-size: 16px;
		font-size: 1.6rem;
	}
	#case section.voice:after {
		bottom: -16px;
		left: calc(50% - 8px);
		border-width: 16px 16px 0 16px;
	}
	#case section .voice-box {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: 20px;
		width: 95%;
	}
	#case section .voice-text {
		margin: 0 20px 0 35px;  
	}
	#case section .voice-img img {
		width: 100%;  
		height: auto;
	}
	#case section .voice-text::after {
		content: "";
		position: absolute;
		top: 30%;
		right: -40px;
		transform: translateY(-50%);
		border-width: 10px 0 10px 40px;
		border-style: solid;
		border-color: transparent transparent transparent #ffebc0;
	}

	/* section.case01 */
	#case section.case01 {
		margin: auto;
		margin-top: -70px;
		width: 75%;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	#case section.case01.mt-5 {
		margin-top: 50px;
	}
	
	#case section.case01 .dl_basic02 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-pack: row wrap;
		-ms-flex-pack: row wrap;
		justify-content: row wrap;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	#case section.case01 .dl_basic02 dl {
		margin: 0 10px 0 0;
	}
	#case section.case01 .text {
		padding-bottom: 150px;
	}

	/* ボタン */
	#case .btn_basic01 {
		margin: 80px 0 0 0;
	}
	/* 画像 */
	#case .case-image {
		width: 250px;      /* 画像の幅を固定 */
		flex-shrink: 0;    /* 画像が縮まないようにする */
	}


	/* 下部の画像群 */
	#case .case1-img1 {
		width: 75%;
		transform: translate(30px, 20px);
	}
	#case .case1-img2 {
		width: 22%;
		transform: translate(130px, -155px);
	}
	#case .case1-img3 {
		width: 47%;
		transform: translate(190px, -130px);
	}
	#case .case2-img1 {
		width: 75%;
		transform: translate(40px, 40px);
	}
	#case .case2-img2 {
		width: 45%;
		transform: translate(35px, -120px);
	}
	#case .case2-img3 {
		width: 15%;
		transform: translate(145px, -125px);
	}
	#case .case3-img1 {
		width: 100%;
		transform: translate(-20px, 20px);
	}
	#case .case3-img2 {
		width: 20%;
		transform: translate(130px, -160px);
	}
	#case .case3-img3 {
		width: 50%;
		transform: translate(200px, -135px);
	}
}


/* sp */
@media screen and (max-width: 768px) {

  /* case01 セクション調整 */
  #case section.case01.mt-12 {
    margin-top: -120px;
  }

  #case .case-block {
    display: block;
  }

  /* 画像 */
  #case section .img1,
  #case section .img2 {
    width: 20%;
    height: auto;
  }

  #case section .img1 {
    transform: translate(270px, -40px);
  }

  #case section .img2 {
    width: 25%;
    transform: translate(255px, -30px);
  }

  /* dl */
  #case section .dl_basic01 {
    width: 90%;
    margin: auto;
    margin-bottom: 4%;
  }

  #case section .dl_basic01.case02 {
	margin-top: -40px;
}

#case section .h3_basic03{
	width: 90%;
	display: block;
	margin: auto;
}
#case section .h3_basic03 h3{
font-size: 1.8rem;
}
  /* 見出し h3 */
  #case section .h3_basic03.case01 h3 {
    padding: 18px 63px;
  }

  #case section .h3_basic03.case02 h3 {
    font-size: 22px;
    line-height: 30px;
    padding: 18px;
    text-align: center;
  }

  #case section .h3_basic03.case03 h3 {
    padding: 18px 73.7px;
  }


  /* 画像グループ */
  #case section .img_group {
    display: flex;
    justify-content: center;
    gap: 10px;
    height: 150px;
    align-items: flex-start;
  }

  /* voiceテキスト */
  #case section .voice-text {
    padding-bottom: 40px;
    margin: auto;
    width: 95%;
  }

  #case section.case01 .text {
    padding-bottom: 50px;
  }

  #case section .case-text.case01,
  #case section .case-text.case03 {
	margin-top: 30px;
}


  #case section .voice-text2 {
    position: relative;
    flex: 4;
    padding: 20px 20px 50px;
    background: #ffebc0;
    border-radius: 20px;
    font-size: 15.5px;
  }
	/* ボタンデザイン */
	/* ボタンデザイン */
	#case .btn_group{
		display: block;
		margin: auto;
		width: 70%;
		margin-top: -20px;
		}
		  
	/* ボタンデザイン */
	#case #pre_btn {
		margin-top: 20px;
	  }

  /* case1 の画像群 */
	#case .case1-img1 {
		display: block;
		margin: 30px auto;
		width: 40%;
	}

  #case .case1-img2 {
    position: relative;
    z-index: 100;
    width: 45%;
    transform: translate(10px, -20px);
  }

  #case .case1-img3 {
    width: 85%;
    transform: translate(40px, -175px);
  }

  /* case2 の画像群 */
  #case .case2-img1 {
    display: block;
    margin: 30px auto;
    width: 40%;
  }

  #case .case2-img2 {
    width: 85%;
    transform: translate(35px, -75px);
  }

  #case .case2-img3 {
    width: 24%;
    transform: translate(-28px, -35px);
  }

  /* case3 の画像群 */
  #case .case3-img1 {
    display: block;
    margin: 20px auto;
    width: 80%;
  }

  #case .case3-img2 {
    z-index: 100;
    width: 28%;
    transform: translate(40px, -30px);
  }

  #case .case3-img3 {
    width: 85%;
    transform: translate(-40px, -85px);
  }
}

/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* 1200px以上（大きめPC） */
/* ==========================================================
!flow
========================================================== */
/* ==============================
   FLOW セクション（共通）
   ============================== */
   #flow {
	padding: 15% 0;
	background-image: url('../img/flow_bg.png');
  }
  
  #flow .box_flow01 {
	display: flex;
	flex-flow: row wrap;
	align-items: stretch;
	margin: 0 0 2%;
  }
  
  #flow .box_flow01 div {
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 8vw;
	background: #ffb618;
  }
  
  #flow .box_flow01 div > p {
	color: #fff;
	font-family: "Roboto";
	font-size: 5.625vw;
	transform: rotate(-90deg);
  }
  
  #flow .box_flow01 div::before,
  #flow .box_flow01 div::after {
	position: absolute;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	content: "";
  }
  
  #flow .box_flow01 div::before {
	top: 0;
	border-width: 4vw 4vw 0 4vw;
	border-color: #fff transparent transparent transparent;
  }
  
  #flow .box_flow01 div::after {
	bottom: -4vw;
	z-index: 2;
	border-width: 4vw 4vw 0 4vw;
	border-color: #ffb618 transparent transparent transparent;
  }
  
  #flow .box_flow01 dl {
	background: #fff;
	width: 76vw;
	padding: 5% 0;
	border: 2px solid #ffb618;
  }
  
  #flow .box_flow01 dl dt {
	padding: 0% 2%;
	color: #ffb618;
	font-size: 6.25vw;
	font-weight: bold;
  }
  
  #flow .box_flow01 dl dd {
	margin-top: 5%;
	padding: 0% 2%;
	font-size: 4.375vw;
	font-weight: bold;
  }
  
  #flow .btn_basic01 {
	margin-top: 10%;
  }
  
  /* ==============================
	 スマホ（〜768px）
	 ============================== */
  @media screen and (max-width: 768px) {
	#flow {
	  padding: 15% 0;
	  background-image: url('../img/flow_sp_bg.png');
	}
  
	#flow .box_flow01 {
	  margin-top: 30px;
	}
  
	#flow .box_flow01 dl {
	  width: 86vw;
	}
  
	#flow .box_flow01 div > p {
	  margin-top: 25px;
	  font-size: 15px;
	  transform: none;
	}
  
	#flow .box_flow01 div::before {
	  border: none;
	}
  }
  
  /* ==============================
	 タブレット以上（768px〜）
	 ============================== */
  @media only screen and (min-width: 768px), print {
	#flow {
	  padding: 80px 0;
	}
  
	#flow .box_flow01 {
	  margin: 50px 0 10px 50px;
	}
  
	#flow .box_flow01 div {
	  width: 40px;
	}
  
	#flow .box_flow01 div p {
	  margin-top: 30px;
	  font-size: 2.2rem;
	  letter-spacing: 0;
	  transform: rotate(0);
	}
  
	#flow .box_flow01 div::before,
	#flow .box_flow01 div::after {
	  content: '';
	  display: block;
	  border-left: 20px solid transparent;
	  border-right: 20px solid transparent;
	  border-top: 25px solid #ffb618; /* 下三角形 */
	  border-bottom: 0;
	}
  
	#flow .box_flow01 div::after {
	  bottom: -25px;
	}
  
	#flow .box_flow01 dl {
	  width: calc(100% - 90px);
	  padding: 32px 0 32px 10px;
	}
  
	#flow .box_flow01 dl dt {
	  font-size: 2.4rem;
	}
  
	#flow .box_flow01 dl dd {
	  margin-top: 10px;
	  font-size: 1.6rem;
	}
  
	#flow .box_flow01:nth-of-type(2) div::before {
	  content: none;
	  border: none;
	}
  
	#flow .btn_basic01 {
	  margin-top: 80px;
	}
  }
  
/* ==========================================================
!faq
========================================================== */
/* ==============================
   FAQ セクション（共通）
   ============================== */
   #faq {
	padding: 15% 0 20%;
	background: #fff1d9;
  }
  
  #faq .dl_faq {
	width: 80%;
	margin: auto;
  }
  
  #faq .dl_faq dl {
	margin-top: 30px;
  }
  
  #faq .dl_faq dt {
	margin: 3% 0 0;
	padding: 2%;
	color: #fff;
	background: #ff8e29;
  }
  
  #faq .dl_faq dd > p {
	position: relative;
	margin: 2% 0 0;
	padding: 2% 8% 2% 2%;
	color: #fff;
	background: #ffb618;
  }
  
  /* 開閉用アイコン（＋） */
  #faq .dl_faq dd > p::after,
  #faq .dl_faq dd > p::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 5%;
	background: #fff;
	transform: translateY(-50%);
  }
  
  /* 横線 */
  #faq .dl_faq dd > p::after {
	width: 16px; 
	height: 2px; 
  }
  
  /* 縦線 */
  #faq .dl_faq dd > p::before {
	width: 2px;
	height: 16px;
	right: calc(2% + 7px);
  }
  
  #faq .dl_faq dd > div {
	display: none;
	padding: 4%;
	background: #fff;
  }
  
  #faq .btn_basic01 {
	margin-top: 10%;
  }
  
  /* ==============================
	 タブレット以上（768px〜）
	 ============================== */
  @media only screen and (min-width: 768px), print {
	#faq {
	  padding: 80px 0 150px;
	}
  
	#faq .dl_faq {
	  font-size: 1.6rem; /* 16px 相当 */
	}
  
	#faq .dl_faq dt {
	  margin-top: 25px;
	  padding: 4px 15px;
	}
  
	#faq .dl_faq dd > p {
	  margin-top: 2px;
	  padding: 12px 15px;
	}
  
	#faq .dl_faq dd > p::after {
	  right: 2%;
	}
  
	#faq .dl_faq dd > div {
	  padding: 16px 24px;
	}
  }
  
  /* ==============================
	 スマホ（〜768px）
	 ============================== */
  @media screen and (max-width: 768px) {
	#faq .dl_faq {
	  width: 100%;
	}
  
	#faq .dl_faq dd > p {
	  font-size: 18px;
	}
  
	#faq .dl_faq dd > p::after {
	  right: 2%;
	}
  }
  
  /* ==========================================================
!contact
========================================================== */
#contact {
	padding: 15% 0 20% 0;
	background: #fff;
}
#contact .form__description {
	font-size: 1.8rem;
	margin-top: 36px;
	margin-bottom: 47px;
	text-align: center;
}
#contact .form__confirm-head {
	display: none;
}
#contact h2{
  color: #000000;
}
.form__bg {
    padding: 33px 120px;
    background: #FCF7F1;
}
.form__bg .input {
	background: #FFFFFF;
    background-image: -webkit-linear-gradient(left, #FFFFFF, #FFFFFF);
    background-image: -o-linear-gradient(left, #FFFFFF, #FFFFFF);
    background-image: -webkit-gradient(linear, left top, right top, from(#FFFFFF), to(#FFFFFF));
    background-image: linear-gradient(to right, #FFFFFF, #FFFFFF);
    border: 1px solid #554E4E;
    padding: 0 10px;
    border-radius: 4px;
    -webkit-box-shadow: none inset;
    box-shadow: none inset;
    outline: none;
    font-size: 1.8rem;
    color: #554E4E;
    width: 100% !important;
    height: 50px;
    letter-spacing: 0.08em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 433px;
}
.form__bg .input--textarea {
	width: 100%;
    height: 236px;
    padding: 15px 10px;
}
 .form__bg select {
	background: #FFFFFF;
    background-image: -webkit-linear-gradient(left, #FFFFFF, #FFFFFF);
    background-image: -o-linear-gradient(left, #FFFFFF, #FFFFFF);
    background-image: -webkit-gradient(linear, left top, right top, from(#FFFFFF), to(#FFFFFF));
    background-image: linear-gradient(to right, #FFFFFF, #FFFFFF);
    border: 1px solid #D8D8D8;
    padding: 0 10px;
    border-radius: 4px;
    -webkit-box-shadow: none inset;
    box-shadow: none inset;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    font-size: 1.5rem;
    font-weight: 500;
    color: #554E4E;
    width: 100%;
    height: 50px;
    letter-spacing: 0.08em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #554E4E;
    padding-left: 27px;
    letter-spacing: .1em;
    background: url(../img/icon_arrow_select.svg) no-repeat right 18px top 52% #E3DED8;
    width: 433px;
}
.form__row {
	padding: 18px 0;
}
.form__head {
	margin-bottom: 9px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.form__head__main{
	display: block;
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: 600;
}
.form__head__must {
	color: #E07779;
    border: 1px solid #E07779;
    border-radius: 3px;
    font-size: 1.4rem;
    padding: 1px 5px;
    width: 50px;
    height: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 600;
    margin-left: 8px
}
.form__main input {
	background: #FFFFFF;
    background-image: -webkit-linear-gradient(left, #FFFFFF, #FFFFFF);
    background-image: -o-linear-gradient(left, #FFFFFF, #FFFFFF);
    background-image: -webkit-gradient(linear, left top, right top, from(#FFFFFF), to(#FFFFFF));
    background-image: linear-gradient(to right, #FFFFFF, #FFFFFF);
    border: 1px solid #554E4E;
    padding: 0 10px;
    border-radius: 4px;
    -webkit-box-shadow: none inset;
    box-shadow: none inset;
    outline: none;
    font-size: 1.8rem;
    color: #554E4E;
    width: 100%;
    height: 50px;
    letter-spacing: 0.08em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 433px;
}
.form__recaptcha__text {
    margin-bottom: 30px;
    font-weight: 600;
    font-size: 1.8rem;
	text-align: center;
}
.form .error {
	display: none;
	font-size: 1.4rem !important;
    font-weight: 600;
    margin-top: 10px;
    color: #E07779 !important;
}
.form .is-error .error {
	display: block;
}
.is-error .form__head__main {
    color: #E07779 !important;
}
.is-error .input {
    border-color: #E07779;
    background: #FAE8E4;
}
.is-error select {
    border-color: #E07779;
    background: url(../img/icon_arrow_select.svg) no-repeat right 18px top 52% #E8BDBB;
}
.input-btn input {
    color: #ffffff;
	background: transparent;
	font-weight: 600;
	font-size: 2.8rem;

}
.input-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #ffffff;
	max-width: 100%;
    width: 602px;
    height: 80px;
    line-height: 1.5;
    background: #1F79CC;
    border-radius: 7px;
    position: relative;
    padding: 19px;
    margin: 0 auto;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.input-btn::before {
    content: '';
    position: absolute;
    top: 48%;
    right: 34px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    -webkit-transform: rotate(45deg) translateY(-50%);
    -ms-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    width: 10px;
    height: 10px;
    z-index: 2;
    pointer-events: none;
}
.input-btn::after {
    content: '';
    border: 1px solid #ffffff;
    width: calc(100% - 17px);
    height: calc(100% - 17px);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border-radius: 5px;
}
/* input {
	width: 100%;
    height: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background-image: -webkit-linear-gradient(left, #FFFFFF, #FFFFFF);
    background-image: -o-linear-gradient(left, #FFFFFF, #FFFFFF);
    background-image: -webkit-gradient(linear, left top, right top, from(#FFFFFF), to(#FFFFFF));
    background-image: linear-gradient(to right, #FFFFFF, #FFFFFF);
    background: transparent;
    font-size: 2.8rem;
    font-weight: 600;
    border: none;
    color: #FFFFFF;
    cursor: pointer;
	position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
} */
.form__finish {
	display: none;
	font-size: 1.8rem;
    line-height: 1.8;
    margin-top: 47px;
    margin-bottom: 47px;
}
.form__finish p {
	font-size: 1.8rem;
	text-align: center;
}
.form__finish a {
	text-decoration: underline;
	color: blue;
}

/* 767px以下（スマホ） */
@media screen and (max-width: 767px) {
	#contact .inner {
		padding: 0;
	}
	#contact p{
		font-size: 11.5px;
		line-height: 20px;
	}
	.form__bg {
        padding: 32px 5px;
    }
	.form__bg .form__inner {
		width: calc(100% - 30px);
		margin: 0 auto;
	}
	.form__row {
        padding: 21px 0;
    }
    .form .input {
        width: 100%;
        height: 48px;
    }
	.form__bg select {
        width: 100%;
        height: 48px;
        padding-left: 20px;
		font-size: 20px;
    }
	.form__bg .input--textarea {
        height: 236px;
        padding: 20px 10px;
    }
	.input-btn input {
        font-size: 1.7rem;
		width: calc(100% - 30px);
		margin: 0 auto;
        padding: 9px;
        height: 82px;
    }

}
.mw_wp_form_complete p {
	font-size: 1.8rem;
	text-align: center;
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px), print {
	#contact {
		margin: 80px 0 0 0;
		padding: 80px 0 150px 0;
	}
}

/*# sourceMappingURL=../../../map/cmn_layout.css.map */
