@charset "utf-8";
/* CSS Document */

/*----------------------------------------------------------------------------------------------
 default style clear
----------------------------------------------------------------------------------------------*/
* {
	margin:0;
	padding:0;
}
html { overflow-y: scroll; -webkit-text-size-adjust: none;}
body, div, dl, dt, dd, ul, li, ol, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	margin:0;
	padding:0;
	font-size:16px;
	letter-spacing: 0;
	font-style:normal;
	font-weight:normal;
	line-height:1.5;
}

img, fieldset {	border:0;}
img {
	max-width: 100%;
}
ol, ul {margin:0;}
li { list-style-position:outside; list-style:none;}
a, a:focus { outline:none; overflow:hidden;}
a {overflow: hidden;}

/* -----------------------------------------------------------------------------------------------------
 default
-----------------------------------------------------------------------------------------------------*/
html{}
body {
	font-size: 14px;
	font-family: 'Noto Sans JP', sans-serif;
	color:#3e3e3e;
	line-height:1.8;
	min-width:1180px;
	-webkit-text-size-adjust:100%;/* フォントサイズ自動調整 */
	word-wrap:break-word;
}
img {vertical-align:top;width: auto;}

/* -----------------------------------------------------------------------------------------------------
 link
-----------------------------------------------------------------------------------------------------*/
a{ color:#3e3e3e;}
a:hover{ text-decoration:none; opacity: 0.7;}

.wp-pagenavi {
    text-align: center;
    /* text-decoration: none; */
    font-weight: bold;
}
/* -----------------------------------------------------------------------------------------------------
 table
-----------------------------------------------------------------------------------------------------*/
table th { vertical-align:top; text-align:left;}
table td { vertical-align:top; text-align:left;}

table.type01{ border-collapse:collapse;}
table.type01 tr{ border-top:1px solid #000;}
table.type01 tr:last-of-type{ border-bottom:2px solid #000; }
table.type01 tr:first-of-type{ border-top:2px solid #000; }
table.type01 th,table.type01 td{padding:5px 10px;}

table.type02{border-collapse:collapse; }
table.type02 tr{ border-bottom:1px solid #000;}
table.type02 th,table.type02 td{padding: 15px 10px;}
 
table.type03{ margin-bottom:40px;}
table.type03 th,table.type03 td{padding:10px;} 

table.intable{ border-collapse:collapse; }
table.intable tr{ border-bottom:1px solid #000;}
table.intable tr:last-of-type{ border-bottom: none;}
table.intable th,table.intable td{ padding: 5px;}
table.intable tr:first-of-type th,table.intable tr:first-of-type td{ padding-top:0;}

.center{ margin-left:auto; margin-right:auto;}

/* -----------------------------------------------------------------------------------------------------
 headline
-----------------------------------------------------------------------------------------------------*/
strong{font-weight:bold;}

hr{ border-bottom:1px solid #eee; border-top:0; border-right:0; border-left:0; margin:25px 0;}
hr.dot{ border-bottom:1px dotted #ccc;}

/*----------------------------------------------------------------------------------------------
 汎用クラス
----------------------------------------------------------------------------------------------*/
/* clear */
.clear { clear:both;}
.clearfix:after {
	content: ".";  /* 新しい要素を作る */
	display: block;  /* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix { min-height: 1px;}
* html .clearfix {
	height: 1px;/*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

.fl{ float:left;}
.fr{ float:right;}
.t-left{ text-align:left;}
.t-right{ text-align:right;}
.t-center{ text-align:center;}
.bold{font-weight:bold!important;}

a.over img{ transition: opacity 0.2s linear 0s;}
a.over img:hover{opacity:0.7;}

.alignright{ float:right; margin:0 0 20px 30px; display:block;}
.alignleft{ float:left; margin:0 30px 20px 0; display:block;}
.aligncenter{ margin:15px auto 20px; display:block;}

@media screen and (min-width: 681px){
	.sp{
		display: none!important;
	}
}
@media screen and (max-width: 680px){
	.pc{
		display: none!important;
	}
}

/*----------------------------------------------------------------------------------------------
 フォーム
----------------------------------------------------------------------------------------------*/
input[type="text"],
input[type="password"],
input[type="email"]{ border:1px solid #d1d1d1; padding:7px 10px; font-size:110%; box-sizing:border-box; vertical-align:top; border-radius:0px;}
textarea{ border:1px solid #d1d1d1; padding:12px 10px; font-size:100%; box-sizing:border-box; vertical-align:top; border-radius:5px;}
input[type="checkbox"]{ vertical-align:middle; margin-top:-3px;}
label{ cursor:pointer;}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus{ box-shadow:0px 0px 3px #5bc0de;}
select{ border-radius:4px; height:30px; border:1px solid #cfd8de; padding:0 10px; box-sizing:border-box; vertical-align:top;}

input::-webkit-input-placeholder{ color:#ccc;}
input:-ms-input-placeholder{ color:#aaa;}
input::-moz-placeholder{ color:#aaa;}

.form_group{ display:table;}
.form_group .tx{ vertical-align:middle; margin-right:5px;}
.form_group select{ vertical-align:middle;}
.input_group{ margin-right:15px;} 
.input_group input[type="radio"]{ margin-right:5px; margin-bottom:10px;}
 
.inline_form{}
.inline_form .radio{ display:inline-block; padding-right:40px; vertical-align:top;}
 
.form_mid{ height:30px; line-height:30px;}
.va_top{ vertical-align:top!important;}

.form_desc{ margin-top:5px; color:#888; font-size:14px;}

/* 問合せフォーム*/
form .type03 {
    margin-bottom: 0px;
}
form tr {
    display: grid;
    margin: 10px 0;
	padding:0;
}
table.type03 th, table.type03 td {
    padding: 0px;
}
table.type03 th{
    padding: 5px 0px;
}
p.attention_contact {
    text-align: center;
    margin: 20px 0;
}
.contact_form .hissu{     margin-left: 10px;
    color: #fff;
    padding: 2.5px 10px;
    background: #E60014;
    font-weight: 300;
    font-size: 11px;
	width:30px;
}

.mw_wp_form .error{ color:#ee0000!important;}
.mwform-radio-field.horizontal-item{ margin-right:5px;}

.mw_wp_form_confirm .form_desc,
.mw_wp_form_confirm .hissu,
.mw_wp_form_confirm .mailaddress_confirm{ display:none;}

.input_short{ width: 100%;
    height: 60px;}
.input_long{ width:100%;height:60px}

.form_btn_area .btn{ width:400px; margin-right:30px;}
.form_btn_area .btn:last-of-type{ margin-right:0;}
 
input[type="submit"] {
    background: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0;
    font: inherit;
    outline: none;
    color: #fff;
    font-weight: 400;
}
form .btn_news {
    background: #3A3E45;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    overflow: hidden;
	position:relative;
	   left: 50%;
   transform: translateX( -50%);
	margin-top:55px;
}
/*----------------------------------------------------------------------------------------------
 汎用クラス　マージン
----------------------------------------------------------------------------------------------*/
.mgt5{ margin-top:5px!important;}
.mgt10{ margin-top:10px!important;}
.mgt15{ margin-top:15px!important;}
.mgt20{ margin-top:20px!important;}
.mgt30{ margin-top:30px!important;}
.mgt40{ margin-top:40px!important;}
.mgt50{ margin-top:50px!important;}

.mgb0 { margin-bottom:0!important;}
.mgb5 { margin-bottom:5px!important;}
.mgb10{ margin-bottom:10px!important;}
.mgb15{ margin-bottom:15px!important;}
.mgb20{ margin-bottom:20px!important;}
.mgb30{ margin-bottom:30px!important;}
.mgb40{ margin-bottom:40px!important;}
.mgb50{ margin-bottom:50px!important;}
.mgb100{ margin-bottom:100px!important;}

.mgl5{ margin-left:5px!important;}
.mgl10{ margin-left:10px!important;}
.mgl20{ margin-left:20px!important;}
.mgl30{ margin-left:30px!important;}

.mgr0{ margin-right:0!important;}
.mgr3{ margin-right:3px!important;}
.mgr5{ margin-right:5px!important;}
.mgr10{ margin-right:10px!important;}
.mgr15{ margin-right:15px!important;}
.mgr20{ margin-right:20px!important;}
.mgr30{ margin-right:30px!important;}
.mgr40{ margin-right:40px!important;}
.mgr50{ margin-right:50px!important;}


/*----------------------------------------------------------------------------------------------
 テキスト装飾
----------------------------------------------------------------------------------------------*/
.tx_xsmall{ font-size:80%!important;}
.tx_small{ font-size:90%!important;}
.tx_medium{ font-size:110%!important;}
.tx_large{ font-size:130%!important;}
.tx_xlarge{ font-size:150%!important;}
.tx_xxlarge{ font-size:200%!important;}

.tx_black{ color:#111!important;}
.tx_white{ color:#fff!important;}
.tx_gray{ color:#888!important;}
.tx_red{ color:#ee0000!important;}
.tx_green{ color:#23ac38!important;}
.tx_purple{ color:#9b4998!important;}
.tx_orange{ color:#f5a23a!important;}
.tx_pink{ color:#d22377!important;}
.tx_blue{ color:#0066cc!important;}
.tx_care{ color:#0000AD!important;}


/*----------------------------------------------------------------------------------------------
 リスト
----------------------------------------------------------------------------------------------*/
ul.disc{ margin-left:20px; padding-bottom:20px;}
ul.disc li{list-style-type:disc; list-style:inside; }

ol li{ list-style-type:decimal; margin-bottom:5px; margin-left:20px;}
ul.inline_list{}
ul.inline_list li{ display:inline-block; margin-right:8px;margin-bottom:5px;}

ul.disc02{ margin-left:20px; margin-bottom:40px;}
ul.disc02 li{ list-style-type:disc; }


/*----------------------------------------------------------------------------------------------
 ボタン
----------------------------------------------------------------------------------------------*/
.btn{
	display: inline-block;
	position:relative;
	padding:10px 15px;
	line-height:2:
	text-decoration:none;
	font-size:100%;
	vertical-align:middle;
	text-align:center;
	color:#fff;
	cursor:pointer;
	box-sizing:border-box;
	background: #3A3E45;
	box-shadow:0;
	transition: opacity 0.2s linear 0s;
	border-radius:0;
	border:0;
}

.btn:hover{ opacity:0.7;}

.btn.btn_small{ padding:5px 15px;}

.btn.white{ background:#fff; border:1px solid #d6d6d6;color:#333;}
.btn.white:hover{ background:#d6d6d6;}
.btn.green{ background:#23ac38;}
.btn.pink{ background:#d22377;}
.btn.purple{ background:#9b4998;}
.btn.gray{ background:#888;}

.btn.border{ border:1px solid #d22377; padding:0 30px; background-color:#fff; color:#d22377; }
.btn_area .btn{padding:3px 15px;}

.btn.radius{ border-radius:30px;}
.btn.radius2{ border-radius:5px;}


.label{ padding:5px 10px; vertical-align:middle; text-align:center; color:#fff; box-sizing:border-box; background:#636469; display:inline-block; font-size:100%; line-height:1; }
.label.news{ border-radius:0; font-size:80%;}
.bggreen{ background:#23ac38;}
.bgpurple{ background:#9b4998;}
.bgorange{ background:#f5a23a;}
.bgpink{ background:#d22377;}
.bgred{ background:#e60012;}
.bgbluegreen{ background:#25caae;} /* #################### */

.btn.white.border_green{border:1px solid #23ac38; padding: 10px 15px;}
.btn.white.border_green:hover{ background-color:#e5f9e8;}
.btn.white.border_purple{border:1px solid #9b4998;padding: 10px 15px;}
.btn.white.border_purple:hover{ background-color:#e1d6e1;}
.btn.white.border_orange{border:1px solid #f5a23a;padding: 10px 15px;}
.btn.white.border_orange:hover{ background-color:#fff5e8;}
.btn.white.border_pink{border:1px solid #d22377;padding: 10px 15px;}
.btn.white.border_pink:hover{ background-color:#f6e8ef;}

.btn_main {width: 304px;padding: 24px 0;height:64px;line-height:1; text-decoration:none;}
.btn_sub {width: 136px;padding: 14px 0; font-size: 12px; font-weight: bold; text-decoration:none;}
.btn_main:before {content:''; width: 25px;height: 25px; padding:25px;transform: rotate(45deg); background: red; position:absolute;bottom: -50px;left:-40px;}
.btn_main:after {content:''; width: 25px;height: 25px; padding:25px;transform: rotate(45deg); background: red; position:absolute;top: -50px;right:-40px;}
.btn_sub:before {content:''; width: 25px;height: 25px; padding:25px;transform: rotate(45deg); background: red; position:absolute;bottom: -70px;left:-40px;}
.btn_sub:after {content:''; width: 25px;height: 25px; padding:25px;transform: rotate(45deg); background: red; position:absolute;top: -70px;right:-40px;}
.btn_environ:before {content:''; width: 25px;height: 25px; padding:25px;transform: rotate(45deg); background: red; position:absolute;bottom: -55px;left:-40px;}
.btn_environ:after {content:''; width: 25px;height: 25px; padding:25px;transform: rotate(45deg); background: red; position:absolute;top: -55px;right:-40px;}
btn,btn:after,btn:before :hover {opacity:0.5;transition: 1s;}
.btn_news :before {background: #fff;}
.btn_news :after {background: #fff;}
.btn_news {background:#3A3E45;color:#fff; font-weight: bold; font-size: 16px;}
.btn_environ{width: 264px;    font-size: 14px;    height: 56px;}

@media screen and (max-width: 680px){
	
		.btn_main {width: 150px;padding: 20px 0;}
.btn_sub {width: 100px;padding: 20px 0;}
	
}

/* icon  FontAwesome*/
.btn .fa{ vertical-align:middle;}
.btn_large .fa{ font-size:150%; margin-top:-3px;}
.btn .fa.fa-file{ margin-right:5px; margin-top:-5px;}

.wide_btnlist{ margin:55px 0 ; text-align:center;}
.wide_btnlist .btn{ margin-right:30px; width:300px;}
.wide_btnlist .btn:last-of-type{ margin-right:0;}
.wide_btnlist .btn .fa{ position:inherit!important; margin-left:20px; right:0; margin-top:-3px;}


/*----------------------------------------------------------------------------------------------
 width指定
----------------------------------------------------------------------------------------------*/
.w10par{ width:10%!important;}
.w20par{ width:20%!important;}
.w30par{ width:30%!important;}
.w40par{ width:40%!important;}
.w50par{ width:50%!important;}
.w80par{ width:80%!important;}
.w90par{ width:90%!important;}
.w100par{width:100%!important;}
.w100px{ width:100px!important;}
.w150px{ width:150px!important;}
.w200px{ width:200px!important;}
.w300px{ width:300px!important;}
.w350px{ width:350px!important;}
.w400px{ width:400px!important;}
.w500px{ width:500px!important;}

/*----------------------------------------------------------------------------------------------
 その他
----------------------------------------------------------------------------------------------*/

.bg_white{ background:#fff;}
.bg_lightgray{ background:#f2f2f2;}
.disp_table{ display:table;}

.alert_tx{ font-size:16px; margin:100px auto; text-align:center;}

/*2025-06-12SS追加分*/
.contact_type .contact_list li:nth-child(2) .btn{padding: 25px 40px !important;}
.contact_type .contact_list li:nth-child(3) {
  height: 280px;
}
.g-recaptcha {
  margin: 0 !important;
}

/*SPテスト用*/
.header .logo {
  display: none;
}