@charset "utf-8";


/* --------------------------------------------------
	Resetting default margin and padding
-------------------------------------------------- */

/* !HTML5 elements
---------------------------------------------------------- */
header, footer, nav, section, aside, article
{ display: block;}

/* !Reseting
---------------------------------------------------------- */
body {
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	color: #323232;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 400;
	-webkit-text-size-adjust: none;
	font-feature-settings: "palt";
}
@media (max-width: 767px) {
body {
	font-size: 14px;
}
}

body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td,input,a,textarea,select,span,nav,section,header
{
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}
input,
textarea {
	margin: 0;
	font-size: 100%;
	appearance: none;
	-webkit-appearance: none;
	border: none;
	outline: none;
}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
fieldset, img
{ border: 0;}
img
{ vertical-align: top; max-width: 100%;}
address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: normal;}
ol, ul
{ list-style: none;}
caption, th
{ text-align: left;}
h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: 500;}
q:after, q:before
{ content:'';}
a, input
{ /* outline: none; */ }
abbr, acronym
{ border: 0;}




/* !Clearfix
---------------------------------------------------------- */
.clearfix {
	display: block;
	min-height: 1%;
}
.clearfix:after {
	clear: both;
	content:".";
	display: block;
	height: 0;
	visibility: hidden;
}
* html .clearfix {
	height: 1%;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

/* !Layout
---------------------------------------------------------- */
html { overflow-y: scroll;}
body { }
@media print {
	html,
	html body { *zoom: 0.65;}
}



/* link
------------------------------------------------ */
a {
	color: #323232;
	text-decoration:none;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}

a:hover {
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}


.op,
.op a,
.op img,
.op input {
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	-ms-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}
.op:hover,
.op a:hover,
.op:hover img,
.op:hover input {
	opacity: .5;
	-webkit-opacity: .5;
	-moz-opacity: .5;
	filter: alpha(opacity=50);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=50)"; /* IE 8 */
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	-ms-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}
@media (max-width: 767px) {
.op:hover,
.op a:hover,
.op:hover img,
.op:hover input {
	opacity: 1;
	-webkit-opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=100)"; /* IE 8 */
}
}



/* !fs
------------------------------------------------ */
.visible-pc {
	display: block !important;
}
.visible-tab {
	display: none !important;
}
.visible-ts {
	display: none !important;
}
.visible-pc-only {
	display: block !important;
}


@media (max-width: 1024px) {
.visible-tab {
	display: block !important;
}
.visible-pc-only {
	display: none!important;
}
}
@media (max-width: 767px) {
.visible-pc {
	display: none !important;
}
.visible-ts {
	display: block !important;
}
}


/* !fonts
------------------------------------------------ */
.fwb {
	font-weight: 700;
}
.fwm {
	font-weight: 500;
}

.vat {
	vertical-align: top !important;
}
.vam {
	vertical-align: middle !important;
}
.tal {
	text-align: left !important;
}
.tac {
	text-align: center !important;
}
.tar {
	text-align: right !important;
}


/* !ff
------------------------------------------------ */
.ff_yumin {
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}

.ff_meiryo {
	font-family: Meiryo, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "sans-serif";
}



/* !fc
------------------------------------------------ */



/* html
----------------------------------------------- */
html.html-lock {
}



/* wrapper
----------------------------------------------- */
#wrapper {
	overflow: hidden;
}

.inner {
	padding: 0 20px;
	position: relative;
	z-index: 1;
}

@media (max-width: 767px) {

}




/* header
----------------------------------------------- */
#header {
	background: #fff;
	padding: 20px;
}
#header .header_in {
	max-width: 970px;
	margin: 0 auto;
}
#header .header_navi {
	display: flex;
	align-items: stretch;
	justify-content: center;
}
#header .header_navi li {
	font-size: 20px;
	line-height: 1;
	font-weight: 700;
	padding: 0 15px;
	position: relative;
}
#header .header_navi li+li:before {
	position: absolute;
	content: "";
	background: #323232;
	width: 1px;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 0;
}
#header .header_navi li a:hover {
	opacity: 0.5;
}
#header .header_det {
	margin: 30px 0 10px;
	font-size: 25px;
	font-weight: 500;
}
#header .header_logo img {
	width: 528px;
}


.navbar-toggle {
	display: none;
}
.navbar-collapse {
	display: none;
}


@media (max-width: 1024px) {
#header {
	background: #fff;
	padding: 20px;
}
#header .header_navi li {
	font-size: 16px;
	padding: 0 15px;
}
#header .header_det {
	margin: 20px 0 10px;
	font-size: 20px;
}
}

@media (max-width: 767px) {
#header {
	padding: 10px 30px 15px;
}
#header .header_in {
	display: flex;
	flex-direction: column-reverse;
}
#header .header_navi {
	display: none;
}
#header .header_det {
	margin: 15px 0 0;
	font-size: 11px;
}
#header .header_logo img {
	width: 184px;
}
	
.navbar-toggle {
	position: fixed;
	right: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 8px;
	cursor: pointer;
	width: 126px;
	height: 42px;
	color: #fff;
	background: url("../img/bg_menu.png") center center no-repeat;
	background-size: cover;
	z-index: 99;
}
.navbar-toggle .toggle_txt {
	font-size: 15px;
	line-height: 1;
	font-weight: 700;
}
.navbar-toggle .toggle_menu {
	width: 22px;
	height: 16px;
	position: relative;
}
.navbar-toggle .toggle_menu span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 0;
	background-color: #fff;
	width: 100%;
	height: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-ms-border-radius: 2px;
	-o-border-radius: 2px;
	border-radius: 2px;
}
.navbar-toggle .toggle_menu span:nth-of-type(1) {
	top:0;
}

.navbar-toggle .toggle_menu span:nth-of-type(2) {
	top:7px;
}

.navbar-toggle .toggle_menu span:nth-of-type(3) {
	top:14px;
}

.navbar-toggle.on .toggle_menu span:nth-of-type(1) {
	top:0;
	transform: translateY(7px) rotate(-45deg);
}
.navbar-toggle.on .toggle_menu span:nth-of-type(2) {
	opacity: 0;
}
.navbar-toggle.on .toggle_menu span:nth-of-type(3) {
	top:14px;
	transform: translateY(-7px) rotate(45deg);
}


.navbar-collapse {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	background: #eaeaf5;
	height: 100vh;
	width: 100vw;
	padding: 85px 0 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 80;
}
.navbar-collapse .navbar_inner {
	height: 100%;
	overflow-y: scroll;
}
.navbar-collapse .navbar_inner {
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;
}
.navbar-collapse .navbar_inner::-webkit-scrollbar{
	display: none;
}
.navbar-collapse .navbar_inner {
	scrollbar-width: none;
}
.navbar-collapse .navbar_box {
	padding: 0 20px 50px;
}
.navbar-collapse .navbar_list {
	border-top: 1px #caced8 solid;
}
.navbar-collapse .navbar_list li {
	border-bottom: 1px #caced8 solid;
}
.navbar-collapse .navbar_list li a {
	display: block;
	padding: 25px 15px;
	font-weight: 700;
	font-size: 14px;
}
}



/* anchor
----------------------------------------------- */
.anchor {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
}
@media (max-width: 1024px) {
.anchor {
	padding-top: 60px;
	margin-top: -60px;
}
}



/* footer
----------------------------------------------- */
#footer {
	
}
#footer .footer_box {
	max-width: 980px;
	margin: 0 auto;
	padding: 40px 0 20px;
	border-top: 1px #000 dotted;
}
#footer .footer_logo {
	text-align: center;
	margin: 0 0 15px;
}
#footer .footer_logo img {
	width: 530px;
}
#footer .footer_addr {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap:5px 15px;
	font-size: 15px;
}
#footer .footer_addr .addr_txt {
	
}
#footer .footer_addr .addr_tf {
	
}
#footer .copyright {
	padding: 3px 10px;
	background: #CCEBF7;
	text-align: center;
	font-size: 15px;
}
#footer .footer_nouse {
	font-size: 15px;
	text-align: center;
	padding: 10px;
}
@media (max-width: 767px) {
#footer .footer_box {
	margin: 0 30px;
	padding: 40px 0 15px;
}
#footer .footer_logo {
	margin: 0 0 20px;
}
#footer .footer_addr {
	flex-direction: column;
	align-items: center;
	gap:5px;
	font-size: 10px;
}
#footer .copyright {
	font-size: 10px;
}
#footer .footer_nouse {
	font-size: 10px;
	padding: 13px 10px;
}
}



/* H
----------------------------------------------- */
.hdl {
	display: flex;
	justify-content: center;
	max-width: 874px;
	font-size: 0;
	margin: 0 auto;
	overflow: hidden;
}
.hdl .hdl_in {
	width: 270px;
	text-align: center;
	font-size: 33px;
	font-weight: 700;
	line-height: 1.3;
	position: relative;
}
.hdl .hdl_in:before,
.hdl .hdl_in:after {
	position: absolute;
	content: "";
	background: #50BAE3;
	width: 100vw;
	height: 1px;
	top: 50%;
	z-index: 0;
}
.hdl .hdl_in:before {
	right: 100%;
}
.hdl .hdl_in:after {
	left: 100%;
}

@media (max-width: 767px) {
.hdl .hdl_in {
	width: 160px;
	font-size: 20px;
}
}



/* mv
----------------------------------------------- */
.top_mv {
	position: relative;
}
.top_mv .mv_img img {
	width: 100%;
}
.top_mv .mv_btn {
	position: absolute;
	left: 0;
	bottom: -40px;
	width: 100%;
	padding: 0 20px;
	z-index: 1;
}
.top_mv .mv_btn .btn_in {
	max-width: 970px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
}
.top_mv .mv_btn .btn_in a {
	display: block;
}
.top_mv .mv_btn img {
	width: 373px;
}
@media (max-width: 767px) {
.top_mv .mv_btn {
	display: none;
}
}



/* cta
----------------------------------------------- */
.error {
	color: #ff0000;
	margin: 5px 0 0;
}
.top_cta {
	padding: 55px 0 75px;
	position: relative;
}
.top_cta .cta_hd {
	max-width: 980px;
	margin: 0 auto 30px;
	font-size: 0;
}
.top_cta .cta_inner {
	max-width: 930px;
	margin: 0 auto;
	padding: 0 20px;
}
.top_cta .cta_det {
	font-size: 16px;
	line-height: 2;
	border-bottom: 1px #969696 dotted;
	padding: 0 0 20px;
	margin: 0 0 40px;
}
.top_cta .form_box {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}
.top_cta .form_box li {
	display: flex;
	align-items: stretch;
	gap:0 40px;
}
.top_cta .form_box .form_name {
	width: 215px;
	background: #CCEBF7;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 10px 5px 10px 30px;
	position: relative;
}
.top_cta .form_box .form_name .name_in {
	font-size: 16px;
	line-height: 1.3;
	position: relative;
}
.top_cta .form_box .form_name.must .name_in:before {
	position: absolute;
	content: "※";
	font-size: 16px;
	color: #ff0000;
	top: 0;
	right: calc(100% + 5px);
	font-family: Meiryo, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "sans-serif";
	z-index: 0;
}
.top_cta .form_box .form_cont {
	flex: 1;
	overflow: hidden;
}
.top_cta .form_box input[type=text],
.top_cta .form_box input[type=email],
.top_cta .form_box input[type=tel] {
	background: #fff;
	border: 1px #B4B4B4 solid;
	height: 40px;
	width: 100%;
	padding: 0 15px;
	font-size: 15px;
	font-family: Meiryo, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "sans-serif";
	font-weight: 400;
	flex-shrink: 0;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
}
.top_cta .form_box input::placeholder {
	color: #A0A0A0;
	font-family: Meiryo, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "sans-serif";
}
.top_cta .form_box .vat {
	align-items: flex-start;
}
.top_cta .form_box textarea {
	float: left;
	background: #fff;
	border: 1px #B4B4B4 solid;
	height: 210px;
	width: 100%;
	padding: 10px 15px;
	font-size: 15px;
	font-family: Meiryo, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "sans-serif";
	font-weight: 400;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
}
.top_cta .form_box .form_company {
	display: flex;
	align-items: center;
	gap: 0 15px;
}
.top_cta .form_box input.w52 {
	width: 50%;
}
.top_cta .form_box .company_note {
	
}
.top_cta .form_agree {
	margin: 50px 0 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.top_cta .form_agree .agree_in {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 15px;
}
.top_cta .form_agree .agree_check {
	font-size: 0;
}
.top_cta .form_agree .agree_check input[type=checkbox] {
	width: 20px;
	height: 20px;
	border: 1px #323232 solid;
	background: #fff;
	flex-shrink: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
}
.top_cta .form_agree .agree_check input[type=checkbox]:checked:before {
	position: absolute;
	content: "✓";
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	color: #323232;
	line-height: 1;
}
.top_cta .form_agree .agree_txt {
	font-size: 18px;
}
.top_cta .form_btn {
	margin: 35px 0 0;
	display: flex;
	justify-content: center;
}
.top_cta .form_btn input[type=submit] {
	width: 176px;
	height: 36px;
	text-indent: -9999px;
	font-size: 0;
	background: url("../img/btn_mail.png") center center no-repeat;
	background-size: cover;
	cursor: pointer;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.top_cta .form_btn input[type=submit]:hover {
	opacity: 0.5;
}
@media (max-width: 767px) {
.top_cta {
	padding: 20px 0 35px;
}
.top_cta .cta_hd {
	margin: 0 auto 15px;
}
.top_cta .cta_inner {
	padding: 0 30px;
}
.top_cta .cta_det {
	font-size: 13px;
	line-height: 1.76;
	padding: 0 0 35px;
	margin: 0 0 20px;
}
.top_cta .form_box {
	gap: 5px 0;
}
.top_cta .form_box li {
	gap:0 10px;
}
.top_cta .form_box .form_name {
	width: 125px;
	padding: 5px 5px 5px 15px;
}
.top_cta .form_box .form_name .name_in {
	font-size: 10px;
	white-space: nowrap;
}
.top_cta .form_box .form_name.must .name_in:before {
	font-size: 10px;
	right: calc(100% + 3px);
}
.top_cta .form_box input[type=text],
.top_cta .form_box input[type=email],
.top_cta .form_box input[type=tel] {
	height: 23px;
	padding: 0 6px;
	font-size: 10px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-ms-border-radius: 2px;
	-o-border-radius: 2px;
	border-radius: 2px;
}
.top_cta .form_box textarea {
	height: 100px;
	padding: 5px 6px;
	font-size: 10px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-ms-border-radius: 2px;
	-o-border-radius: 2px;
	border-radius: 2px;
}
.top_cta .form_box .form_company {
	display: flex;
	align-items: center;
	gap: 0 15px;
}
.top_cta .form_box input.w52 {
	width: 100%;
}
.top_cta .form_box .company_note {
	display: none;
}
.top_cta .form_agree {
	margin: 25px 0 0;
}
.top_cta .form_agree .agree_in {
	gap: 0 12px;
}
.top_cta .form_agree .agree_check input[type=checkbox] {
	width: 15px;
	height: 15px;
}
.top_cta .form_agree .agree_check input[type=checkbox]:checked:before {
	font-size: 12px;
}
.top_cta .form_agree .agree_txt {
	font-size: 14px;
}
.top_cta .form_btn {
	margin: 25px 0 0;
}
.top_cta .form_btn input[type=submit] {
	width: 125px;
	height: 26px;
	font-size: 0;
}
}

.top_cta .policy {
	margin: 50px 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
}
.top_cta .policy .policy_hd {
	display: flex;
	justify-content: center;
	overflow: hidden;
	margin: 0 0 50px;
}
.top_cta .policy .policy_hd .hd_in {
	position: relative;
	padding: 0 50px;
	text-align: center;
	font-size: 33px;
	line-height: 1.2;
	font-weight: 700;
}
.top_cta .policy .policy_hd .hd_in:before,
.top_cta .policy .policy_hd .hd_in:after {
	position: absolute;
	content: "";
	border-bottom: 1px #000 dotted;
	top: 50%;
	height: 1px;
	width: 100vw;
	z-index: 0;
}
.top_cta .policy .policy_hd .hd_in:before {
	right: 100%;
}
.top_cta .policy .policy_hd .hd_in:after {
	left: 100%;
}
.top_cta .policy .policy_box {
	display: flex;
	flex-direction: column;
	gap: 40px 0;
}
.top_cta .policy .policy_inner {
	
}
.top_cta .policy .policy_tit {
	font-size: 18px;
	line-height: 1.72;
	font-weight: 700;
}
.top_cta .policy .policy_txt {
	font-size: 16px;
	line-height: 2;
}
@media (max-width: 767px) {
.top_cta .policy .policy_hd {
	margin: 0 0 25px;
}
.top_cta .policy .policy_hd .hd_in {
	padding: 0 10px;
	font-size: 20px;
}
.top_cta .policy .policy_box {
	gap: 25px 0;
}
.top_cta .policy .policy_tit {
	font-size: 13px;
	line-height: 1.72;
}
.top_cta .policy .policy_txt {
	font-size: 13px;
	line-height: 1.72;
}
}



/* greeting
----------------------------------------------- */
.top_greeting {
	position: relative;
	padding: 90px 0 50px;
}
.top_greeting .greeting_box {
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 20px;
}
.top_greeting .greeting_box .box_up {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	z-index: 1;
}
.top_greeting .greeting_box .box_img01 {
	position: absolute;
	left: 570px;
	top: 0;
	width: 557px;
	z-index: 0;
}
.top_greeting .greeting_hd {
	font-size: 33px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 5px;
	padding: 0 0 0 10px;
	position: relative;
	z-index: 1;
}
.top_greeting .greeting_box .box_up .box_inner {
	width: 640px;
	border-top: 1px #fff solid;
	border-right: 1px #fff solid;
	padding: 5px 5px 0 0;
	max-width: 100%;
	position: relative;
	z-index: 1;
}
.top_greeting .greeting_box .box_up .box_cont {
	background: rgba(255,255,255,0.6);
	padding: 15px 40px 25px 10px;
	-webkit-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	-moz-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	-ms-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	-o-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
}
.top_greeting .greeting_box .box_up .box_txt {
	font-size: 18px;
	line-height: 1.72;
	text-align: justify;
	text-justify: inter-ideograph;
}
.top_greeting .greeting_box .box_btm {
	margin: 110px 0 0;
	display: flex;
	justify-content: flex-end;
	position: relative;
}
.top_greeting .greeting_box .box_img02 {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1140px;
	z-index: 0;
}
.top_greeting .greeting_box .box_img02 img {
	height: 400px;
	width: 100%;
	object-fit: cover;
}
.top_greeting .greeting_box .box_btm .box_inner {
	width: 640px;
	border-top: 1px #fff solid;
	border-left: 1px #fff solid;
	padding: 5px 0 0 5px;
	max-width: 100%;
	position: relative;
	z-index: 1;
}
.top_greeting .greeting_box .box_btm .box_cont {
	background: rgba(255,255,255,0.6);
	padding: 10px 20px 30px 15px;
	-webkit-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	-moz-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	-ms-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	-o-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
}
.top_greeting .greeting_box .box_btm .box_txt {
	font-size: 18px;
	line-height: 1.72;
	text-align: justify;
	text-justify: inter-ideograph;
}
.top_greeting .greeting_btn {
	display: none;
}

@media (max-width: 1024px) {
.top_greeting .greeting_box .box_img01 {
	left: 350px;
}
}
@media (max-width: 767px) {
.top_greeting {
	padding: 30px 0 65px;
}
.top_greeting .greeting_box {
	padding: 0 30px;
}
.top_greeting .greeting_box .box_img01 {
	position: static;
	text-align: center;
	width: 100%;
	margin: 0 0 20px;
	z-index: 0;
}
.top_greeting .greeting_box .box_img01 img {
	width: 288px;
}
.top_greeting .greeting_hd {
	font-size: 17px;
	margin: 0 0 15px;
	padding: 0;
}
.top_greeting .greeting_box .box_up .box_inner {
	width: auto;
	padding: 3px 3px 0 0;
	max-width: 100%;
	position: relative;
	z-index: 1;
}
.top_greeting .greeting_box .box_up .box_cont {
	padding: 10px 10px 25px;
	-webkit-box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
	-moz-box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
	-ms-box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
	-o-box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
	box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
}
.top_greeting .greeting_box .box_up .box_txt {
	font-size: 13px;
}
.top_greeting .greeting_box .box_btm {
	margin: 45px 0 0;
	justify-content: center;
}
.top_greeting .greeting_box .box_img02 {
	position: static;
	transform: translateY(0);
	width: auto;
	text-align: center;
}
.top_greeting .greeting_box .box_img02 img {
	height: auto;
	width: 315px;
	object-fit: contain;
}
.top_greeting .greeting_box .box_btm .box_inner {
	display: none;
}
.top_greeting .greeting_btn {
	display: flex;
	justify-content: center;
	margin: 40px 0 0;
}
}



/* service
----------------------------------------------- */
.top_service {
	position: relative;
}
.top_service .service_hd {
	background: url("../img/bg_service.png") center center no-repeat;
	background-size: cover;
	padding: 48px 0;
	margin: 0 0 10px;
}
.top_service .service_inner {
	background: #E0F3FA;
	padding: 13px 0 18px;
}
.top_service .service_box {
	border-bottom: 1px #50BAE3 solid;
	border-top: 1px #50BAE3 solid;
	padding: 25px 20px 35px;
}
.top_service .service_cont {
	max-width: 944px;
	margin: 0 auto;
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 70px 48px;
}
.top_service .service_item {
	width: calc((100% - 48px)/2);
	padding: 0 0 20px;
	text-align: justify;
	text-justify: inter-ideograph;
	position: relative;
}
.top_service .service_item:nth-child(even):before {
	position: absolute;
	content: "";
	background: #50BAE3;
	left: -24px;
	top: 0;
	width: 1px;
	height: 100%;
	z-index: 0;
}
.top_service .service_item:nth-child(n+3):after {
	position: absolute;
	content: "";
	background: #50BAE3;
	left: 0;
	top: -35px;
	width: 100%;
	height: 1px;
	z-index: 0;
}
.top_service .service_item .item_tit {
	text-align: center;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 15px;
}
.top_service .service_item .item_img {
	text-align: center;
	margin: 0 0 15px;
}
.top_service .service_item .item_cont {
	font-size: 15px;
	line-height: 1.73;
}
.top_service .service_item .item_txt {
	
}
.top_service .service_item .item_dot {
	text-indent: -1em;
	padding-left: 1em;
	margin: 30px 0 0;
}
.top_service .service_item .item_triangle {
	padding: 0 0 0 1em;
}
.top_service .service_item .item_triangle .triangle_txt {
	text-indent: -1em;
	padding-left: 1em;
}

@media (max-width: 1024px) {
.top_service .service_item .item_tit {
	font-size: 23px;
}
}
@media (max-width: 767px) {
.top_service .service_hd {
	padding: 25px 0;
}
.top_service .service_inner {
	padding: 10px 35px 30px;
}
.top_service .service_box {
	border-bottom: none;
	border-top: none;
	padding: 0;
}
.top_service .service_cont {
	display: block;
}
.top_service .service_item {
	width: 100%;
	padding: 0;
}
.top_service .service_item+.service_item {
	border-top: 1px #50BAE3 solid;
	margin: 30px 0 0;
	padding: 30px 0 0;
}
.top_service .service_item:nth-child(even):before {
	display: none;
}
.top_service .service_item:nth-child(n+3):after {
	display: none;
}
.top_service .service_item .item_tit {
	font-size: 17px;
	margin: 0 0 15px;
}
.top_service .service_item .item_img {
	margin: 0 0 25px;
}
.top_service .service_item .item_cont {
	font-size: 13px;
}
.top_service .service_item .item_dot {
	margin: 25px 0 0;
}
}



/* intro
----------------------------------------------- */
.top_intro {
	padding: 60px 0;
	position: relative;
}
.top_intro .hdl {
	margin-bottom: 40px;
}
.top_intro .intro_box {
	max-width: 1010px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: flex-start;
	gap: 0 70px;
}
.top_intro .intro_box .box_img {
	width: 396px;
	flex-shrink: 0;
	position: relative;
}
.top_intro .intro_box .box_img > img {
	clip-path: polygon(0 110px,110px 0,100% 0,100% calc(100% - 110px),calc(100% - 110px) 100%,0 100%);
}
.top_intro .intro_box .box_img .img_eng {
	position: absolute;
	top: 20px;
	right: 30px;
	display: block;
	width: 47px;
	z-index: 1;
}
.top_intro .intro_box .box_cont {
	
}
.top_intro .intro_box .box_mess {
	padding: 25px 0 20px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 35px;
	margin: 0 0 20px;
	position: relative;
}
.top_intro .intro_box .box_mess:before {
	position: absolute;
	content: "";
	background: #50BAE3;
	width: 100vw;
	height: 1px;
	left: -70px;
	bottom: 0;
	z-index: 0;
}
.top_intro .intro_box .box_mess .mess_name {
	font-size: 33px;
	font-weight: 700;
	line-height: 1;
}
.top_intro .intro_box .box_mess .mess_cap {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.1;
}
.top_intro .intro_box .box_det {
	font-size: 15px;
	line-height: 1.73;
	text-align: justify;
	text-justify: inter-ideograph;
}
.top_intro .intro_box .box_career {
	margin: 30px 0 0;
	font-size: 15px;
	line-height: 1.73;
	text-align: justify;
	text-justify: inter-ideograph;
}
.top_intro .intro_box .box_career .career_tit {
	margin: 0 0 10px;
}
.top_intro .intro_box .box_career .career_list {
	display: flex;
	flex-direction: column;
}
.top_intro .intro_box .box_career .career_list li {
	display: flex;
	align-items: stretch;
}
.top_intro .intro_box .box_career .career_date {
	width: 112px;
	flex-shrink: 0;
}
.top_intro .intro_box .box_career .career_in {
	
}


@media (max-width: 1024px) {
.top_intro .intro_box {
	gap: 0 30px;
}
.top_intro .intro_box .box_mess:before {
	left: -30px;
}
}
@media (max-width: 767px) {
.top_intro {
	padding: 50px 0;
}
.top_intro .hdl {
	margin-bottom: 30px;
}
.top_intro .intro_box {
	padding: 0 25px;
	flex-direction: column;
	align-items: center;
	gap: 40px 0;
}
.top_intro .intro_box .box_img {
	width: 224px;
}
.top_intro .intro_box .box_img > img {
	clip-path: polygon(0 60px,60px 0,100% 0,100% calc(100% - 60px),calc(100% - 60px) 100%,0 100%);
}
.top_intro .intro_box .box_img .img_eng {
	top: 10px;
	right: 15px;
	width: 26px;
}
.top_intro .intro_box .box_mess {
	padding: 0 5px 5px;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 25px;
}
.top_intro .intro_box .box_mess:before {
	background: #50BAE3;
	width: 100%;
	left: 0;
}
.top_intro .intro_box .box_mess .mess_name {
	font-size: 25px;
}
.top_intro .intro_box .box_mess .mess_cap {
	font-size: 13px;
	line-height: 1.42;
}
.top_intro .intro_box .box_det {
	font-size: 13px;
	padding: 0 10px;
}
.top_intro .intro_box .box_career {
	margin: 25px 0 0;
	font-size: 13px;
	padding: 0 10px;
}
.top_intro .intro_box .box_career .career_date {
	width: 100px;
}
.top_intro .intro_box .box_career .career_in {
	
}
}



/* overview
----------------------------------------------- */
.top_overview {
	padding: 60px 0 55px;
	position: relative;
}
.top_overview .hdl {
	margin-bottom: 35px;
}
.top_overview .overview_logo {
	text-align: center;
	margin: 0 0 50px;
}
.top_overview .overview_logo img {
	width: 690px;
}
.top_overview .overview_mess {
	display: flex;
	justify-content: center;
	margin: 0 0 20px;
	padding: 0 20px;
}
.top_overview .overview_mess .mess_box {
	padding: 0 0 0 340px;
	position: relative;
}
.top_overview .overview_mess .mess_cont {
	
}
.top_overview .overview_mess .mess_tit {
	position: absolute;
	left: 0;
	top: 0;
	width: 307px;
	z-index: 1;
}
.top_overview .overview_mess .mess_tel a {
	pointer-events:none;
}
.top_overview .overview_mess .mess_tel img {
	width: 570px;
}
.top_overview .overview_mess .mess_time {
	font-size: 18px;
	margin: 13px 0 0;
}
.top_overview .overview_mess .mess_table {
	width: 100%;
	margin: 15px 0 0;
}
.top_overview .overview_mess .mess_table th,
.top_overview .overview_mess .mess_table td {
	vertical-align: top;
	font-size: 16px;
	line-height: 1.75;
}
.top_overview .overview_mess .mess_table th {
	white-space: nowrap;
}
.top_overview .overview_mail {
	display: flex;
	align-items: center;
	justify-content: center;
	gap:0 10px;
	margin: 20px 0 0;
}
.top_overview .overview_mail .mail_txt {
	font-size: 16px;
	font-weight: 700;
}
.top_overview .overview_mail .mail_in img {
	width: 292px;
}
.top_overview .map {
	max-width: 930px;
	padding: 0 20px;
	margin: 30px auto 0;
}
.top_overview .map iframe {
	width: 100%;
	height: 420px;
}

@media (max-width: 767px) {
.top_overview {
	padding: 50px 0 20px;
}
.top_overview .hdl {
	margin-bottom: 25px;
}
.top_overview .overview_logo {
	text-align: center;
	margin: 0 0 20px;
}
.top_overview .overview_logo img {
	width: 315px;
}
.top_overview .overview_mess {
	display: block;
	margin: 0 0 30px;
	padding: 0 30px;
}
.top_overview .overview_mess .mess_box {
	padding: 0;
}
.top_overview .overview_mess .mess_cont {
	display: flex;
	align-items: center;
	gap: 0 8px;
}
.top_overview .overview_mess .mess_tit {
	position: static;
	width: 72px;
	flex-shrink: 0;
}
.top_overview .overview_mess .mess_tel a {
	pointer-events:inherit;
	display: block;
}
.top_overview .overview_mess .mess_tel img {
	width: 570px;
}
.top_overview .overview_mess .mess_time {
	font-size: 13px;
	margin: 10px 0 0;
}
.top_overview .overview_mess .mess_table {
	width: 100%;
	margin: 20px 0 0;
}
.top_overview .overview_mess .mess_table th,
.top_overview .overview_mess .mess_table td {
	font-size: 13px;
}
.top_overview .overview_mail {
	flex-direction: column;
	align-items: center;
	gap:10px;
	margin: 35px 0 0;
}
.top_overview .overview_mail .mail_txt {
	font-size: 13px;
}
.top_overview .overview_mail .mail_in img {
	width: 310px;
}
.top_overview .map {
	max-width: 930px;
	padding: 0;
}
.top_overview .map iframe {
	height: 210px;
}
}







/* thanks
----------------------------------------------- */
.thanks_box {
	padding: 55px 0 130px;
}
.thanks_box .thanks_tit {
	text-align: center;
	font-size: 33px;
	font-weight: 700;
	margin: 0 0 15px;
}
.thanks_box .thanks_txt {
	text-align: center;
	font-size: 20px;
}

@media (max-width: 767px) {
.thanks_box {
	padding: 35px 0 50px;
}
.thanks_box .thanks_tit {
	font-size: 20px;
	line-height: 1.4;
	margin: 0 0 10px;
}
.thanks_box .thanks_txt {
	font-size: 13px;
	line-height: 1.72;
}
}

