@charset "utf-8";

/*****************************************************************

	トップページ＆共通レイアウト定義

*****************************************************************/

/* ====== BASE Module SET ===== */

@view-transition {
 navigation: auto;
}

*{
	box-sizing: border-box;
}

html,
body{
	margin: 0;
	padding: 0;
}

html{
	overflow-y:scroll;
 font-size: 100%;
}

h1,h2,h3,h4,h5,h6,
p,ul,ol,dl,dt,dd,li,
table,td,th,
address,
blockquote,form,fieldset,legend,div,hr,pre{
	margin: 0;
	padding: 0;
	font-style: normal;
	text-align: left;
	font-size: 100%;
	line-height: 1.2;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}


body{
	background: #f3f3f3;
	text-align: center;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-wrap: break-word;
	overflow-wrap: break-word;
 color: #333;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

th,td{
	vertical-align: top;
}

svg,
img{
	border: 0;
	vertical-align: top;
	outline: none;
	max-width: 100%;
	height: auto;
}
svg {
 overflow-x: visible;
 overflow-y: visible;
}
img,
input,
select,
textarea{
	margin-top: 0;
	margin-bottom: 0;
	vertical-align: middle;
	font-size: 1rem;
}
select,
input[type="button"],
input[type="submit"] {
 appearance: none;
}
select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"]{
 padding:  5px;
 border: 1px solid #ccc;
}
button{
	background-color: transparent;
	border: 0;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

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

abbr{
	border: 0;
}

hr{
	margin: 2em 0;
	display: block;
	border: 0;
	border-bottom: 1px solid #ddd;
	clear: both;
}

img{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;

	-moz-transition: 0.5s;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	vertical-align: top;

	-moz-user-select: none; 
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-drag: none; 
	user-drag: none;
}

iframe{
	display: block;
	vertical-align: top;
}

i,
em{
	font-style: normal;
}

a{
	color: #000;
	background: transparent;
	transition: 0.25s;
}

a:hover,
a:focus{
	color: #666;
}

a:hover img{
}

ul li{
	list-style: none;
}

::selection{background-color:#3e5c80; color: #fff; }
::-moz-selection {background-color:#3e5c80; color: #fff; }
input::selection,
textarea::selection{background-color:#b6d6fd; color: #000; }
input::-moz-selection,
textarea::-moz-selection{background-color:#b6d6fd; color: #000; }

div,
ul,
section,
article{
	width: auto;
}

.tel_dis{ cursor: default; }

.sp_i{ display: none; }
.sp_b{ display: none; }

.pc_i{ display: inline; }
.pc_b{ display: block; }

.sp_ib{ display: none; }
.pc_ib{ display: inline-block; *display: inline; zoom: 1; }

.txt_c{ text-align: center;}
.txt_r{ text-align: right;}

/*============================================================
	TopContentsStyle
============================================================*/
 
/*============================================================
	Page / column
============================================================*/
#page{
	width: 100%;
	margin: 0 auto;
	text-align: left;
}

.inner{
	width: 100%;
	padding:  0 10px;
	text-align: left;
	margin: 0 auto;
	position: relative;
 max-width: 1280px;
}
.btn_more,
.utl a{
	font-family: "Poppins","Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","meiryo","MS P Gothic","ＭＳ Ｐゴシック","Osaka", sans-serif;
}
body{
	font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","meiryo","MS P Gothic","ＭＳ Ｐゴシック","Osaka", sans-serif;
}
.page_tit,
.member_modal h2,
.member_list h2,
.pagenation,
.news_sub,
.news_nav,
.main_image,
.tab_news,
.top_head small,
.sp_main_menu,
.menu{
 font-family: "Shippori Mincho", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.member_modal en,
.sp_main_menu,
.menu{
 font-weight: bold;
}

.top_head_about small,
.member_list .en,
.member_modal .en,
.top_head,
.top_head_sub{
 font-family: Cinzel,"Times New Roman", Times, "serif";
}
.top_head_sub small,
.top_head_about{
 font-family: "Shippori Mincho", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
/*============================================================
	Header
============================================================*/
#page{
 padding-top: 100px;
}
#page_header{
	width: 100%;
	position: fixed;
	text-align: center;
 color: #666;
 padding:  10px 0 15px 0;
 z-index: 10;
 top: 0;
 left: 0;
 background: rgba(238,238,238,0.95);
 height: 100px;
}
#page_header .inner{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 position: relative;
 align-items: flex-end;
}
#page_header a{
 text-decoration: none;
}
#page_header .logo{
 width: 320px;
 font-size: 0.78rem;
 line-height: 1;
 font-weight: normal;
}
#page_header .logo img{
 width: 100;
 display: block;
 margin-top: 15px;
}
#page_header .menu{
	position: relative;
	text-align: center;
 margin: 0 auto 0 30px;
}
#page_header .menu ul{
 font-size: 1rem;
}
#page_header .menu li{
 display: inline-block;
}
#page_header .menu a{
 display: block;
 padding: 0 1em;
 color: #666;
}
.utl{
position: absolute;
top: -5px;
right: 10px;
align-self: auto;
}
.utl a{
 display: inline-block;
 line-height: 1;
 padding: 12px 10px;
 text-align: center;
 width: 145px;
 color: #fff;
 background: #f78e41;
 text-decoration: none;
 font-size: 0.88rem;
 border-radius: 40px;
 margin-left: 10px;
 font-weight: bold;
}
.utl .contact_btn{
 background: #3e5c80;
 font-weight: normal;
}
.search_area{
 position: absolute;
 right: 10px;
 top: calc(100% - 20px);
 text-align: right;
 width: 340px;
}
.btn_search{
 display: inline-block;
 width: 40px;
 height: 40px;
 background: url("../images/btn_ser.png") no-repeat 0 0;
 background-size: contain;
 margin-bottom: 20px;
}
.btn_search_on{
 background-image: url("../images/btn_ser_on.png");
}
.search_area .s{
 display: block;
 width: 100%;
 padding:  15px 10px 15px 50px;
 font-size: 14px;
 overflow: hidden;
 border-radius: 40px;
 border: 0;
}
.search_area form{
 position: relative;
 display: none;
}
.btn_search_on+form{
 display: block;
}
.search_area .btn_s_submit{
 display: block;
 position: absolute;
 top: 8px;
 left: 15px;
 width: 25px;
}
@media screen and (max-width: 1050px) and  (min-width: 769px){
 #page{
  padding-top: 85px;
 }
 #page_header{
  height: 85px;
 }
 #page_header .logo{
  width: 220px;
 }
 #page_header .menu{
  margin: 0 auto 0 0;
 }
 #page_header .menu ul{
  font-size: 0.88rem;
 }
 .utl a{
  width: 120px;
  padding: 10px;
 font-size: 0.78rem;
 }
 .search_area{
  top: calc(100% - 15px);
  right: 10px;
  width: 240px;
 }
 .btn_search{
  width: 30px;
  height: 30px;
  margin-bottom: 20px;
 }
}
/*============================================================
	Nav
============================================================*/

/*============================================================
	Main
============================================================*/
#main{
	width: 100%;
}

/* Main Design */
#main p,
#main li,
#main dd,
#main dt,
#main blockquote,
#main pre,
#main td,
#main th{
	line-height: 1.75;
	font-size: 0.88rem;
}
#main p,
#main ul,
#main dl,
#main ol,
#main blockquote,
#main pre,
#main table{
	margin-bottom: 1em;
}

#main td,
#main th{
	margin-bottom: 0;
 padding: 5px;
}

#main h1,
#main h2,
#main h3,
#main h4,
#main h5,
#main h6{
	font-size: 1rem;
	line-height: 1.5;
	margin-bottom: 1em;
}

/* default */
#main ul ul,
#main ul p,
#main ul blockquote,
#main ul pre,
#main ul dl,
#main dl dl,
#main dl p,
#main dl ul,
#main dl ol,
#main blockquote p,
#main blockquote ul,
#main blockquote dl,
#main blockquote ol,
#main ol blockquote,
#main ol pre,
#main ol p,
#main td p,
#main td ul,
#main td dl{
}

#main ol li{ margin-left: 1.6em;}

#main *:last-child{
	margin-bottom: 0;
}

/*============================================================
	TOP
============================================================*/
#main .main_image .mark{
 display: none;
}
#main .main_image{
 position: relative;
}
#main .main_image .txt_box{
 position: absolute;
 bottom: 140px;
 left: 0;
 width: 100%;
 color: #fff;
}
#main .main_image h2,
#main .main_image p{
 padding: 0 10px;
 max-width: 1280px;
}
#main .main_image h2{
 margin: 0 auto 0.5em auto;
 line-height: 1;
 font-size: 36px;
}
#main .main_image p{
 margin: 0 auto;
 line-height: 2;
 font-size: 24px;
}
#main .main_image ul{
 padding-top: 50%;
 position: relative;
 margin: 0;
 overflow: hidden;
 background: #000;
}
#main .main_image li{
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
}
.main_image img{
 width: 100%;
 height: 100%;
 object-fit: cover;
}

/* ===== top_head ===== */
.sec_top{
 padding: 100px 0;
}
#main .top_head_sub,
#main .top_head{
 text-align: center;
 font-size: 60px;
 line-height: 1;
 font-weight: normal;
 color: #3e5c80;
 margin-bottom: 0.5em;
}
#main .top_head_sub{
 font-size: 36px; 
}
#main .top_head_sub small,
#main .top_head small{
 display: block;
 font-size: 1.5rem;
 margin-top: 0.5em;
}
#main .top_head_sub small{;
 font-size: 88%;
 
}
/* ===== news ===== */
#main .txt_read{
 text-align: left;
 margin: 0 auto;
 font-size: 1.125rem;
 line-height: 2;
 font-weight: bold;
 max-width: 800px;
 width: 100%;
}
html[lang="en"] #main .txt_read{
 max-width: 1000px;
 text-indent: 2em;
 word-break: break-all;
}
html[lang="en"] #main .txt_read+.txt_read{
 margin-top: 1em;
}
#main .txt_read strong{
 color: #f78e41;
}
.sec_top_news{
 background: #f3f3f3;
}
.sec_top_news .inner{
 display: flex;
 justify-content: space-between;
}
.sec_top_news_area{
 width: 58%;
}
#main .page_member .top_head,
#main .page_static .top_head,
#main .page_contact .top_head, 
#main .page_recruit .top_head,
#main .page_access .top_head,
#main.news_page .top_head{
 text-align: left;
 width: 100%;
 font-size: 48px;
 margin-bottom: 1.5em;
}
#main .sec_top_news .top_head{
 text-align: left;
 width: 35%;
}
#main .art_top_news a{
 display: block;
 text-decoration: none;
 border-bottom: 1px solid #999;
 padding: 25px 0;
}
/*Newsページ用*/
#main.news_page .art_top_news a{
 display: flex;
 justify-content: space-between;
}
#main.news_page .art_top_news a>p{
 width: 30%;
}
#main.news_page .art_top_news div{
 width: 65%;
}

#main .art_top_news:first-child{
 border-top: 1px solid #999;
}
#main .art_top_news p{
 margin: 0;
 font-size: 1rem;
}
#main .art_top_news time{
 font-size: 0.88rem;
 margin-right: 1em;
 vertical-align: middle;
}
#main .ico_cate{
 display: inline-block;
 font-size: 0.78rem;
 border: 1px solid #333;
 color: #333;
 line-height: 1;
 padding: 5px 1em;
 _width: 150px;
 margin-right: 1em;
 text-align: center;
 border-radius: 20px;
 vertical-align: middle;
}
#main .art_top_news p+p{
 margin: 0.75em 0 0 0;
 font-weight: bold;
}
#main .tab_news{
 margin: 0 0 25px 0;
 display: flex;
 justify-content: space-between;
}
#main .tab_news li{
 width: 24.5%;
}
#main .tab_news a{
 display: block;
 border: 1px solid #333;
 color: #333;
 text-decoration: none;
 padding: 15px 10px;
 text-align: center;
 opacity: 0.5;
}
#main .tab_news .on{
 opacity: 1;
}
/* ===== ourvalue ===== */
#main .grp{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.sec_value{
 background: #eee;
}
.sec_value .grp{
 margin-top: 35px;
 padding-top: 35px;
 border-top: 1px #ddd solid;
}
.sec_value .grp:last-child{
 padding-bottom: 35px;
 border-bottom: 1px #ddd solid;
 
}
.sec_value .txt_box{
 width: 58%;
}
#main .sec_value .txt_box p{
 line-height: 2;margin: 0;
 font-size: 1rem;
}
#main .sec_value .top_head_sub{
 text-align: left;
 width: 35%;
 margin: 0;
}
/* ===== sec_about ===== */
.sec_about{
 background: #f3f3f3;
}
.sec_about .txt_box{
 width: 40%;
 order: 1;
}
.sec_about .pic_box{
 width: 50%;
 order: 2;
}
.sec_about .mark{ display: none;}
#main .sec_about .pic_box ul{
 padding-top: 66%;
 position: relative;
 margin: 0;
 overflow: hidden;
}
#main .sec_about .pic_box li{
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
}
.sec_about .pic_box img{
 width: 100%;
}
/* ===== map_area ===== */
.map_area{
 width: 100%;
 height: 460px;
 margin: 30px 0;
}.map_area iframe{
 width: 100%;
 height: 100%;
}
#main .sec_access{
 background: #eee;
}
#main .sec_access h3{
 text-align: center;
}
#main .sec_access p{
 text-align: center;
 margin: 0;
}
#main .change{
 text-align: center;
 margin-top: 2em;
}
/* ===== btn_more ===== */
.btn_more{
 display: inline-block;
 line-height: 1;
 padding: 20px 10px;
 text-align: center;
 width: 280px;
 color: #fff;
 background: #3e5c80;
 text-decoration: none;
 border-radius: 40px;
 font-size: 1rem;
}
.btn_more:hover,
.btn_more:focus,
.utl a:hover,
.utl a:focus{
 color: #fff;
 opacity: 0.8;
}
.art_top_news a:hover,
.art_top_news a:focus,
#page_header .menu a:hover,
.foot_nav a:hover,
#page_header .menu a:focus,
.foot_nav a:focus{
 color:#3e5c80;
}
/* ===== news_article ===== */
.news_page .inner{
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.path{
 background: #dcdcdc;
 padding:  10px 0;
 margin-bottom: 65px;
}
.path .inner,
.news_page .path .inner{
 justify-content: flex-start;
 gap: 5px;
}
#main .news_article{
 width: 70.5%;
 order: 2;
}
#main .news_sub{
 width: 20%;
 order: 1;
 padding-bottom: 30px;
}
#main .news_sub h2{
 color: #3e5c80;
 font-size: 1.5rem;
 font-weight: normal
}

#main .news_sub ul{
 margin-bottom: 50px;
 border-top: 1px solid #d6d6d6;
}
#main .news_sub ul{
 margin-bottom: 25px;
}
#main .news_sub .archives_list_more{

}
#main .news_sub .archives_list li{
 display: none;
}
#main .news_sub .archives_list li:nth-of-type(1),
#main .news_sub .archives_list li:nth-of-type(2),
#main .news_sub .archives_list li:nth-of-type(3),
#main .news_sub .archives_list li:nth-of-type(4),
#main .news_sub .archives_list li:nth-of-type(5){
 display: block;
}
#main .news_sub .archives_list_on li{
 display: block;
}
#main .news_sub li{
 line-height: 1;
}
#main .news_sub ul a{
 display: block;
 text-decoration: none;
 border-bottom: 1px solid #d6d6d6;
 padding: 20px 0;
}

#main .news_article h1{
 font-size: 1.5rem;
}
#main .news_date time{
 margin-right: 1em;
}
#main .news_date time,
#main .news_date .ico_cate{
 vertical-align: middle;
}
#main .entry{
 margin-bottom: 40px;
 padding-bottom: 40px;
 border-bottom: 1px solid #ccc;
}
#main .entry p{
 margin-bottom: 2em;
 line-height: 1.75;
}
#main .pagenation ul,
#main .news_nav{
 text-align: center;
 margin: 0;
}
#main .pagenation ul{
 margin: 40px 0;
}
#main .pagenation li{
 display: inline-block;
 margin: 0 3px;
}
#main .pagenation a{
 display: block;
 color: #666;
 text-decoration:none;
 margin:  0;
 border: 1px solid #e5e5e5;
 padding: 12px;
 line-height: 1;
 position: relative;
}
#main .pagenation .active a{
 background: #e5e5e5;
}
#main .pagenation .prev a,
#main .pagenation .next a{
 padding: 12px 40px;
}
#main .news_nav a{
 display: inline-block;
 color: #666;
 text-decoration:none;
 margin:  0 1em;
 border: 1px solid #e5e5e5;
 padding: 12px 40px;
 line-height: 1;
 position: relative;
}
/* ===== page_member ===== */
#main .page_member .top_head{
 text-align: left;
}
#main .page_tit{
 font-size: 1.5rem;
 line-height: 1.5;
 margin-bottom: 1em;
 color: #3e5c80;
}
#main .txt_page_read{
 line-height: 2;
 margin-bottom: 1em;
 font-size: 1rem;
}
#main .member_list{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin: 60px 0 0 0;
}
#main .member_list li{
 width: 24%;
 margin-bottom: 60px;
}
#main .member_list a{
 display: block;
 text-decoration: none;
 text-align: center;
}
#main .member_list a>br{
 display: none;
}
#main .member_modal h2,
#main .member_modal en,
#main .member_modal charge,
#main .member_list h2,
#main .member_list p,
#main .member_list i{
 line-height: 1;
 text-align: center;
}
#main .member_modal h2,
#main .member_list h2{
 font-size: 1.5rem;
 color: #3e5c80;
 margin-bottom: 0.5em;
}
#main .member_modal .en,
#main .member_list .en{
 color: #666;
 margin-bottom: 1.5em;
}
#main .member_list .charge{
 margin-bottom: 0;
}
#main .member_list .type{
 display: none;
}

#main .member_list p{
 color: #666;
 font-size: 1rem;
}
#main .member_list img{
 width: 75%;
 max-width: 240px;
 border-radius: 50%;
 overflow: hidden;
 display: block;
 margin: 0 auto 10px auto;
}
#main .member_list em{
 font-size: 0.78rem;
 display: inline-block;
 margin: 0 2px 5px 2px;
 border: 1px solid #a5a5a5;
 padding: 8px;
 line-height: 1;
 color: #333;
 font-weight: bold;
}
html[lang="en"] #main .member_list em{
 font-size: 0.68rem;
}
.member_modal{
 display: flex;
 position: fixed;
 top: 10%;
 left: 50%;
 width: 820px;
 margin-left: -410px;
 padding: 40px;
 z-index: 30;
 background: #ebe4da;
}
.ov{
 display: none;
 position: fixed;
 bottom: 0;
 left: 0;
 top: 0;
 width: 100%;
 cursor: pointer;
 background: #000;
 opacity: 0.8;
 z-index: 20;
}
.member_modal header{
 width: 28%;
}
.member_modal .txt_box{
 width: 70%;
}
#main .member_modal h2{
 text-align: left;
 font-size: 30px;
}
#main .member_modal .en{
 font-size: 1rem;
}
#main .member_modal .charge{
 font-size: 1rem;
}
#main .member_modal th{ width: 30%;}
#main .member_modal td{ width: 70%;}
#main .member_modal td, #main .member_modal th{
 font-size: 1rem;
 line-height: 1.75;
 padding: 0 0 1em 0;
}
html[lang="en"] #main .member_modal td,
html[lang="en"] #main .member_modal th,
html[lang="en"] #main .member_modal li{
 font-size: 1.125rem;
}

.member_modal .btn_close{
 display: block;
 background: url("../images/btn_close.webp") no-repeat;
 background-size: contain;
 border-radius: 50%;
 position: absolute;
 top: -25px;
 right: -25px;
 width: 50px;
 height: 50px;
}
#main .sec_features li,
#main .member_modal li{
 margin: 0 0 0.5em 1.6em;
 list-style: disc;
}
/* ==== about ==== */
#main .sec_features h3{
 font-size: 1rem;
 margin: 2em 0 0.5em 0;
}
#main .sec_features p{
 line-height: 1.75;
 font-size: 1rem;
}
#main .sec_about_1 table{
 width: 100%;
 margin: 0;
}
#main .sec_about_1 th,
#main .sec_about_1 td{
 padding-top: 1em;
 line-height: 1.75;
 font-size: 1rem;
}
#main .sec_about_1 th{ width: 20%}
#main .sec_about_1 td{ width: 80%}
#main .page_about .txt_page_read{
 text-align: center;
 font-size: 1.125rem;
}
#main .page_image{
 margin: -65px 0 60px 0;
 position: relative;
}
#main .page_image img{
 width: 100%;
}
#main .top_head_about{
 color: #3e5c80;
 font-size: 36px;
 line-height: 1;
}
#main .top_head_about small{
 display: block;
 font-size: 1.125rem;
 margin-bottom: 1em;
 font-weight: normal;
}
.sec_about_1,
.sec_about_2{
 padding: 50px 0;
}
.sec_about_1{ background: #eee;}
.sec_about_1 .inner,
.sec_about_2 .inner{
 position: relative;
 display: flex;
 justify-content: space-between;
}
.sec_about_1 h2,
.sec_about_2 h2{
 width: 27%;
}
.sec_about_1 .txt_box,
.sec_about_2 .txt_box{
 width: 68%;
 padding-left: 65px;
 border-left:  1px solid #dbdbdb;
}
#main .sec_history_item{
 margin: 0 0 60px 0;
 position: relative;
 display: flex;
 align-items: center;
}
#main .sec_history_item::before{
 width: 15px;
 height: 15px;
 border-radius: 50%;
 background: #3e5c80;
 position: absolute;
 left: -73px;
 content: '';
}
#main .sec_history_item h3{
 margin: 0;
 width: 20%;
 color: #3e5c80;
 font-size: 1.125rem;
}
#main .sec_history_item p{
 margin: 0;
 font-size: 1rem;
}
.sec_history .txt_box{
 border-color: #ccc;padding-top: 40px
}
/* ==== access_map ==== */
.grp{
 display: flex;
 justify-content: space-between;
}
.sec_access_map_area{
 width: 45%;
 order: 1;
}
.access_map_area{
 width: 50%;
 height: 490px;
 position: relative;
 overflow: hidden;
 order: 2;
}
.access_map_area iframe{
 width: 100%;
 height: 100%;
 position: absolute;
 overflow: hidden;
 top: 0;
 left: 0;
}
#main .sec_access_map_area h2,
#main .sec_access_map_area h3{
 line-height: 1;
 font-size: 1.5rem;
}
#main .sec_access_map_area h3{
 margin-top: 2em;
}
#main .sec_access_map_area ul{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin: 0;
}
#main .sec_access_map_area p{
}
#main .sec_access_map_area li{
 width: 49%;
 margin-bottom: 50px;
}
.btn_more_s{
 display: inline-block;
 background: none;
 color: #3e5c80;
 padding: 10px 3em;
 border: 1px solid #3e5c80;
 width: auto;
 font-size: 0.88rem;
}
.btn_more_s:hover,
.btn_more_s:focus{
 color: #3e5c80;
 border: 1px solid #3e5c80;
}
#main .access_img{
 display: flex;
 justify-content: space-between;
 margin: 0;
 padding-bottom: 80px;
}
#main .access_img li{
 width: 32%;
}
/* ==== sec_recruit ==== */
.sec_recruit{
 margin-bottom: 40px;
}
.sec_recruit+.sec_recruit{
 margin-top: 80px;
}
#main .tbl_recruit{
 width: 100%;
 margin: 0;
 border-top: 1px solid #ccc;
}
#main .tbl_recruit th{ width: 20%}
#main .tbl_recruit td{ width: 80%}
#main .tbl_recruit th,
#main .tbl_recruit td{
 padding:  2em 0;
 border-bottom: 1px solid #ccc;
}
#main .tbl_recruit th{
 font-size: 1.125rem;
}
#main .tbl_recruit td{
 font-size: 1rem;
}
.page_recruit{
 padding-bottom: 80px;
}
/* ==== page_contact ==== */
.page_contact{
 padding-bottom: 80px;
}
#main .page_contact p{
 font-size: 1rem;
}
#main .page_contact h2{
 font-size: 1.5rem;
 line-height: 1;
}
.contact_set{
 display: flex;
 gap: 20px;
 margin: 50px 0;
}
.sec_contact_item{
 width: 400px;
 padding: 15px;
 border: 1px solid #000;
}
.sec_contact_item img{
 width: 52px;
 margin-right: 20px;
 vertical-align: middle;
}
#main .sec_contact_item h3{
 font-size: 1.5rem;
 color: #3e5c80;
 line-height: 1;
}
#main .sec_contact_item p{
 line-height: 1.25;
}
#main .sec_contact_item .txt_tel{
 font-size: 36px;
 line-height: 1;
 margin: 0 0 0.5em 0;
 font-weight: bold;
}
#main .txt_tel{
 font-size: 36px;
 line-height: 1;
 font-weight: bold;
}
.frm_contact_area{
 padding: 35px 20px;
 background: #fafafa;
 margin-top: 40px;
}
#main .frm_contact_area h3{
 font-size: 1rem;
 margin: 0 0 0.5em 0
}
.frm_grp{
 width: 48%;
}
.inp_text{
 display: block;
 border: 1px solid #ccc;
 background: #fff;
 padding: 8px !important;
 width: 100%;
}
.req{
 display: inline-block;
 padding: 5px;
 background: #f78e41;
 color: #fff;
 line-height: 1;
 font-size: 10px;
 margin-right: 5px;
}
.wpcf7-radio{
 display: flex;
 flex-wrap: wrap;
}
.wpcf7-list-item{
 width: 50%;
 margin: 0 !important
}
.wpcf7-list-item label{
 display: block;
 padding: 5px 0;
}
.wpcf7-acceptance label{
 display: block;
 padding: 10px;
 background: #eee;
 text-align: center;
 margin-top: 40px;
 font-weight: bold;
}
.wpcf7-acceptance .wpcf7-list-item{ width: 100%; margin: 0}
.btn_submit,
.btn_prev{
 display: inline-block;
 padding:  15px 10px;
 text-align: center;
 background: #3e5c80;
 color: #fff;
 font-size: 1.125rem;
 font-weight: bold;
 border-radius: 40px;
 line-height: 1;
 max-width: 260px;
 width: 100%;
 border: 0;
 margin: 0 10px;
}
.btn_prev{
 background: #999;
}

.btn_submit[disabled],
.btn_prev[disabled]{
 opacity: 0.25;
}
#main .frm_grp p+p{
 margin-top: -0.75em;
}

/* ====  ==== */
.page_static{
 padding-bottom: 80px;
}
#main .page_static h2{
 font-size: 1.5;
 font-size: 1.5rem;
 margin: 2em 0 1em 0;
}
#main .page_static h3{
 font-size: 1.5;
 font-size: 1.25rem;
 margin: 2em 0 1em 0;
}
#main .page_static h4{
 font-size: 1.5;
 font-size: 1.125rem;
 margin: 2em 0 1em 0;
}
#main .page_static p{
 font-size: 1rem;
}
/*============================================================
	Footer
============================================================*/
.foot_nav{
 background: #dcdcdc;
 padding:  10px 0;
}
.foot_nav li{
 line-height: 1;
 display: inline-block;
 padding: 0 1em;
 border-left: 1px solid #333;
 font-size: 0.88rem;
}
.foot_nav li:first-child{
 padding-left: 0;
 border-left: 0;
}
.foot_nav a{
 color: #333;text-decoration: none;
}
#page_footer{
	width: 100%;
	position: relative;
	text-align: center;
 background: #666;
 color: #fff;
 padding: 30px 0 60px 0;
}
#page_footer .inner{
 display: flex;
 justify-content: space-between;
}
#page_footer .txt_copy{
 line-height: 1.5;
 font-size: 0.78rem;
}
#page_footer .txt_copy img{
 width: 180px;
 display: block;
 margin-bottom: 10px;
}
#page_footer .txt_tel{
 width: 240px;
}
