@charset "utf-8";

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

	SP 共通レイアウト定義

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

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

.menu_on{
 overflow: hidden;
}
body{
 transition:  0.5s opacity;
}

img{
	max-width: 100%;
}

.tel_dis{ cursor: pointer; }

.sp_i{ display: inline; }
.sp_b{ display: block; }

.pc_i{ display: none; }
.pc_b{ display: none; }

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

#sub ul a,
.link{
	display: block;
	position: relative;
	text-decoration: none;
	overflow: hidden;
}

#sub ul a::after,
.link::after{
	content:"";
	display: block;
	width:10px;
	height:10px;
	border-top:1px solid #999;
	border-right:1px solid #999;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right:10px;
	top:50%;
	margin-top:-7px;
}

/*============================================================
	Page / column
============================================================*/
#page{
	overflow: hidden;
 padding-top: 46px;
}

.inner{
}


/*============================================================
	Nav
============================================================*/
 
.btn_sp_menu{
	position: fixed;
	top: 0;
	right: 0;
	display: block;
	width: 46px;
	height: 46px;
	background: url("../images/sp_btn.png") no-repeat;
	background-size: 100% auto;
 z-index: 11;

}
.menu_on  .btn_sp_menu{
	background-image: url("../images/sp_btn_on.png")
}
.menu_on #main,
.menu_on .foot_nav,
.menu_on #page_footer{
 opacity: 0.5;
}
#page_header{
 padding: 8px 0;
 z-index: 11;
 height: auto;
}
.menu_on #page_header {
 background: none;
}
.menu_on #page_header .logo{
 display: none;
}
#page_header .logo{
 width: 205px;
}
#page_header .logo span{
 display: none;
}
#page_header .logo img{
 margin: 0;
}
#page_header .menu{
 display: none;
}
.utl{
 display: none;
}
.sp_menu{
	overflow: auto;
 scrollbar-width: none;
 transform: translateX(100%);
 transition: 0.25s transform;
 position: fixed;
 top: 0;
 bottom: 0;
 width: 100%;
 background: #3e5c80;
 color: #fff;
 z-index: 10;
 padding:  80px 20px 50px 20px;
}
.menu_on  .sp_menu{
	transform: translateX(0%);
}

.sp_menu .s{
 display: block;
 width: 100%;
 padding:  10px 10px 10px 30px;
 font-size: 10px;
 overflow: hidden;
 border-radius: 40px;
 border: 0;
}
.sp_menu form{
 position: relative;
}
.sp_menu .btn_s_submit{
 display: block;
 position: absolute;
 top: 10px;
 left: 10px;
 width: 15px;
}
.sp_menu a{
 color: #fff;
 text-decoration: none;
 display: block;
 line-height: 1;
}
.sp_menu .sp_main_menu{
 font-size: 1rem;
 border-top: 1px solid #999;
 margin: 20px 0;
}
.sp_menu .sp_main_menu a{
 padding:  10px 0;
}
.sp_menu .sp_main_menu li{
 border-bottom: 1px solid #999;
}
.sp_menu .sp_main_menu li li{
 border-bottom: 0;
 margin-left: 1em;
}
.sp_menu .sp_main_menu ul{
 padding: 0 0 10px 0;
 font-size: 0.88rem;
}
.sp_menu .sp_sub_menu{
 font-size: 0.88rem;
}
.sp_menu .sp_sub_menu a{
 padding: 5px 0;
}
.sp_menu .utl {
 display: block;
 position: static;
 text-align: center;
 margin-top: 20px;
}
.sp_menu a{
 margin: 0 5px;
 display: inline-block;
}
.sp_menu .utl .contact_btn{
 background: #fff;
 color: #3e5c80;
}
.sp_menu .txt_tel{
 margin: 30px 0 0 0;
 text-align: center;
}
.sp_menu .txt_tel img{
 width: 192px;
}

/*============================================================
	TOP
============================================================*/
#main p,
#main li,
#main dd,
#main dt,
#main blockquote,
#main pre,
#main td,
#main th{
	line-height: 1.5;
	font-size: 0.78rem;
}

#main .main_image .txt_box{
 bottom: 50px;
 left: 10px;
}
#main .main_image h2{
 font-size: 20px;
}
#main .main_image p{
 font-size: 16px;
}
#main .main_image ul{
 padding-top: 144%;
}
/*============================================================
	top_news
============================================================*/
.sec_top_news .inner{
 display: block;
}
.sec_top_news_area{
 width: 100%;
}
#main .sec_top_news .top_head{
 width: 100%;
}
#main .art_top_news a{
 padding: 12px 0;
}
#main .art_top_news p{
}
#main .art_top_news time{
}
#main .ico_cate{
}
#main .art_top_news p+p{
 margin: 0.75em 0 0 0;
}
/*Newsページ用*/
#main.news_page .art_top_news a{
 display: block;
}
#main.news_page .art_top_news a>p{
 width: 100%;
}
#main.news_page .art_top_news div{
 width: 100%;
 margin-top: 1em;
}

#main .tab_news{
 margin: 0 0 25px 0;
}
#main .tab_news li{
 font-size: 0.68rem;
 letter-spacing: -0.05em;
}
#main .tab_news a{
 padding: 10px 0;
}
#main .art_top_news p{
 font-size: 0.78rem;
}
/*============================================================
	sec_top
============================================================*/
/* ===== top_head ===== */
.sec_top{
 padding: 50px 0;
}
#main .top_head_sub,
#main .top_head{
 text-align: left;
 font-size: 24px;
}
#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{
 font-size: 24px;
}
#main .top_head_sub{
 font-size: 18px; 
}
#main .top_head_sub small,
#main .top_head small{
 font-size: 0.78rem;
}

/*============================================================
	our value
============================================================*/
#main .txt_read {
 text-align: left;
 line-height: 1.75;
 font-size: 0.78rem;
}
#main .grp{
 display: block;
}
.sec_value .grp{
 margin-top: 17px;
 padding-bottom: 17px;
}
.sec_value .grp:last-child{
 padding-bottom: 17px;
 
}
.sec_value .txt_box{
 width: 100%;
}
#main .sec_value .txt_box p{
 line-height: 2;
 font-size: 0.88rem;
}
#main .sec_value .top_head_sub{
 text-align: left;
 width: 100%;
 margin-bottom: 1em;
}

/*============================================================
	sec_about
============================================================*/

.sec_about .txt_box{
 width: 100%;
}
.sec_about .pic_box{
 width: 100%;
 margin-bottom: 15px;
}
.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%;
}
/* ===== btn_more ===== */
.btn_more{
 padding: 12px 10px;
 width: 280px;
 font-size: 1rem;
}
.map_area {
 height: 230px;
 margin: 15px 0px;
}
/*============================================================
	news_article
============================================================*/
.path{
 margin-bottom: 30px;
}
.news_page .inner{
 display: block;
}
.news_page .path .inner,
.news_page .path{
 margin-bottom: 35px;
}
.news_page .path .inner{
 display: flex;
 justify-content: flex-start;
 gap: 5px;
}
#main .news_article{
 width: 100%;
 margin-bottom: 30px;
}
#main .news_sub{
 width: 100%;
 padding-bottom: 30px;
}
#main .news_sub h2{
 color: #3e5c80;
 font-size: 1.125rem;
}

#main .news_sub ul{
 margin-bottom: 25px;
}

#main .news_sub ul a{
 padding: 10px 0;
}

#main .news_article h1{
 font-size: 1.25rem;
}
#main .entry{
 margin-bottom: 20px;
 padding-bottom: 20px;
}

#main .pagenation ul{
 margin-top: 20px;
}
#main .pagenation li{
 display: inline-block;
 margin: 0 3px;
}
#main .pagenation a{
 padding: 10px;
}
#main .pagenation .prev a,
#main .pagenation .next a{
 padding: 10px 20px;
}
#main .news_nav a{
 padding: 10px 20px;
}
/*============================================================
	XXpage_memberXX
============================================================*/

#main .page_tit{
 font-size: 1.25rem;
}
#main .txt_page_read{
 line-height: 2;
 margin-bottom: 1em;
 font-size: 0.88rem;
}
#main .member_modal h2, #main .member_list h2{
 font-size: 1.125rem;
}
#main .member_list{
 margin: 30px 0 0 0;
}
#main .member_list li{
 width: 49%;
 margin-bottom: 30px;
}
#main .member_list img{
 width: 75%;
 max-width: 240px;
}
#main .member_list .type{
 display: flex;
 gap: 5px;
 flex-wrap: wrap;
 justify-content: center;
}
#main .member_list em{
 font-size: 0.78rem;
 margin: 0;
 padding: 4px;
}
#main .member_list p{
 font-size: 0.88rem;
}
#main .member_list .charge{
 font-size: 0.88rem;
 margin-bottom: 2em;
}
.member_modal{
 position: fixed;
 top: 5%;
 left: 50%;
 width: 100%;
 max-width: 300px;
 margin-left: -150px;
 padding: 20px;
 display: block;
}
.member_modal header{
 width: 100%;
 margin-bottom: 1em;
}
.member_modal .txt_box{
 width: 100%;
 overflow: auto;
 max-height: 50vh;
 scrollbar-color: #3e5c80 #ebe4da;
 scrollbar-width: thin;
}
.member_modal .txt_box::-webkit-scrollbar {
 width: 5px; /* スクロールバーの横幅 */
}
.member_modal .txt_box::-webkit-scrollbar-track-piece {
 background-color: #ebe4da;
}
.member_modal .txt_box::-webkit-scrollbar-thumb {
 background-color: #3e5c80;
 border: 1px solid #3e5c80;
 border-radius: 10px;
 background-clip: content-box;
}

.member_modal .txt_box table{
 width: 100%;
 margin: 0;
}
#main .member_modal h2{
 text-align: left;
 font-size: 1.5rem;
}
#main .member_modal .en{
 font-size: 0.88rem;
 margin-bottom: 1em;
}
#main .member_modal .charge{
 font-size: 1rem;
}
#main .member_modal th{ width: 40%;}
#main .member_modal td{ width: 60%;}
#main .member_modal td, #main .member_modal th{
 font-size: 0.88rem;
 line-height: 1.75;
 padding: 0 0 1em 0;
}
.member_modal .btn_close{
 top: -15px;
 right: -15px;
 width: 30px;
 height: 30px;
}

/*============================================================
	About
============================================================*/
#main .sec_features p,
#main .sec_features h3{
 font-size: 0.88rem;
}
#main .page_about .txt_page_read{
 text-align: left;
 font-size: 0.88rem;
}
#main .page_image{
 margin: -30px 0 30px 0;
}
#main .top_head_about{
 font-size: 1.25rem;
}
#main .top_head_about small{
 font-size: 0.88rem;
 margin-bottom: 1em;
}
#main .sec_about_1 th,
#main .sec_about_1 td{
 font-size: 0.88rem;
}
.sec_about_1,
.sec_about_2{
 padding: 25px 0;
}
.sec_about_1 .inner,
.sec_about_2 .inner{
 position: relative;
 display: block;
}
.sec_about_1 h2,
.sec_about_2 h2{
 width: 100%;
}
.sec_about_1 .txt_box,
.sec_about_2 .txt_box{
 width: 100%;
 padding-left: 30px;
}
.sec_about_1 .txt_box{ padding-left: 0; border: 0;}
.sec_history .txt_box{ padding-bottom: 20px;}
#main .sec_history_item{
 margin: 0 0 30px 0;
 display: block;
}
#main .sec_history_item:last-child{ margin-bottom: 0;}
#main .sec_history_item::before{
 left: -38px;
 top: 5px;
}
#main .sec_history_item h3{
 margin: 0;
 width: 100%;
 color: #3e5c80;
 font-size: 1rem;
}
#main .sec_history_item p{
 margin: 0;
 font-size: 0.88rem;
}
.sec_history .txt_box{
 padding-top: 20px
}

/*============================================================
	access_map
============================================================*/
.grp{
 display: block;
}
.sec_access_map_area{
 width: 100%;
 margin-bottom: 0;
}
.access_map_area{
 width: 100%;
 height: 250px;
 margin-bottom: 30px;
}
#main .sec_access_map_area h2,
#main .sec_access_map_area h3{
 font-size: 1.125rem;
}
#main .sec_access_map_area ul{
 _display: block;
 margin: 0;
}
#main .sec_access_map_area p{
}
#main .sec_access_map_area li{
 margin-bottom: 25px;
 _width: auto;
}
.btn_more_s{
 padding: 10px 2em;
 width: auto;
 font-size: 0.78rem;
}
#main .access_img{
 padding-bottom: 40px;
 display: block;
}
#main .access_img li{
 width: 100%;
 margin-top: 10px;
}
/*============================================================
	recruit
============================================================*/
.sec_recruit{
 margin-bottom: 20px;
}
.sec_recruit+.sec_recruit{
 margin-top: 40px;
}
#main .tbl_recruit th{ width: 40%}
#main .tbl_recruit td{ width: 60%}
#main .tbl_recruit th,
#main .tbl_recruit td{
 padding:  1em 0;
 border-bottom: 1px solid #ccc;
 line-height: 1.75;
 font-size: 0.88rem;
}
.page_recruit{
 padding-bottom: 40px;
}
/*============================================================
	page_contact
============================================================*/
.page_contact{
 padding-bottom: 40px;
}
#main .page_contact h2{
 font-size: 1.125rem;
}#main .page_contact p{
 font-size: 0.88rem;
}
.contact_set{
 display: block;
 gap: 10px;
 margin: 25px 0;
}
.sec_contact_item{
 width: 100%;
 padding: 10px;
 margin-top: 10px;
}
.sec_contact_item img{
 width: 25px;
 margin-right: 10px;
}
#main .sec_contact_item h3{
 font-size: 1.125rem;
}
#main .sec_contact_item p{
}
#main .sec_contact_item .txt_tel{
 font-size: 1.5rem;
}
.frm_contact_area{
 padding: 20px 10px;
 margin-top: 20px;
}
#main .frm_contact_area h3{
 font-size: 1rem;
}
.frm_grp{
 width: 100%;
 margin-bottom: 1em;
}

.inp_text{
 display: block;
 border: 1px solid #ccc;
 background: #fff;
 padding: 8px !important;
 width: 100%;
}
.wpcf7-radio{
 display: flex;
 flex-wrap: wrap;
 
}
.wpcf7-list-item{
 width: 50%;
}
.wpcf7-list-item label{
 display: block;
 padding: 5px 0;
}
.wpcf7-acceptance label{
 display: block;
 padding: 10px;
 background: #eee;
 text-align: center;
 margin-top: 40px;
}
.btn_submit,
.btn_prev{
 display: block;
 padding: 10px;
 font-size: 1rem;
 line-height: 1;
 max-width: 260px;
 margin: 0 auto 20px auto;
}
/*============================================================
	page_static
============================================================*/
/* ====  ==== */
.page_static{
 padding-bottom: 30px;
}
#main .page_static h2{
 font-size: 1.25rem;
}
#main .page_static h3{
 font-size: 1.125rem;
}
#main .page_static h4{
 font-size: 1rem;
}
#main .page_static p{
 font-size: 0.88rem;
}
/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	Footer
============================================================*/
#page_footer{
 padding: 20px 0 30px 0;
}
#page_footer .inner{
 display: block;
}
#page_footer .txt_copy{
 line-height: 1.5;
 font-size: 0.78rem;
}
#page_footer .txt_copy img{
 width: 120px;
}