/* ======================================
   common
====================================== */


@import url("https://fonts.googleapis.com/css2?family=Jost:wght@400&display=swap");

.__pc {
	display : block;
}
.__sp {
	display : none;
}
body {
	font-family : "Helvetica Neue", "Helvetica", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
}
#pageHeader > .inner {
	max-width : 1200px;
	margin : 0 auto;
	padding : 0 24px;
}
#pageBody > section > .inner {
	max-width : 1200px;
	margin : 0 auto;
	padding : 0 24px;
}
#pageFooter > .inner {
	max-width : 1200px;
	margin : 0 auto;
	padding : 0 24px;
}
#pageBody h2 {
	font-size : 1.575em;
	margin-bottom : 60px;
	text-align : center;
}
#pageBody h3 {
	font-size : 1.275em;
	font-weight : bold;
}
/* contactbtn */
#contactbtn a {
	display : flex;
	z-index : 1;
	position : fixed;
	right : 0;
	bottom : 50%;
	overflow : hidden;
	font-size : 0.825em;
	justify-content : center;
	align-items : center;
	width : 70px;
	height : 220px;
	text-decoration : none;
	color : #ffffff;
	border-top-left-radius : 8px;
	border-bottom-left-radius : 8px;
	background-color : rgb(41, 137, 191);
	-ms-writing-mode : tb-rl;
	writing-mode : vertical-rl;
}
#contactbtn a:hover {
	opacity : 0.7;
	filter : alpha(opacity=70);
	-moz-opacity : 0.7;
}
.dli-mail {
	display : inline-block;
	position : relative;
	overflow : hidden;
	line-height : 1;
	box-sizing : content-box;
	width : 1.06667em;
	height : 0.8em;
	margin-bottom : 10px;
	color : #ffffff;
	border : 0.1em solid currentColor;
	border-radius : 0.1em;
	vertical-align : middle;
}
.dli-mail::before {
	position : absolute;
	top : 0;
	left : 50%;
	box-sizing : content-box;
	width : 0.75425em;
	height : 0.75425em;
	content : "";
	transform : translate(-50%, -50%) rotate(-45deg) skew(10deg, 10deg);
	border : 0.1em solid currentColor;
	border-top-color : transparent;
	border-right-color : transparent;
	border-radius : 0 0 0 0.1em;
}
.linkbtn {
	display : flex;
	position : relative;
	align-items : center;
	width : 65%;
	max-width : 28em;
	margin : 0 auto;
	padding : 1.275em 2.5em 1.275em 1.275em;
	transition : all 0.2s ease-out;
	text-decoration : none;
	color : #ffffff;
	background-color : rgb(41, 137, 191);
}
.linkbtn::after {
	position : absolute;
	top : 50%;
	right : 1em;
	font-family : "Material Icons";
	content : "\e5e1";
	transition : all 0.2s ease-out;
	transform : translateY(-50%);
}
.linkbtn:hover {
	background-color : #326077;
}
.linkbtn:hover::after {
	right : 0.725em;
}

/* =================================== */

#pageHeader {
	width : 100%;
	padding : 100px 0;
}
#pageHeader > .inner {
	height : 100px;
}
#pageHeader .logo {
	width : 100%;
	text-decoration : none;
	text-align: center;
}
#pageHeader .logo img {
	text-align: center;
	width : 350px;
}

#top h2 {
	font-weight : 600;
	margin : 30px 0;
}
#top p {
	margin : 0 0 15px 0;
}

#outline {
	padding : 100px 0 0;
}
#outline h3 {
	padding : 1em 2em;
	color : #ffffff;
	background-color : rgb(41, 137, 191);
}
#outline dl {
	border-top : 1px solid rgb(41, 137, 191);
}
#outline dl dt {
	font-size : 1em;
	padding : 1.5em 2em;
	border-right : 1px solid rgb(41, 137, 191);
	border-bottom : 1px dashed rgb(41, 137, 191);
	border-left : 1px solid rgb(41, 137, 191);
	background-color : #f3f3f3;
}
#outline dl dd {
	border-right : 1px solid rgb(41, 137, 191);
	border-bottom : 1px dashed rgb(41, 137, 191);
	border-left : 1px solid rgb(41, 137, 191);
}
#outline dl dd:last-of-type {
	border-bottom : 1px solid rgb(41, 137, 191);
}
#outline dl dd ul > li {
	display : grid;
	grid-template-columns : 7em 1fr;
	font-size : 0.825em;
	padding : 1.5em 2em;
}
#outline dl dd ul > li:not(:last-child) {
	border-bottom : 1px dashed #777777;
}
#outline dl dd ul > li p {
	line-height : 2;
}
#outline em {
	font-size : 0.875em;
	font-weight : normal;
	font-style : normal;
}

#application {
	margin : 0;
	padding : 100px 0 0 0;
}
#application h3 {
	position : relative;
	margin-bottom : 40px;
	padding-bottom : 0.5em;
	text-align : center;
}
#application h3::after {
	display : block;
	position : absolute;
	bottom : -2px;
	left : 50%;
	width : 30px;
	min-width : 2em;
	height : 4px;
	content : "";
	transform : translateX(-50%);
	background-color : rgb(41, 137, 191);
}
#application .inner {
	padding-bottom : 100px;
	text-align : center;
}
#application .inner > p {
	font-size : 0.825em;
	margin-bottom : 60px;
}
#application iframe {
	display : block;
}
main.confirm .nodisp {
	display : none;
}
#contactform {
	padding : 100px 0;
}
#contactform h3 {
	position : relative;
	margin-bottom : 40px;
	padding-bottom : 0.5em;
	text-align : center;
}
#contactform h3::after {
	display : block;
	position : absolute;
	bottom : -2px;
	left : 50%;
	width : 30px;
	min-width : 2em;
	height : 4px;
	content : "";
	transform : translateX(-50%);
	background-color : rgb(41, 137, 191);
}
#contactform .tel {
	margin-bottom : 40px;
	padding : 80px 0;
	text-align : center;
	background-color : #f3f3f3;
}
#contactform .tel strong {
	display : inline-flex;
	align-items : center;
	margin-left : 20px;
}
#contactform .tel strong a {
	font-size : 1.275em;
	margin-left : 5px;
	text-decoration : none;
}
#contactform table {
	font-size : 0.825em;
	width : 100%;
	max-width : 100%;
	margin : 0 auto;
	margin-bottom : 40px;
	border-top : 1px solid #111111;
}
#contactform caption {
	font-size : 1.275em;
	font-weight : bold;
	width : 100%;
	margin : 0;
	padding : 1.3em 0;
	text-align : center;
	border-top : 1px solid #111111;
}
#contactform th {
	width : 18em;
	margin : 0;
	padding : 1em 0.5em;
	text-align : left;
	border-bottom : 1px solid #777777;
	vertical-align : middle;
}
#contactform th .en {
	display : block;
	font-size : 0.6em;
	margin-top : 10px;
	letter-spacing : 0.05em;
	color : rgb(41, 137, 191);
}
#contactform th .required {
	font-size : 0.7em;
	font-weight : normal;
	line-height : 0;
	margin-left : 0.8em;
	padding : 0.25em 0.5em;
	color : #ffffff;
	background-color : rgb(41, 137, 191);
}
#contactform td {
	margin : 0;
	padding : 1em 0.5em;
	border-bottom : 1px solid #777777;
	vertical-align : middle;
}
#contactform td > p:not(:last-child) {
	margin-bottom : 0.5em;
}
#contactform input[type="text"] {
	width : 23em;
}
#contactform .message textarea {
	width : 100%;
	height : 12em;
	font-family : "Helvetica Neue", "Helvetica", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
}
#contactform .message p {
	font-size : 0.975em;
	margin-top : 10px;
	padding : 13px;
	background-color : #f3f3f3;
}
#contactform button {
	cursor : pointer;
}
#contactform .button {
	text-align : center;
}
#contactform .button > * {
	display : inline-block;
	margin-bottom : 5px;
	cursor : pointer;
}
#contactform .button > div.g-recaptcha {
	display : block;
	margin-bottom : 40px;
}
#contactform .button > *:not(:last-child) {
	margin-right : 32px;
}
#contactform .button input[type="submit"] {
	display : inline-block;
	padding : 1em;
	border : none;
}
#contactform .button input[type="submit"]:hover {
	background-color : #62bdec;
}
#contactform .button input[disabled="disabled"],
#contactform .button input[disabled="disabled"]:hover {
	cursor : unset;
	background-color : #eeeeee;
}
#contactform .error {
	margin-top : 8px;
}
#recaptureError {
	margin : 0 0 40px;
	padding : 1em;
	color : #e55454;
	background-color : #f7ded8;
}
.mw_wp_form form .g-recaptcha {
	display : flex;
	justify-content : center;
	margin-bottom : 30px;
}
#error header {
	margin-bottom : 40px;
}
#error .errlist {
	margin-bottom : 40px;
	padding : 40px;
	color : #e55454;
	border : 1px solid #e55454;
}
#error .errlist > li:not(:last-child) {
	margin-bottom : 1em;
}
#complete {
	text-align : center;
}
#complete > *:not(:last-child) {
	margin-bottom : 24px;
}
#complete .link {
	display : flex;
	justify-content : center;
}
#complete .link .linkBtn {
	width : 20em;
}
#pageFooter {
	background-color : #f3f3f3;
}
#pageFooter .column {
	display : grid;
	grid-template-columns : 1fr 1fr;
	grid-gap : 24px;
	padding : 40px 0;
}
#pageFooter .column .left {
	display : flex;
	justify-content : flex-start;
	align-items : center;
}
#pageFooter .column .right {
	display : flex;
	font-size : 0.875em;
	justify-content : flex-end;
	align-items : center;
}
#pageFooter .logo {
	font-size : 1.5em;
}
#pageFooter .logo span {
	display : block;
	font-size : 0.5em;
}
#copyright {
	font-size : 0.5em;
	padding : 40px 0;
	text-align : center;
	color : #ffffff;
	background-color : rgb(41, 137, 191);
}
#errMessage {
	margin-bottom : 60px;
	padding : 60px;
	border : 4px solid #eeeeee;
}
#errMessage > p:not(:last-child) {
	margin-bottom : 1em;
}
body.confirm .button form {
	display : flex;
}
body.confirm .button form .linkBtn {
	width : auto;
	min-width: 300px;
}
body.confirm .button form .linkBtn.back {
	background-color : #999999;
	min-width: 300px;
}
body.confirm .button form .linkBtn.back:hover {
	background-color : #aaaaaa;
}
body.complete #contactform .content {
	margin-bottom : 60px;
}
body.complete #contactform .content > p:not(:last-child) {
	margin-bottom : 1em;
}

@media screen and (max-width: 767px) {
	.__pc {
		display : none;
	}
	.__sp {
		display : block;
	}
	a[href^="tel:"] {
		pointer-events : auto;
	}
	#pageBody h2 {
		font-size : 1.275em;
	}
	/* contactbtn */
	#contactbtn a {
	right : 0;
	bottom : 0;
	width : 100%;
	height : 65px;
	opacity : 0.9;
	border-top-left-radius : 0;
	border-bottom-left-radius : 0;
	background-color : rgba(33,116,163,1.00);
	;
	filter : alpha(opacity=90);
	-moz-opacity : 0.9;
	-webkit-writing-mode : horizontal-tb;
	-ms-writing-mode : lr-tb;
	writing-mode : horizontal-tb;
	}
	.dli-mail {
		margin-right : 10px;
		margin-bottom : 0;
	}
	#menu ul {
		grid-template-columns : 1fr 1fr;
		grid-gap : 5px;
		font-size : 0.8em;
		margin-bottom : 40px;
	}
	#pageHeader > .inner {
		justify-content : flex-start;
		height : 40px;
		padding-left : 20px;
	}
	#pageHeader .logo img {
		max-width : 80%;
	}
	#top h2 {
		text-align : left;
	}
	#top p {
		margin : 0 0 15px 0;
	}
	#top .gallery {
		grid-template-columns : 1fr;
		grid-gap : 15px;
		margin-bottom : 20px;
	}
	#top .gallery > li:last-child {
		display : none;
	}
	#outline {
		padding : 60px 0 40px 0;
	}
	#outline h3 {
		padding : 1.257em;
	}
	#outline dl dt {
		font-size : 1em;
		font-size : 1.275em;
		padding : 1.275em;
	}
	#outline dl dd ul > li {
		grid-template-columns : 1fr;
		font-size : 1em;
		padding : 1em 1.275em;
	}
	#outline dl dd ul > li p:first-child {
		margin-bottom : 0.8em;
	}
	#outline dl dd ul > li span {
		padding-bottom : 0.6em;
		border-bottom : 1px dashed rgb(41, 137, 191);
	}
	#customers {
		width : 100%;
		margin : 0;
		padding : 60px 0;
	}
	#customers dl {
		grid-template-columns : 1fr;
		grid-gap : 0;
		position : relative;
		font-size : 1em;
		margin-bottom : 20px;
		padding : 30px;
	}
	#customers dl dt h4 {
		display : block;
		font-size : 1.2em;
		margin-bottom : 15px;
	}
	#customers dl dt span {
		position : absolute;
		top : -10px;
		right : 20px;;
	}
	#customers dl dt img {
		max-width : 60px;
	}
	#customers dl dd {
		line-height : 2em;
	}
	#case {
		width : 100%;
		margin : 0;
		padding : 60px 0;
	}
	#case .text {
		display : grid;
		grid-template-columns : 1fr;
		grid-gap : 15px;
		font-size : 1em;
	}
	#case .text p {
		padding-bottom : 0.6em;
		border-bottom : 1px dashed rgb(41, 137, 191);
	}
	#case .text span {
		margin-right : 10px;
	}
	#prize {
		width : 100%;
		margin : 0;
		padding : 60px 0;
	}
	#prize .inner {
		grid-template-columns : 1fr ;
		grid-gap : 10px;
	}
	#prize .inner > div:first-of-type {
		width : 100%;
	}
	#prize .inner > .text {
		margin : 0 0 20px;
	}
	#prize .inner > .text p {
		font-size : 1em;
		line-height : 1.5em;
		margin-top : 10px;
	}
	#prize .inner > .img {
		width : 100%;
	}
	#prize .inner > .img img {
		width : 100%;
	}
	#application {
		padding : 60px 0 60px 0;
	}
	#contactform {
		padding : 0 0 40px;
	}
	#contactform .tel {
		padding : 30px 0;
	}
	#contactform .tel strong {
		font-size : 1.1em;
		margin-top : 10px;
		margin-left : 0;
	}
	#contactform .tel strong a {
		font-size : 1.475em;
	}
	#contactform table,
	#contactform caption,
	#contactform tbody,
	#contactform tr,
	#contactform th,
	#contactform td {
		display : block;
		font-size : 1em;
		width : 100%;
	}
	#contactform caption {
		border-top : 0;
		border-bottom : 1px solid #111111;
	}
	#contactform th {
		width : 100%;
		background-color : #f6f9fb;
	}
	#contactform form {
		display : flex;
		flex-direction : column;
		align-content : center;
	}
	#contactform .tel input {
		width : 6em;
	}
	#contactform td.check {
		display : block;
	}
	#contactform .button > * {
		display : block;
		margin : 0 auto 10px;
		width : 100%;
	}
	#contactform .button .linkBtn {
		width : 70%;
	}
	#errMessage {
		margin-bottom : 30px;
		padding : 30px;
	}
	#errMessage > p {
		margin-bottom : 20px;
	}
	#errMessage > p:not(:last-child) {
		margin-bottom : 1em;
	}
	#contactform .button > :not(:last-child) {
		margin-right : 8px;
	}
	#pageFooter .column {
		grid-template-columns : 1fr;
	}
	#pageFooter .logo {
		font-size : 1.4em;
	}
	#pageFooter .column .right {
		justify-content : flex-start;
	}
	#copyright {
		font-size : 0.5em;
		padding : 40px 0 90px;
	}
	body.confirm form .button {
		font-size : 0.875em;
	}
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) and (max-width: 1254px) {
}
@media screen and (min-width: 1255px) and (max-width: 1439px) {
}
@media screen and (min-width: 1440px) and (max-width: 1919px) {
}
@media screen and (min-width: 1920px) {
}
