@charset "UTF-8";
/*----------------------------------------------------------------------
ファイル名：def.css
内容：ページ基本設定、初期設定
----------------------------------------------------------------------*/


/* CSS
******************************************************************/
html {scroll-behavior: smooth;}

.clear, .clr,#bottom_contents {clear:both!important;}
/* For modern browsers */
.clearfix:before,.clearfix:after,
#wrap_contents:before,#wrap_contents:after{content:"";display:table;}
.clearfix:after,#wrap_contents:after {clear:both;}
/* For IE 6/7 (trigger hasLayout) */
.clearfix,#wrap_contents {zoom:1;}


.center{ text-align: center!important;}
.left{ text-align: left!important;}
.right{ text-align: right!important;}

.floatL{ float: left!important;}
.floatR{ float: right!important;}

.ovh{overflow:hidden;}
.b{font-weight:bold;}
.big{font-size:130px;font-weight:bold;}
.color_red{color:#c52d2d;font-weight:bold;}

.sml{font-size:80%!important;}
.normal{font-weight:normal!important;}

ul li{list-style-type:none!important;}


/*------------------------------------------------------------
SP template
------------------------------------------------------------*/
@media screen and (max-width : 980px){
html,body {padding:0;margin:0;font-size: 62.5%;}
body{word-wrap:break-word;}
img{max-width:100%;border:0;}
ul li{list-style-type:none!important;}
table{
word-break:break-all;
border: none;
border-collapse: collapse;
}
}

/* Font-size */
@media screen and (max-width : 640px){
html{ font-size : 81.25%;}
}
@media screen and (max-width : 600px){
html{ font-size : 76.171875%;}
}
@media screen and (max-width : 560px){
html{ font-size : 71.09375%;}
}
@media screen and (max-width : 520px){
html{ font-size : 66.015625%;}
}
@media screen and (max-width : 480px){
html{ font-size : 60.9375%;}
}
@media screen and (max-width : 440px){
html{ font-size : 55.859375%;}
}
@media screen and (max-width : 400px){
html{ font-size : 50.78125%;}
}
@media screen and (max-width : 360px){
html{ font-size : 45.703125%;}
}
@media screen and (max-width : 320px){
html{ font-size : 40.625%;}
}
@media screen and (max-width : 280px){
html{ font-size : 35.546875%;}
}
@media screen and (max-width : 240px){
html{ font-size : 30.46875%;}
}

/* MARGIN(rem) */
.mT1rem	{ margin-top: 1rem!important; }
.mT2rem	{ margin-top: 2rem!important; }
.mT3rem	{ margin-top: 3rem!important; }

.mR1rem	{ margin-right: 1rem!important; }
.mR2rem	{ margin-right: 2rem!important; }
.mR3rem	{ margin-right: 3rem!important; }

.mL1rem	{ margin-left: 1rem!important; }
.mL2rem	{ margin-left: 2rem!important; }
.mL3rem	{ margin-left: 3rem!important; }

.mB1rem	{ margin-bottom: 1rem!important; }
.mB2rem	{ margin-bottom: 2rem!important; }
.mB3rem	{ margin-bottom: 3rem!important; }


/* MARGIN(px) */
.mT5	{ margin-top: 5px!important; }
.mT10	{ margin-top: 10px!important; }
.mT15	{ margin-top: 15px!important; }
.mT20	{ margin-top: 20px!important; }
.mT25	{ margin-top: 25px!important; }
.mT30	{ margin-top: 30px!important; }
.mT35	{ margin-top: 35px!important; }
.mT40	{ margin-top: 40px!important; }
.mT45	{ margin-top: 45px!important; }
.mT50	{ margin-top: 50px!important; }
.mT55	{ margin-top: 55px!important; }
.mT60	{ margin-top: 60px!important; }
.mT65	{ margin-top: 65px!important; }
.mT70	{ margin-top: 70px!important; }
.mT75	{ margin-top: 75px!important; }
.mT80	{ margin-top: 80px!important; }
@media screen and (max-width : 640px){
.mT55, .mT60, .mT65, .mT70, .mT75, .mT80 { margin-top: 50px!important; }
}

.mR5	{ margin-right: 5px!important; }
.mR10	{ margin-right: 10px!important; }
.mR15	{ margin-right: 15px!important; }
.mR20	{ margin-right: 20px!important; }
.mR25	{ margin-right: 25px!important; }
.mR30	{ margin-right: 30px!important; }
.mR35	{ margin-right: 35px!important; }
.mR40	{ margin-right: 40px!important; }
.mR45	{ margin-right: 45px!important; }
.mR50	{ margin-right: 50px!important; }
.mR55	{ margin-right: 55px!important; }
.mR60	{ margin-right: 60px!important; }
.mR65	{ margin-right: 65px!important; }
.mR70	{ margin-right: 70px!important; }
.mR75	{ margin-right: 75px!important; }
.mR80	{ margin-right: 80px!important; }
@media screen and (max-width : 640px){
.mR25, .mR30, .mR35, .mR40, .mR45, .mR50, .mR55, .mR60, .mR65, .mR70, .mR75, .mR80 { margin-right: 20px!important; }
}

.mL5	{ margin-left: 5px!important; }
.mL10	{ margin-left: 10px!important; }
.mL15	{ margin-left: 15px!important; }
.mL20	{ margin-left: 20px!important; }
.mL25	{ margin-left: 25px!important; }
.mL30	{ margin-left: 30px!important; }
.mL35	{ margin-left: 35px!important; }
.mL40	{ margin-left: 40px!important; }
.mL45	{ margin-left: 45px!important; }
.mL50	{ margin-left: 50px!important; }
.mL55	{ margin-left: 55px!important; }
.mL60	{ margin-left: 60px!important; }
.mL65	{ margin-left: 65px!important; }
.mL70	{ margin-left: 70px!important; }
.mL75	{ margin-left: 75px!important; }
.mL80	{ margin-left: 80px!important; }
@media screen and (max-width : 640px){
.mL25, .mL30, .mL35, .mL40, .mL45, .mL50, .mL55, .mL60, .mL65, .mL70, .mL75, .mL80 { margin-left: 20px!important; }
}

.mB5	{ margin-bottom: 5px!important; }
.mB10	{ margin-bottom: 10px!important; }
.mB15	{ margin-bottom: 15px!important; }
.mB20	{ margin-bottom: 20px!important; }
.mB25	{ margin-bottom: 25px!important; }
.mB30	{ margin-bottom: 30px!important; }
.mB35	{ margin-bottom: 35px!important; }
.mB40	{ margin-bottom: 40px!important; }
.mB45	{ margin-bottom: 45px!important; }
.mB50	{ margin-bottom: 50px!important; }
.mB55	{ margin-bottom: 55px!important; }
.mB60	{ margin-bottom: 60px!important; }
.mB65	{ margin-bottom: 65px!important; }
.mB70	{ margin-bottom: 70px!important; }
.mB75	{ margin-bottom: 75px!important; }
.mB80	{ margin-bottom: 80px!important; }
@media screen and (max-width : 640px){
.mB55, .mB60, .mB65, .mB70, .mB75, .mB80 { margin-bottom: 50px!important; }
}

.mV5	{ margin-top: 5px!important; margin-bottom: 5px!important; }
.mV10	{ margin-top: 10px!important; margin-bottom: 10px!important; }
.mV15	{ margin-top: 15px!important; margin-bottom: 15px!important; }
.mV20	{ margin-top: 20px!important; margin-bottom: 20px!important; }
.mV25	{ margin-top: 25px!important; margin-bottom: 25px!important; }
.mV30	{ margin-top: 30px!important; margin-bottom: 30px!important; }
.mV35	{ margin-top: 35px!important; margin-bottom: 35px!important; }
.mV40	{ margin-top: 40px!important; margin-bottom: 40px!important; }
.mV45	{ margin-top: 45px!important; margin-bottom: 45px!important; }
.mV50	{ margin-top: 50px!important; margin-bottom: 50px!important; }

.mH5	{ margin-left: 5px!important; margin-right: 5px!important; }
.mH10	{ margin-left: 10px!important; margin-right: 10px!important; }
.mH15	{ margin-left: 15px!important; margin-right: 15px!important; }
.mH20	{ margin-left: 20px!important; margin-right: 20px!important; }
.mH25	{ margin-left: 25px!important; margin-right: 25px!important; }
.mH30	{ margin-left: 30px!important; margin-right: 30px!important; }
.mH35	{ margin-left: 35px!important; margin-right: 35px!important; }
.mH40	{ margin-left: 40px!important; margin-right: 40px!important; }
.mH45	{ margin-left: 45px!important; margin-right: 45px!important; }
.mH50	{ margin-left: 50px!important; margin-right: 50px!important; }
@media screen and (max-width : 640px){
.mH25, .mH30, .mH35, .mH40, .mH45, .mH50 { margin-left: 20px!important; margin-right: 20px!important; }
}

.m5	{ margin: 5px!important;}
.m10	{margin:10px!important;}
.m15	{margin:15px!important;}
.m20	{margin:20px!important;}
.m25	{margin:25px!important;}
.m30	{margin:30px!important;}
.m35	{margin:35px!important;}
.m40	{margin:40px!important;}
.m45	{margin:45px!important;}
.m50	{margin:50px!important;}
@media screen and (max-width : 640px){
.m25, .m30, .m35, .m40, .m45, .m50 {margin:20px!important;}
}

.mHA	{ margin-left: auto!important; margin-right: auto!important; }


/* PADDING(rem) */
.pT1rem	{ padding-top: 1rem!important; }
.pT2rem	{ padding-top: 2rem!important; }
.pT3rem	{ padding-top: 3rem!important; }

.pR1rem	{ padding-right: 1rem!important; }
.pR2rem	{ padding-right: 2rem!important; }
.pR3rem	{ padding-right: 3rem!important; }

.pL1rem	{ padding-left: 1rem!important; }
.pL2rem	{ padding-left: 2rem!important; }
.pL3rem	{ padding-left: 3rem!important; }

.pB1rem	{ padding-bottom: 1rem!important; }
.pB2rem	{ padding-bottom: 2rem!important; }
.pB3rem	{ padding-bottom: 3rem!important; }


/* PADDING(px) */
.pT5	{ padding-top: 5px!important; }
.pT10	{ padding-top: 10px!important; }
.pT15	{ padding-top: 15px!important; }
.pT20	{ padding-top: 20px!important; }
.pT25	{ padding-top: 25px!important; }
.pT30	{ padding-top: 30px!important; }
.pT35	{ padding-top: 35px!important; }
.pT40	{ padding-top: 40px!important; }
.pT45	{ padding-top: 45px!important; }
.pT50	{ padding-top: 50px!important; }
.pT55	{ padding-top: 55px!important; }
.pT60	{ padding-top: 60px!important; }
.pT65	{ padding-top: 65px!important; }
.pT70	{ padding-top: 70px!important; }
.pT75	{ padding-top: 75px!important; }
.pT80	{ padding-top: 80px!important; }
@media screen and (max-width : 640px){
.pT55, .pT60, .pT65, .pT70, .pT75, .pT80 { padding-top: 50px!important; }
}

.pR5	{ padding-right: 5px!important; }
.pR10	{ padding-right: 10px!important; }
.pR15	{ padding-right: 15px!important; }
.pR20	{ padding-right: 20px!important; }
.pR25	{ padding-right: 25px!important; }
.pR30	{ padding-right: 30px!important; }
.pR35	{ padding-right: 35px!important; }
.pR40	{ padding-right: 40px!important; }
.pR45	{ padding-right: 45px!important; }
.pR50	{ padding-right: 50px!important; }
.pR55	{ padding-right: 55px!important; }
.pR60	{ padding-right: 60px!important; }
.pR65	{ padding-right: 65px!important; }
.pR70	{ padding-right: 70px!important; }
.pR75	{ padding-right: 75px!important; }
.pR80	{ padding-right: 80px!important; }
@media screen and (max-width : 640px){
.pR25, .pR30, .pR35, .pR40, .pR45, .pR50, .pR55, .pR60, .pR65, .pR70, .pR75, .pR80 { padding-right: 20px!important; }
}

.pL5	{ padding-left: 5px!important; }
.pL10	{ padding-left: 10px!important; }
.pL15	{ padding-left: 15px!important; }
.pL20	{ padding-left: 20px!important; }
.pL25	{ padding-left: 25px!important; }
.pL30	{ padding-left: 30px!important; }
.pL35	{ padding-left: 35px!important; }
.pL40	{ padding-left: 40px!important; }
.pL45	{ padding-left: 45px!important; }
.pL50	{ padding-left: 50px!important; }
.pL55	{ padding-left: 55px!important; }
.pL60	{ padding-left: 60px!important; }
.pL65	{ padding-left: 65px!important; }
.pL70	{ padding-left: 70px!important; }
.pL75	{ padding-left: 75px!important; }
.pL80	{ padding-left: 80px!important; }
@media screen and (max-width : 640px){
.pL25, .pL30, .pL35, .pL40, .pL45, .pL50, .pL55, .pL60, .pL65, .pL70, .pL75, .pL80 { padding-left: 20px!important; }
}

.pB5	{ padding-bottom: 5px!important; }
.pB10	{ padding-bottom: 10px!important; }
.pB15	{ padding-bottom: 15px!important; }
.pB20	{ padding-bottom: 20px!important; }
.pB25	{ padding-bottom: 25px!important; }
.pB30	{ padding-bottom: 30px!important; }
.pB35	{ padding-bottom: 35px!important; }
.pB40	{ padding-bottom: 40px!important; }
.pB45	{ padding-bottom: 45px!important; }
.pB50	{ padding-bottom: 50px!important; }
.pB55	{ padding-bottom: 55px!important; }
.pB60	{ padding-bottom: 60px!important; }
.pB75	{ padding-bottom: 65px!important; }
.pB70	{ padding-bottom: 70px!important; }
.pB85	{ padding-bottom: 75px!important; }
.pB80	{ padding-bottom: 80px!important; }
@media screen and (max-width : 640px){
.pB55, .pB60, .pB75, .pB70, .pB85, .pB80 { padding-bottom: 50px!important; }
}

.pV5	{ padding-top: 5px!important; padding-bottom: 5px!important; }
.pV10	{ padding-top: 10px!important; padding-bottom: 10px!important; }
.pV15	{ padding-top: 15px!important; padding-bottom: 15px!important; }
.pV20	{ padding-top: 20px!important; padding-bottom: 20px!important; }
.pV25	{ padding-top: 25px!important; padding-bottom: 25px!important; }
.pV30	{ padding-top: 30px!important; padding-bottom: 30px!important; }
.pV35	{ padding-top: 35px!important; padding-bottom: 35px!important; }
.pV40	{ padding-top: 40px!important; padding-bottom: 40px!important; }
.pV45	{ padding-top: 45px!important; padding-bottom: 45px!important; }
.pV50	{ padding-top: 50px!important; padding-bottom: 50px!important; }

.pH5	{ padding-left: 5px!important; padding-right: 5px!important; }
.pH10	{ padding-left: 10px!important; padding-right: 10px!important; }
.pH15	{ padding-left: 15px!important; padding-right: 15px!important; }
.pH20	{ padding-left: 20px!important; padding-right: 20px!important; }
.pH25	{ padding-left: 25px!important; padding-right: 25px!important; }
.pH30	{ padding-left: 30px!important; padding-right: 30px!important; }
.pH35	{ padding-left: 35px!important; padding-right: 35px!important; }
.pH40	{ padding-left: 40px!important; padding-right: 40px!important; }
.pH45	{ padding-left: 45px!important; padding-right: 45px!important; }
.pH50	{ padding-left: 50px!important; padding-right: 50px!important; }
@media screen and (max-width : 640px){
.pH25, .pH30, .pH35, .pH40, .pH45, .pH50 { padding-left: 20px!important; padding-right: 20px!important; }
}

.p5		{ padding: 5px!important; }
.p10	{ padding: 10px!important; }
.p15	{ padding: 15px!important; }
.p20	{ padding: 20px!important; }
.p25	{ padding: 25px!important; }
.p30	{ padding: 30px!important; }
.p35	{ padding: 35px!important; }
.p40	{ padding: 40px!important; }
.p45	{ padding: 45px!important; }
.p50	{ padding: 50px!important; }
@media screen and (max-width : 640px){
.p25, .p30, .p35, .p40, .p45, .p50	{ padding: 20px!important; }
}

.p0	{ padding: 0 !important; }
.pT0	{ padding-top: 0 !important; }
.pR0	{ padding-right: 0 !important; }
.pL0	{ padding-left: 0 !important; }
.pB0	{ padding-bottom: 0 !important; }

.m0	{ margin: 0 !important; }
.mT0	{ margin-top: 0 !important; }
.mR0	{ margin-right: 0 !important; }
.mL0	{ margin-left: 0 !important; }
.mB0	{ margin-bottom: 0 !important; }

.vaT	{ vertical-align: top!important; }
.vaM	{ vertical-align: middle!important; }
.vaB	{ vertical-align: bottom!important; }

.dispn { display:none!important; }

.nodec a{ text-decoration:none!important; }

.img_border img{  padding:1px;  border:1px solid #ccc;}

#main_contents div.tbox_none img,
#main_contents div.tbox_under img
{max-width:750px;}

/*　新着情報
******************************************************************/
#topics_list6 #main_contents ul.topics li{
border-bottom: 1px #ccc dotted;
margin-bottom: 8px;
padding-bottom: 8px;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
}
#topics_list6 #main_contents ul.topics li .date{
padding-right:2em;
}


/* sitemap
******************************************************************/
#sitemap #main_contents .module_contents{padding:10px 15px;}

#main_contents .sitemap ul li.home {
list-style-type: none;
font-size:14px;
background:none!important;
}
#main_contents .sitemap ul.tree {
margin: 0 0 0 2em!important;
padding: 0!important;
list-style: none!important;
}
#main_contents .sitemap ul.tree ul {
margin: 0 0 0 2em!important;
padding: 0!important;
}
#main_contents .sitemap ul.tree li {
margin: 0!important;
padding: 0 0 0 16px!important;
background:none!important;
background-image: url(../images/tree_lst.png)!important;
background-repeat: no-repeat!important;
list-style: none!important;
border-bottom:0!important;
}
#main_contents .sitemap ul.tree li a{background:none!important;}
#main_contents .sitemap ul.tree li.tree_end {
background-image: url(../images/tree_end.png)!important;
list-style: none;
}

/* footpath
******************************************************************/
#top #footpath {display:none;}

#footpath {
margin: 15px auto;
padding: 0px;
margin-left: auto;
margin-right: auto;
margin-bottom: 0px;
clear:both;
}

#footpath a:link {
text-decoration: none;
background-color: transparent;
}
#footpath a:link:hover {
text-decoration: underline;
background-color: transparent;
}
#footpath a:link:active {
text-decoration: underline;
background-color: transparent;
}
#footpath a:visited {
text-decoration: none;
background-color: transparent;
}
#footpath a:visited:hover {
text-decoration: underline;
background-color: transparent;
}
#footpath a:visited:active {
text-decoration: underline;
background-color: transparent;
}

*html #footpath ul {

position: relative;
top: 10px;
}

#footpath ul li {
line-height: 1;
margin-right: 5px;
display: inline;
}
#footpath ul li a {
background-image: url(../images/path.png);
background-position: right center;
background-repeat: no-repeat;
padding-top: 0px;
padding-right: 15px;
padding-bottom: 0px;
}


/* managed by RCMS
******************************************************************/
.rcms{font-size:10px;text-decoration:none;}
.rcms a{text-decoration:none!important;}


/* 記事
******************************************************************/
#main_contents .topics_ymd{text-align:right;line-height: 100%;padding: 0 10px 10px 10px!important;}
#main_contents .relation_link{margin-top:30px;text-align:center;}
ul li{list-style-position: outside;}



/* お問い合わせ
******************************************************************/
#main_contents .contact_form p{
margin:5px 0 20px 10px;
padding:0;
}
#main_contents .contact_form .input_form input,
#main_contents .contact_form .input_form textarea{
width:95%;
border:1px solid #999;
padding:2px;
}
#main_contents .contact_form #inquiry_item_button_confirm,
#main_contents .contact_form #inquiry_item_button_send{
width:100px;
}
input[type="submit"], input[type="button"]{
border:1px solid #999;
padding:7px!important;
}
@media screen and (max-width : 640px){
input[type="submit"], input[type="button"]{
margin: 0 auto;
display: block;
}
}
input[type="radio"],input[type="checkbox"]{
width:20px!important;
border:0!important;
-webkit-appearance: auto;
}

label{margin-right:10px;}

#main_contents .contact_form table.des{
width:100%!important;
margin-bottom:20px!important;
}

#main_contents .contact_form .c_txt{
font-size:10px;
font-weight:normal;
margin-top:5px;
}

.login_input input{border:1px solid #999;}

@media screen and (max-width : 640px){
input[type="text"], textarea {
width: 90%;
}
}

/*** エラーテーブル ***/
table..errtable{width:50%;}
.errtable td.errmsg{
font-size:15px;
font-weight:bold;
border-bottom:1px solid #555;
padding:3px 10px;
}
.errtable ul{margin:15px 0 15px 25px;}

.required {color:#D72D02;}


/* ==================== フォームテーブル ==================== */
.c-form-input--textarea{
height:10em;
}

.c-form-policyAgree__contents {
width: 100%;
margin: 0 auto 30px;
border: 1px #CCC solid;
padding: 2%;
height: 250px;
overflow-y: scroll;
overflow-x: hidden;
box-sizing:border-box;
}

.c-form-policyAgree__check {
text-align: center;
}

.c-button, .c-button--strong, .c-button:disabled, .c-button--return {
display: inline-block;
position: relative;
padding: 1em 2em;
border-radius: 4px;
background-color: #099ad2;
color: #ffffff;
font-size: 18px;
line-height: 1.15;
cursor: pointer;
transition: 0.3s;
border: 0;
}

.c-button:hover, .c-button--strong:hover, .c-button:disabled:hover, .c-button--return:hover {
background-color: #31bff6;
}

.c-button__outer {
margin: 20px auto 40px;
text-align: center;
}

.c-button__outer button {
margin: 0 10px;
}

.c-button--strong {
font-weight: bold;
}

.c-button:disabled {
background-color: #bbb;
pointer-events: none;
}

.c-button--return {
border: solid 1px #099ad2;
background-color: #ffffff;
color: #099ad2;
}

.c-button--return:hover {
background-color: #e6e6e6;
}
.contact_form .input_form input,
.contact_form .input_form textarea,
.contact_form .input_form select {
padding: 8px!important;
line-height: 1.75;
border-radius: 5px;
border: 1px solid #999;
}
.contact_form .input_form select {
    margin-right: 0.25rem;
}
.c-form-input--textarea{
height:15em!important;
}
.c-form-policyAgree__contents {
border-radius: 5px;
border: 1px solid #999!important;
}

@media screen and (max-width:834px) {
.p-contact__table dl dt {
padding-bottom: 0;
border-bottom: none;
}
.c-form-policyAgree__contents {
padding: 10px;
margin-bottom:15px;
}
.c-form-policyAgree__check {
font-size: 16px;
font-size: 1.6rem;
}
}
@media screen and (max-width: 640px){
input[type="text"], textarea {
width: 100%!important;
box-sizing:border-box;
}
}

/* ==================== エラー ==================== */
.c-form-errorBox {
width: 100%;
margin: 20px auto;
padding: 20px;
border: 2px solid #D91E10;
background-color: rgba(217, 30, 16, 0.1);
color: #D91E10;
}

.c-form-errorBox__heading {
font-size: 16px;
font-size: 1.6rem;
font-weight: bold;
}

.c-form-errorBox__heading i {
margin-right: 10px;
vertical-align: middle;
}

.c-form-errorBox__list {
margin-top: 20px;
}

.c-form-errorBox__list li {
margin-top: 10px;
}

.c-form-error__msg {
display: block;
margin-top: 10px;
color: #D91E10;
}

.err_box{
border: 2px solid #D91E10;
}
.err_msg{
font-size: 180%;
margin: 15px;
font-weight: bold;
color:#D91E10;
}
.err_msg span{
background:linear-gradient(transparent 60%, #ff6 60%);
}
.err_list{
line-height:150%;
margin: 0 15px 15px;
}


/* テーブルデザイン .des
******************************************************************/
#main_contents table.des{
border-collapse:collapse;
border-spacing:0px;
margin:10px auto 40px;
width:100%;
}

#main_contents table.des th,
#main_contents table.des td{
border:1px solid #d0d0d0;
padding:10px;
text-align:left;
}

#main_contents table.des th{
background:#F6F6F6;
}

#amap .module_contents{
margin-top:10px;
margin-bottom:30px;
}

/*** 地図情報 ***/
.location_detail_nolist .frame_out{
border:1px solid #999;
padding:1px;
}

/* テキストボックス
******************************************************************/
/*** 　テキストボックス画像   ***/
.tbox_left {float:left;margin:0 20px 20px 0;max-width:300px;}
.tbox_right {float:right;margin:0 0 20px 20px;;max-width:300px;}
.tbox_none{float:none; text-align:center;margin-bottom:20px;;max-width:100%;}
.tbox_under{float:none; text-align:center;margin-top:20px;;max-width:100%;}

.tbox_left img,.tbox_right img, .tbox_none img, .tbox_under img{max-width:100%;}
.flex_block {display:flex;flex-wrap: wrap;justify-content: space-between;}

.flex_block .tbox_right{
    margin: 0 0 15px 0;
    max-width: 300px;
	width:100%;
    order: 2;
}
.flex_block .tbox_left{
    margin: 0 0 15px 0;
    max-width: 300px;
	width:100%;
    order: 1;
}
.flex_block .tbox_side_txt{
    margin: 0 0 15px 0;
    max-width: calc(100% - 325px);
	width:100%;
    order: 1;
}


@media screen and (max-width : 960px){
.flex_block{display:block;}
.flex_block .tbox_right{
    margin: 0 auto 15px!important;
    max-width: 960px;
	width:100%;
    order: 2;
}
.flex_block .tbox_left{
    margin: 0 auto 15px!important;
    max-width: 960px;
	width:100%;
    order: 1;
}
.flex_block .tbox_side_txt{
    margin: 0 auto 15px;
    max-width: 100%;
	width:100%;
    order: 1;
}
}

/******************
画像リスト用
*****************/
.item_listbox{width:225px; float:left;margin-right:20px;}
.item_listbox_last{width:225px; float:left;margin-right:0;}
.itemlist_text{margin:5px 0;}
.itemlist_title a.btn {
text-decoration: none;
font-weight: bold;
text-align: center;
display: block;
background: url(/files/user/img/btn_bg.jpg?v=) 0 0;
color: #FFF;
width: 225px;
line-height:29px;
}
.itemlist_title a.btn:hover{
filter:alpha(opacity=80); /*IE*/
-moz-opacity:0.8; /*FF*/
opacity:0.8;
}
.img_list{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;}
.img_list::after{content:"";display:block;width:32%;}
.imglist_box{width:32%;padding:20px 0 0 0;display:inline-block;text-align:center;vertical-align:middle;}
.imglist_box img{max-width:100%!important;max-height:100%!important;}
.img_list_txt{font-size:12px;padding-top:5px;}

/* QA
******************************************************************/
.faq_q{color:#4646e7;}
.faq_a{color:#e74646;}
.help_item table th {font-size:15px;font-weight:bold;}

.help_item table td,
.help_item table th{padding:2px;vertical-align:top;}
.help_item table td.faq_atxt{padding-bottom:25px;}
.help_item table .faq_qtxt{font-weight:bold;}

/* サイドメニューバナーリスト
******************************************************************/
.side_banner_list {text-align:center;margin-bottom:15px;}
.side_banner_list .side_banner_box{margin-bottom:20px;}
.side_banner_list .side_banner_box img{width:100%;}

dl.extensions dt {font-weight:bold;display:none;}
dl.extensions dd{margin:0 0 10px 10px;}




/* トップバナー
******************************************************************/
#bnr_list .top_bnr_list{
float:left;
width:31%;
margin: 0 1% 10px;
}

#bnr_list1 .top_bnr_list{
float:none;
width:100%;
margin: 0 2% 10px;
}
#bnr_list1 .top_bnr_list img{
float:left;
width:150px!important;
}

#bnr_list1 .top_bnr_list{clear:both;}

#bnr_list2 .top_bnr_list{
float:left;
width:45%;
margin: 0 2% 10px;
}

p.page_links{padding:0!important;margin:0!important;text-align:center;}


/* SNS
******************************************************************/
#sns_area{
display: flex;
line-height: 1;
margin-bottom: 2em;
}
#sns_twitter,#sns_facebook,#sns_line{
height: 20px;
margin-bottom: 10px;
}


/*****************************************************************
*　ページャ
******************************************************************/
.paginavi {
overflow: hidden!important;
}

.paginavi ul.pagination {
list-style: none!important;
position: relative!important;
left: 50%!important;
float: left!important;
}

.paginavi ul.pagination li {
margin: 0 1px 5px!important;
padding: 0!important;
position: relative!important;
left: -50%!important;
float: left!important;
background:url(../none.html)!important;
}

.paginavi ul.pagination li span,
.paginavi ul.pagination li a {
display: block!important;
font-size: 16px!important;
padding: 0.6em 1em!important;
border-radius: 3px!important;
}

.paginavi ul.pagination li a {
background: #EEE!important;
color: #000!important;
text-decoration: none!important;
}

.paginavi ul.pagination li a:hover {
background: #333!important;
color: #FFF!important;
}

.paginavi ul.pagination li span.active {
background: #000;
color: #FFF;
}


/*アコーディオン
-------------------------------------*/
@media screen and (max-width: 752px) {
.help_item{
    width: 94%;
	font-size:1.5rem;
    margin: 25px auto 0;
}
}
.js-acccontent {
  display: none;
}
.help_item dl.accordion {
  border-bottom: 1px solid #fff;
}
.help_item dl.accordion dt {
  background-color: #e9e9e9;
  padding: 15px 20px 15px 15px;
  position: relative;
}
.help_item dl.accordion dt,
.help_item dl.accordion dd .accordion-inner{
	display: flex;
}
.help_item dl.accordion dt:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  transition: 0.3s all ease;
  border-top: 8px solid #fff;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 0 solid transparent;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -4px;
}
.help_item dl.accordion dt.open:after {
  border-bottom: 8px solid #fff;
  border-top: 0 solid transparent;
}
.help_item dl.accordion dd .accordion-inner {
  padding: 15px;
  background-color: #fff3f3;
  line-height: 1.7;
}


/*page topに戻る
-------------------------------------*/
#page-top {
position: fixed;
bottom: 20px;
right: 20px;
font-size: 77%;
z-index: 9999;
}
#page-top a {
background: #666;
text-decoration: none;
color: #fff;
width: 100px;
padding: 30px 0;
text-align: center;
display: block;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
}
#page-top a:hover {
text-decoration: none;
background: #999;
}


/*GoogleMAP
-------------------------------------*/
.googlemap_set iframe {
width: 100%;
height: 450px;
}
@media screen and (max-width: 752px) {
.googlemap_set iframe {
width: 100%;
height: 350px;
}
}

/*　ブログ
******************************************************************/
#topics_list19 #main_contents ul.blog_list li{
border-bottom: 1px #ccc dotted;
margin-bottom: 8px;
padding-bottom: 8px;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
}

/*　採用情報
******************************************************************/
.col2_type01 .col {
float: left;
width: 31.5%;
margin-right: 3.5%;
}
.col2_type01 .col .image img{
max-width:100%;
}
.col2_type01 .col_end {
width: 65%;
margin-right: 0;
}
.col2_type01 .col_end table.des{
width:100%!important;
margin-top:0!important;
}

#jobs ul.category {
margin: 0 0 10px;
font-size: 0;
font-weight: bold;
list-style: none;
}

#jobs ul.category li {
font-size:14px;
font-weight: normal;
margin: 0 5px 5px 0;
display: inline-block;
padding: 5px 10px;
background-color: #fff;
border: solid 2px #333;
color: #333;
}

#topics_detail20 .flow{
margin-bottom:40px;
}
#topics_detail20 .flow .step:after{
clear:both;
content:url(../images/arrow.png);
text-align:center;
margin:20px auto;
visibility: initial;
}
#topics_detail20 .flow .step:last-child:after{
content:"";
margin:0;
}

#topics_detail20 .flow .step .img{
float:left;
width:280px;
margin-right:20px;
margin-bottom:1rem;
}
#topics_detail20 .flow .step .img img{
max-width:100%;
}
#topics_detail20 .flow .step .txt{
font-size:14px;
line-height:1.6;
float:left;
width:400px;
margin-bottom:1rem;
}

@supports (-ms-ime-align:auto) {
#topics_detail20 .flow .step .txt {
font-size: 14px;
}
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: ../none.html) {
#topics_detail20 .flow .step .txt:not(:target) {
font-size: 14px;
}
}


#topics_detail20 .flow .step .txt h3{
font-size:18px;
font-weight:bold;
margin:0 0 5px;
padding:0;
border:0;
}
@media screen and (max-width: 980px) {
#topics_detail20 .flow .step:after{
-webkit-transform: scale(0.4);
transform: scale(0.4);
margin:1rem auto;
}
#topics_detail20 .flow .step .img{
width:46%;
margin-right:4%;
}
#topics_detail20 .flow .step .txt{
width:50%;
}
}

#topics_detail20 .staff_box{
margin-top:10px;
margin-bottom:40px;
border-top:1px solid #ccc;
}
#topics_detail20 .staff_cont ul{
margin:0;
}
#topics_detail20 .staff_cont ul li{
border-bottom:1px solid #ccc;
padding:2vw 0;
margin:0;
}
#topics_detail20 .staff_cont ul li .image{
width:40%;
max-width:300px;
float:left;
margin:0 2vw 0 0;
padding:0;
}
#topics_detail20 .staff_cont ul li .image img{
max-width:100%;
}
#topics_detail20 .staff_cont ul li .staff_text{
padding:0 0 .5rem;
font-size:14px;
font-weight:bold;
line-height:1.6;
}
#topics_detail20 .staff_cont ul li .staff_sub,#topics_detail20 .staff_cont ul li .staff_name{
font-size:13px;
line-height:1.6;
}

#topics_detail20 .staff_more{
font-size:13px;
line-height:4;
text-align:center;
border-bottom:1px solid #ccc;
cursor:pointer;
}

#topics_detail20 .accordion{
background:#fff;
border-radius:5px;
margin-bottom:40px;
}
@media screen and (max-width : 980px){
#topics_detail20 .accordion{
margin-bottom:20px;
}
}

#topics_detail20 .trigger{
font-size:100%;
padding: 10px 10px 10px 15px;
background: #f5f5f5;
border: 1px solid #e5e5e5;
border-radius: 5px;
cursor: pointer;
box-shadow: none;
}

#topics_detail20 .trigger.active{
border-radius:5px 5px 0 0;
border-bottom:1px solid #cfcfcf;
}

#topics_detail20 .accordion_tree{
font-size:90%;
padding:15px;
background-color: #fee;
}

#topics_detail20 .open-close {
float:right;
text-indent:-9999px;
display:block;
margin-top:3px;
height:11px;
width:20px;
background:url(../images/open.png) no-repeat;
-webkit-background-size:20px 11px;
}

#topics_detail20 .trigger.active .open-close{
background:url(../images/close.png) no-repeat;
-webkit-background-size:20px 11px;
}

#main_contents table.recruit_table.des,
#topics_detail20 #google_map iframe{width:100%!important;}
#topics_detail20 table.recruit_table th{width:25%;}
#topics_detail20 #google_map{text-align:center;margin-bottom:40px;}

/*　スタッフ紹介
******************************************************************/
#topics_list24 ul.staff_list li{
float:left;
width:31%;
margin:0 3.5% 5% 0;
text-align:center;
}
#topics_list24 ul.staff_list li:nth-child(3n){
margin-right:0;
}
#topics_list24 ul.staff_list li:nth-child(3n+1){
clear:both;
}

#topics_list24 ul.staff_list li img{
max-width:100%;
margin-bottom:10px;
}


/**** btn_B ****/
.btn_B{clear:both;text-align:center;margin-bottom:50px;}
.btn_B a{
margin: 0 auto;
width: 50%;
display: block;
background: #ff8800;
color: #FFF;
font-weight: bold;
font-size: 20px;
line-height: 50px;
border-radius: 25px;
text-decoration:none;
}
.btn_B a:hover{
opacity:.8;
}
@media screen and (max-width : 980px){
.btn_B a{
width: 80%;
}
}


/*　アイキャッチ設定
******************************************************************/
#cathimg{
display:table;
width:100%;
height:200px;
margin:0 auto;
font-size:200%;
font-weight:bold;
color:#fff;
overflow:hidden;
background-position:0;
background-size:cover;
}
#cathimg .cath_text{
display:table-cell;
vertical-align:middle;
padding:0 2rem;
text-shadow: 1px 1px 5px #999;
}
@media screen and (max-width: 752px) {
#cathimg{
width:100%;
font-size:150%;
}
#cathimg .cath_text{
text-align:center;
padding:0 1rem;
text-shadow:2px 2px 2px #666;
}
}

#page_notfound div{
font-size: 100%;
}
#page_notfound p.note{
font-size: 100%;
}
@media screen and (max-width: 752px) {
#page_notfound .err_msg{
font-size: 5vw;
margin: 15px;
font-weight: bold;
color: #D91E10;
}
#page_notfound div{
font-size: 100%;
margin: 15px;
}
#page_notfound p.note{
font-size: 3vw;
margin: 15px;
}
}

table.des td .help_msg{
font-size:85%;
padding-top:5px;
}
@media screen and (max-width: 752px) {
    table.des td .help_msg{
    font-size:90%;
    }
}


/* ブログ
-----------------------------*/
.kasoupages_contents{
	margin-bottom:65px;
}
.kasoupages_contents img{
	width:100%;
	height:auto;
	margin-bottom:15px;
}
.kasoupages_contents p{
	font-size:15px;
}


/* 目次
-----------------------------*/
.table_conts{
	border:#ccc solid 2px;
	margin-bottom:45px;
	background: #ECECEC;
	padding:25px 30px;
}
#wrap_contents .table_conts_ttl{
	font-size:24px;
	font-weight:bold;
	border:0;
	border-bottom:#ccc solid 1px;
	padding-bottom:10px;
	margin-bottom:25px;
}
.table_conts_list li{
	font-size:16px;
	padding-left:1em;
}
.table_conts_list li:not(:last-child){
	margin-bottom:10px;
}
.table_conts_list li a{
	color:#0071BA;
	display:block;
	position: relative;
}
.table_conts_list li a::before{
	content: "・";
	position: absolute;
	top:0;
	left:-1em;
}

#topics_detail19 .tbox_side_txt ol{
	margin: 1em 1.5em;
}

#topics_detail19 .tbox_side_txt ul{
	margin: 1em 1.5em;
}
#topics_detail19 .tbox_side_txt ul li{
	list-style-type: disc!important;
}

@media screen and (max-width : 640px){
	.kasoupages_contents{
		margin-top:1.5em;
		margin-bottom:5rem;
		line-height: 1.7;
	}
	.kasoupages_contents img{
		width:100%;
		height:auto;
	}
	.kasoupages_contents p{
		font-size:1.5rem;
	}

	.table_conts{
		border:#ccc solid 2px;
		margin-bottom:5rem;
		background: #ECECEC;
		padding:1.5rem 2rem;
	}
	.table_conts_ttl{
		font-size:2.4rem;
		font-weight:bold;
		border-bottom:#ccc solid 1px;
		padding:0 0 .5rem;
		margin-bottom:1.5rem;
		background: none;
		color:#000;
	}
	.table_conts_list li{
		font-size:1.5rem;
		padding-left:1em;
	}
	.table_conts_list li:not(:last-child){
		margin-bottom:.7em;
	}
	.table_conts_list li a{
		color:#0071BA;
		display:block;
		position: relative;
	}
	.table_conts_list li a::before{
		content: "・";
		position: absolute;
		top:0;
		left:-1em;
	}
}

ul.col03{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}
ul.col03::after{
content:"";
display:block;
width:30%;
}
ul.col03 li{
width:30%;
margin-bottom:40px;
}
ul.col03 li .img img{
max-width:100%;
margin-bottom:10px;
}


/* プライバシーポリシー
-----------------------------*/
.pp-title.pp-title {
    font-weight: bold;
	font-size:120%;
    margin-bottom: .5rem;
}

.pp-text {
    margin-bottom: 1.5rem;
}

/* メイン画像
-----------------------------*/
ul#slider > li:not(:first-child) {
    display: none;
}