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

@media screen and (max-width:736px) {
    html, body {
        width: 100%;
        -webkit-text-size-adjust : 100%;
        font-size: 3.5vw;
        line-height: 1.7em;
    }

    img {
        max-width: 100% !important;
        height: auto;
        vertical-align: bottom;
    }

    .mobile{display: inherit;}
    .pc{display:none;}

    .inner,.inner_min,.inner_wide{
        width: 94%;
        margin: 0 auto;
    }
	
	.min-w{
		min-width: 100%;
		box-sizing: border-box;
	}
	.sp_only{
		display: block;
	}
	
	/*----------

	index

	---------*/
	.index_slider .slider .slick-track {
		gap: 0 20px;
	}
	.index_slider .slider .slide {
		width: 300px;
	}
	.index_slider .slider-control {
		gap: 0 20px;
	}

	h2.index_ttl{font-size:3.5vw;}
	h2.index_ttl span{
		display: block;
		font-size: 7vw;
		margin-bottom: 8px;
	}

	.index_news{
		padding: 20px 0;
		background-image: url(../images/page/index/bg_blue.jpg);
		background-position: center bottom;
		background-size: 100% 50%;
		background-repeat: no-repeat;
	}
	.index_news .inner{
		background-color: #f0f0f0;
		padding: 8% 3%;
		box-sizing: border-box;
	}
	.index_news h2{float:none; width:100%; text-align: center; margin: 0 0 20px;}
	.index_news .news_list.index{float:none; width:100%;}

	.tab_area{border: 3px solid #00bdd4; width: 100%; margin-bottom: 24px;}
	.tab_area li{
		float: left;
		width: 24%;
		padding: 20px 0;
		text-align:center; 
		cursor: pointer; 
		color:#333;
	}
	.tab_area li:last-child{width:52%;}

	.content_area ul li{margin-bottom: 15px;}
	.content_area ul li dl dt,
	.content_area ul li dl dd{display: table-cell; vertical-align: middle; box-sizing: border-box;}
	.content_area ul li dl dt{width: 100px; font-size: 3.3vw;}
	.content_area ul li dl dd{padding: 6px 0; text-align: center; color: #fff; width: 70%;}

	.index_newsarea{
		padding: 20px 0;
		background-image: url(../images/page/index/bg_blue.jpg);
		background-position: center bottom;
		background-size: 100% 50%;
		background-repeat: no-repeat;
	}
	.index_newsarea .inner{
		background-color: #f0f0f0;
		padding: 8% 3%;
		box-sizing: border-box;
	}
	.index_newsarea h2{float:none; width:100%; text-align: center; margin: 0 0 20px;}
	.index_newsarea li.index_news_item{width:100%;float:none;margin-bottom:50px;}
	.index_newsarea li.index_news_item:last-child{margin-bottom:0;}
	.index_newsarea .news_list.index{float:none; width:100%;}

	.index_newsarea .content_box ul li{margin-bottom: 15px;}
	.index_newsarea .content_box ul li dl dt,
	.index_newsarea .content_box ul li dl dd{display: table-cell; vertical-align: middle; box-sizing: border-box;}
	.index_newsarea .content_box ul li dl dt{width: 100px; font-size: 3.3vw;}
	.index_newsarea .content_box ul li dl dd{padding: 6px 0; text-align: center; color: #fff; width: 70%;}
	.index_newsarea .content_box p.more_txt{
			width: 23vw;
			margin: 0 0 0 auto;
	}
	
	.index_newsarea .content_box p.more_txt a{
			font-size: 3.5vw;
			margin-right:0;
	}

	.index_newsarea .content_box a.more_txt{
			font-size: 3.5vw;
			margin-right:0;
	}

	section.index_buisness{
		background-color: #466ca3;
		padding: 40px 0;
	}
	section.index_buisness h2,
	section.index_buisness p{
		text-align: center;
		color: #fff;
	}

	section.index_buisness h2{margin-bottom:40px;}
	section.index_buisness p{font-size:5vw; line-height: 1.8em;}

	section.index_buisness .bs_bnr{margin-top: 30px;}
	section.index_buisness .bs_bnr ul{
		position:inherit;
		/*background: url(../images/page/index/bg_iuk.png) no-repeat center center;}*/
		background:none;
		height:auto; 
	}
	section.index_buisness .bs_bnr ul li{position:inherit; float: left; width: 48%; margin:0 1% 20px;}

	
	/*----------

	下層ページ共通

	---------*/

	#contents{margin-bottom: 70px;}
	#contents section{margin-bottom: 80px;}

	/* パンくず */
	#breadcrumbs{
		display: none;
	    font-size: 1.8vw;
	    padding: 0 0 30px;
	}
	#breadcrumbs ul li{float: left;}
	#breadcrumbs ul li a{
	    background: url(../images/common/icon_pan.png) right center no-repeat;
	    padding:0 16px 0 0;
	    margin-right: 8px;
		text-decoration: underline;
	    display: block;
	}
	#breadcrumbs ul li a:hover{text-decoration: none;}
	#breadcrumbs ul li.breadcat a:not(:nth-last-child(1)){
	    background:none;
	    padding-right:0;
	}

	/* 各メインイメージ */
	.page_main{
		padding: 32% 2% 2%;
		box-sizing: border-box;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center 5%;
		margin-bottom: 20px;
	}

	.page_main .main_ttl{
		padding:3% 0;
		background-color: rgba(255,255,255,0.9);
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}
	.page_main .main_ttl p{
		background-color: #00bdd4;
		color: #fff;
		text-align: center;
		width: 80%;
		padding: 5px 30px;
		margin:0 auto 5px;
		box-sizing: border-box;
		font-size:3vw;
		border-radius: 30px;
		letter-spacing: 0em;
	}
	.page_main .main_ttl h1{
		font-size: 4.5vw;
		letter-spacing: 0.1em;
		line-height: 1.6em;
	}
	.page_main .main_ttl h1 span{
		display: block;
		font-size:2.5vw;
		letter-spacing: 0em;
	}


	/*　イメージ画像なしのメイン　*/
	.page_main.blue{
		background-image:none;
		padding: 0 0;
	}
	.page_main.blue h1{
		font-size: 4.5vw;
		color:#fff;
		text-align: left;
		padding: 10% 5%;
		background:none;
		width: 100%;
		display: flex;
		align-items: center;
		box-sizing: border-box;
	}
	.page_main.blue h1:before {
		border-top: 1px solid #fff;
		content: "";
		/*flex-grow: 1;*/
		margin-right: 20px;
		width:6%;
	}

	.subttl001{
		border-left:5px solid #30c6d1;
		padding: 10px 20px;
		margin-bottom: 30px;
		font-weight: bold;
		font-size: 4.5vw;
		line-height: 1.7em;
	}
	.subttl001 span{
		font-size:2.5vw;
		font-weight: normal;
		display: block;
		margin:15px 0 0;
	}

	.subttl002{
		border-top:1px solid #ccc;
		text-align: center;
		margin-bottom: 35px;
		font-size: 4.5vw;
		line-height: 1.7em;
		font-weight: bold;
		letter-spacing:0.2em;
	}
	.subttl002:before{
		content: '';
		display: block;
		background: #466ca3;
		height: 5px;
		width: 30%;
		margin: -3px auto 20px;
	}
	.subttl002 span{
		display: block;
		font-size:2.5vw;
	}

	.subttl003{
		text-align: center;
		border-radius: 40px;
		/*border:solid 2px #466ca3;*/
		background-color: #466ca3;
		color: #fff;
		font-size: 4vw;
		font-weight: bold;
		padding: 15px;
		width: 90%;
		box-sizing: border-box;
		margin:60px auto 30px; 
	}

	.boldtxt{font-weight: bold; margin-bottom: 8px;}

	/*----------

	事業内容

	---------*/

	/* 親ページ */
	.child_list article{
		width: 85%;
		margin: 0 auto 10%;
	}
	.child_list article h2{
		position: relative;
		overflow: hidden;
		text-align: center;
		background-color: #fff;
	}
	.child_list article h2 a{
		padding: 60px 0;
		display: block;
		color: #333;
	}
	.child_list article h2 a span {
		color: #fff;
		background-color: #00bdd4;
		padding: 10px 5px;
		text-align: center;
		width: 80%;
		display: block;
		margin:0 auto; 
	    z-index: 1;
	    position: relative;
	}

	.child_list article p{font-size:3.5vw; margin-top: 10px;}
.child_list article.notice{
	padding: 10px;
}
.child_list article.notice p{
    font-size: 4.5vw;
		line-height:1.6em;
	}

	/* 子ページ */
	.main_content{float:none; width:100%; margin-bottom: 50px;}
	#sidebar{float:none; width:100%;}

	.main_content.business h2{
		color:#466ca3;
		font-size: 5vw;
		margin-bottom: 30px;
		line-height: 1.8em;
	}

	.main_content.business article{margin-bottom: 80px;}
	.main_content.business article div.business_inner{margin-left:3%;margin-right: 3%;}

	.main_content.business article dl.list_servicemenu{margin-bottom: 24px;}

	.main_content.business article ul.list_servicemenu li,
	.main_content.business article dl.list_servicemenu dt{
		background:url(../images/page/business/icon_blue.png)no-repeat 15px center;
		padding: 15px 10px 15px 40px;
		margin-bottom:15px;
		border-radius: 40px;
		border:1px solid #466ca3;
	}
	.main_content.business article dl.list_servicemenu dd{margin: 0 0 10px 30px;}

	.main_content.business article div.list_service dl{
		border:3px solid #466ca3;
		padding:5% 3%; 
	    margin-bottom: 15px;
	    font-size:4vw;
	    box-sizing: border-box;
	    display: flex;
	}
	.main_content.business article div.list_service dl dt{
		color: #fff;
		background-color: #466ca3;
		margin-right: 10px;
		width: 30px;
		height: 30px;
		line-height: 30px;
		font-size:4vw;
		text-align: center;
	}
	.main_content.business article div.list_service dl dd{width: 94%; line-height: 1.7em;}

	.main_content.business article div.list_service.merit dl{border:5px solid #00bdd4;}
	.main_content.business article div.list_service.merit dl dt{background-color: #00bdd4;}
	.main_content.business article div.list_service.merit dl dd span{font-weight: bold; color:#00bdd4; display: block; margin-bottom: 12px; }

	.main_content.business article ul.list_company{margin-bottom: 20px;}
	.main_content.business article ul.list_company li{
		width: 100%;
		margin: 0 0;
		border-bottom: 1px solid #ccc;
		padding: 15px 10px;
		box-sizing: border-box;
	}
	.main_content.business article ul.list_company li:nth-child(1){border-top: 1px solid #ccc;}
	.main_content.business article ul.list_company li:nth-child(2){border-top:none;}

	.main_content.business article ul.list_flow li{
		width: 100%;
		height: auto;
		padding:8% 0;
		text-align: center;
		margin:0 0 50px 0;
		box-sizing: border-box;
		position: relative;
		font-size: 4.5vw;

	}
	.main_content.business article ul.list_flow li:nth-of-type(1){border:4px solid #466ca3; color: #466ca3; padding-top: 35px;}
	.main_content.business article ul.list_flow li:nth-of-type(2){border:4px solid #3580af; color: #3580af;}
	.main_content.business article ul.list_flow li:nth-of-type(3){border:4px solid #2394bc; color: #2394bc;}
	.main_content.business article ul.list_flow li:nth-of-type(4){border:4px solid #12a9c8; color: #12a9c8;}
	.main_content.business article ul.list_flow li:nth-of-type(5){border:4px solid #00bdd4; color: #00bdd4; margin-right: 0;}

	.main_content.business article ul.list_flow li:after{
		content:"";
		width: 12px;
		height:20px;
		position: absolute;
		top:auto;
		bottom: -40px;
		right:50%;
		transform:rotate(90deg);
	}

	.main_content.business article p.bb_box{border:5px solid #466ca3; padding:8% 5%; margin-bottom: 50px; font-size: 4vw; line-height: 1.7em;}
	.main_content.business article p.tacimg{text-align: center; margin-bottom: 50px;}

	.img_unit{
		text-align: center;
		border:5px solid #f4f4f4;
		margin:20px 0;
		padding: 30px;
		box-sizing: border-box;
	}
	.img_unit img{max-width: 100%;}

	.faqbox{
		background-color: #f4f4f4;
		padding:8% 5%;
		margin-top: 40px;
	}
	.faqbox h4{font-weight: bold; margin-bottom:8px; font-size: 4vw;}

	.spectable table{width: 100%;}
	.spectable table th,
	.spectable table td{box-sizing: border-box; padding:20px 3%; vertical-align: middle; border:1px solid #ccc;}
	.spectable table th{width: 35%; background-color: #466ca3; color: #fff;}
	.spectable table td{width: 65%;}

	.spectable table td.rowtd{width:25%;}

	.point_list{margin-bottom: 60px;}
	.point_list h4{
		display:table;
		width: 100%;
		border-top:1px solid #466ca3;
		color: #466ca3;
		margin-bottom: 30px;
		font-size:4vw;
		font-weight: bold;
	}
	.point_list h4 span:first-child{
		width: 20%;
		text-align:center;
		border-right:none;
		background-color: #466ca3;
		color: #fff;
		font-size: 2.5vw;
	}
	.point_list h4 span{padding: 3%; box-sizing: border-box; display: table-cell;vertical-align: middle;}
	.point_list p{margin-bottom: 30px;}

	.taiou{
		background-color: #f4f4f4;
		padding:8% 5%;
		margin: 40px 0;
	}
	.taiou h4{
		text-align: center;
		background-color: #466ca3;
		color: #fff;
		border-radius: 40px;
		width: 80%;
		padding: 10px 0;
		margin: 0 auto 20px;
	}

	.other_point{border-top:1px solid #ccc; padding-top: 30px; margin-bottom: 30px;}
	.other_point .op_text{float: none; width: 100%;}
	.other_point .op_text h5{font-size: 4vw; color:#466ca3; font-weight: bold; margin-bottom: 20px;}
	.other_point .op_img{float: none; width: 100%; text-align: center;}
	.other_point .op_img img{fwidth: 100%;}

	.last_caption{margin-top: 40px; font-size: 13px;}
	.last_caption p:nth-child(n+2){margin-top: 24px;}

	/* サイドバー */
	#sidebar .sd_head{border-bottom: 1px solid #ccc;}
	#sidebar .sd_head:nth-child(1){border-top: 1px solid #ccc;}
	#sidebar .sd_head p{
		background-color: #00bdd4;
		color: #fff;
		text-align: center;
		font-size:4.5vw;
		width: 35px;
		padding-top: 40px;
		box-sizing: border-box;
	}
	#sidebar .sd_head h3{width: 90%;}
	#sidebar .sd_head h3 a{
		display: block;
		color: #000;
		font-size:4vw;
		box-sizing: border-box;
		padding: 20px 0 20px 10px;
	}
	#sidebar .sd_head h3 a span{
		color: #00bdd4;
		font-size: 2.5vw;
		display: block;
		margin-bottom: 2px;
	}

	#sidebar .sd_head h3 a:hover span{color: #fff;}

	#sidebar ul.sd_child{
		margin-left: 30px;
		text-align: left;
	}
	#sidebar ul.sd_child li a{
		display: block;
		color:#000;
		padding: 15px 10px;
		font-size: 3.5vw;
		text-align: left;
		border-left: 5px solid #466ca3;
		border-bottom: 1px solid #ccc; 
	}
		

	

	/*----------

	会社情報

	---------*/

	/* ごあいさつ */
	.gteeting_contet .gree_head{
		background-image: url(../images/page/corp/greeting/bg_greeting.jpg);
		background-size: 100%;
		background-position: right center;
		background-repeat: no-repeat;
		padding:10% 5% ;
		margin:0 0 40px;
/*		color: #fff;  */
	}
	.gteeting_contet .gree_head h2{
		font-size:5vw;
		margin-bottom: 30px;
	}
	.gteeting_contet .gree_head dl{font-size: 2.5vw;}
	.gteeting_contet .gree_head dl dd span{font-size: 3.5vw; vertical-align: middle;}

	.gteeting_contet article{margin:0 5%; line-height: 2em;}
	.gteeting_contet article p:nth-child(n+2){margin-top: 24px;}

	/* 経営理念 */
	.iukprinciple{
		background-image: url(../images/common/bg_blue.jpg);
		background-size:100% 65%;
		background-position: center top;
		background-repeat: no-repeat;
		color: #fff;
		padding: 40px 0 0;
	}

	.iukprinciple div.pri_left{
		padding-top: 0px;
		width: 100%;
		float: none;
		text-align: center;
		margin-bottom: 40px;
	}
	.iukprinciple div.pri_left h2{
		font-size: 24px;
		margin-bottom: 30px;
	}
	.iukprinciple div.pri_left h2 span{
		display: block;
		font-size: 13px;
		margin-top: 15px;
	}
	.iukprinciple div.pri_left p{line-height: 1.8em; text-align: left;}
	.iukprinciple div.pri_left p br{display: none;}

	.iukprinciple div.pri_right{
		width: 100%;
		float: none;
	}
	.iukprinciple div.pri_right ul li{
		width: 48%;
		margin:0 1% 2%;
		padding:40px 5px;
		font-size:3.5vw;
		line-height: 1.7em;
		border:4px solid #fff;
		background-color: #00bdd4; 
		box-sizing: border-box;
		text-align: center;
	}
	.iukprinciple div.pri_right ul li span{
		display: block;
		margin-top: 14px;
	}

	.iukprinciple h3{
		text-align:left;
		font-size:5vw;
		line-height: 2em;
		margin-top: 40px;
	}

	/* グループ */
	.link_btn a{
		display: block;
		border-radius: 6px;
		text-align: center;
		color: #fff;
		background-color: #466ca3;
		border:1px solid #466ca3;
		padding: 24px 0;
		font-size:3.5vw;
		width: 85%;
		margin:20px auto;
		box-sizing: border-box;
	}

	.tableunit{margin-top: 40px;}
	.tableunit table{width: 100%;}
	.tableunit table th,
	.tableunit table td{
		box-sizing: border-box;
		padding:24px 4%;
		vertical-align: middle;
		display: block;
	}
	.tableunit table th{width: 100%; border-top:2px solid #466ca3; font-weight: bold;}
	.tableunit table td{width: 100%; border-top:1px solid #ccc; padding:16px 4% 16px 6%;}

	.tableunit.wide_th table th{width: 100%;}
	.tableunit.wide_th table td{width: 100%;}

	.tableunit.wide_th002 table th{width: 100%;}
	.tableunit.wide_th002 table td{width: 100%;}

	.tableunit table td dl{display: table; width: 100%; margin-bottom: 8px;}
	.tableunit table td dl dt,
	.tableunit table td dl dd{display: table-cell;box-sizing: border-box;}
	.tableunit table td dl dt{width:35%;}

	.tableunit.wide_th table td dl dt{width: 35%;}

	.td_list:nth-of-type(n+2){
		border-top: 1px solid #ccc;
		padding-top:20px;
		margin-top: 20px; 
	}
	.td_list .td_left{float:none; width: 100%;}
	.td_list .td_left p{margin: 5px 0;}
	.td_list .td_left ul li{font-weight: bold;}
	.td_list .td_left ul li span{font-weight: normal; display: block; margin: 6px 0 0 0;}

	.td_list .ggmap{float: none;}
	.td_list .ggmap a{
		display: block;
		border-radius: 6px;
		text-align: center;
		color: #fff;
		background-color: #466ca3;
		border:1px solid #466ca3;
		padding:6px 0;
		font-size: 3vw;
		width: 200px;
		box-sizing: border-box;
		margin:20px auto; 
	}

	.tableunit table td ul li{
		list-style: disc;
	    margin: 0 0 8px 25px;
	}
	.tableunit table td ol li{
		list-style: decimal;
	    margin: 0 0 24px 25px;
	}

	.tableunit table td span.mark:after{
		content: url(../images/page/privacy/img_mark.jpg);
		width: 100px;
		height: 100px;
		margin-left: 50px;
		vertical-align: middle;
	}
	.company .tableunit tr th{width: 24%;}

	/*----------

	採用情報

	---------*/

	.rec_bnr li{
		width: 100%;
		position: relative;
	    overflow: hidden;
	    text-align: center;
	    background-color: #00bdd4;
	}
	.rec_bnr li a{
		padding: 15% 0 ;
		display: block;
	}

	.rec_bnr li a:after {
	    position: absolute;
	    content: "";
	    display: block;
	    width: 100%;
	    height: 100%;
	    top: 0;
	    opacity: 1;
	}
	.rec_bnr li.rec001 a:after {background: url(../images/page/recruit/bnr_list001_sp.jpg) no-repeat center center;}
	.rec_bnr li.rec002 a:after {background: url(../images/page/recruit/bnr_list002_sp.jpg) no-repeat center center;}
	.rec_bnr li.rec003 a:after {background: url(../images/page/recruit/bnr_list003_sp.jpg) no-repeat center center;}

	.rec_bnr li a span {
	    z-index: 1;
	    position: relative;
	    font-size:4vw;
	    color: #fff;
	    background-color: #00bdd4;
	    width: 40%;
	    height: 60px;
	    line-height: 60px;
	    display: block;
	    margin: 0 auto 0 0;
	}

	.rec_en_ttl{
		text-align: center;
		margin-bottom: 50px;
		font-size: 4.5vw;
		line-height: 1.8em;
	}
	.rec_en_ttl span{
		color:#466ca3;
		font-size: 7vw;
		margin-bottom: 30px;
		display: block;
	}

	.rec_list {margin: 0 3% 40px;}
	.rec_list li{
		background: #466ca3 url(../images/page/recruit/icon_blue.png) 15px center no-repeat;
		color: #fff;
		padding: 20px 20px 20px 50px;
		border-radius: 6px;
		margin-bottom: 15px;
		font-size:4vw;
	}

	.rec_work article{
		border:3px solid #f4f4f4;
		padding: 8% 5%;
		margin-bottom: 60px;
	}
	.rec_work article div.rw_left{
		float:none;
		width:100%;
	}
	.rec_work article div.rw_left div.re_list{
		margin: 0 0 0 0;
		border-top:1px solid #ccc;
		padding-top: 30px;
	}
	.rec_work article div.rw_left div.re_list:nth-of-type(n+2){margin-top: 30px;}
	.rec_work article div.rw_left div.re_list h4{
		background:url(../images/page/recruit/icon_blue002.png)left center no-repeat;
		padding:0 0 0 30px;
		font-weight: bold;
		font-size:4vw;
		color: #466ca3;
		margin-bottom: 15px;
	}
	.rec_work article p.rw_right{
		float:none;
		width:100%;
		margin-top:24px;
	}
	.rec_work article p.rw_right img{width: 100%;}

	.center_text{text-align:left; margin-bottom: 50px;}
	.kantyu_list article{
		margin: 0 0 40px 0;
		border-top:1px solid #ccc;
		padding-top: 40px;
	}
	.kantyu_list article div.ks_left{float:none; width:100%;}
	.kantyu_list article div.ks_left p{margin-left: 0;}
	.kantyu_list article p.ks_right{float:none; width:100%; margin-top:24px;}
	.kantyu_list article p.ks_right img{width: 100%;}

	.nb_list{margin-bottom: 60px;}
	.nb_list li{margin: 0 2% 35px; width: 46%;}

	.nb_list002 dl{
		display:table;
		width:100%;
		margin: 0 0;
		border-top: 1px solid #ccc;
		padding: 10% 3%;
		box-sizing: border-box;
	}
	.nb_list002 dl:last-child{border-bottom: 1px solid #ccc;}
	.nb_list002 dl:nth-last-child(2){border-bottom: none;}

	.nb_list002 dl dt,
	.nb_list002 dl dd{
		display: table-cell;
		box-sizing: border-box;
		font-size:3.5vw;
		vertical-align: middle;
	}
	.nb_list002 dl dd{text-align: right;}
	.nb_list002 dl dd span{color:#00bdd4; font-size: 8vw; vertical-align: middle; margin:0 8px;}


	/* 募集要項 */
	.recttl{
		text-align: center;
		margin: 30px 0 50px;
		font-size:5vw;
		line-height: 1.8em;
	}

	.rec_inner{margin-right:3%; margin-left:3%;}
	.tableunit.rec_inner table td dl dt{width: 80px;}

	.flow_inner{
		width:100%;
		margin: 0 auto;
		background: url(../images/page/recruit/new/bg_flow.png) center top repeat-y;
	}

	.flow_inner article{
		border:solid 3px #f4f4f4;
		background-color: #fff;
		padding: 8% 5%;
		margin-bottom: 60px;
		box-sizing: border-box;
	}
	.flow_inner article div.flow_head{
		display: table;
		width: 100%;
	}
	.flow_inner article div.flow_head p,
	.flow_inner article div.flow_head h4{
		display: table-cell;
		box-sizing: border-box;
		vertical-align: middle;
		padding: 15px 4%;
		font-weight: bold;
		font-size:4vw;
	}
	.flow_inner article div.flow_head p{
		border-right: 5px solid #30c6d1;
		width:30%;
	}
	.flow_inner article div.flow_body{margin: 30px 0 0 0;}
	.flow_inner article div.flow_body ul li{margin: 0 auto 20px; text-align: center;}

	.flow_inner article:last-child{
		border:none;
		background-color: #30c6d1;
		color: #fff;
	}
	.flow_inner article:last-child div.flow_head p{border-right: 5px solid #fff;}

	.rec_contact{
		border:solid 5px #466ca3;
		padding: 40px;
		text-align: center;
	}
	.rec_contact h3{font-size: 20px; margin-bottom: 30px;}
	.rec_contact p{font-size: 18px;}


	/*----------

	お知らせ

	---------*/
	.catlist{border: 3px solid #00bdd4; width: 100%; margin-bottom: 40px;}
	.catlist li{
		float: left;
		width: 50%;
		text-align:center; 
	}
	.catlist li a{padding: 20px 0; color:#333; display: block;}
	.catlist li.current-cat a,
	.catlist li a:hover{background-color:#00bdd4; color:#fff;}

	.newslist{margin: 0 3%;}
	.newslist ul li{margin-bottom: 15px;}
	.newslist ul li dl dt,
	.newslist ul li dl dd{display: table-cell; vertical-align: middle; box-sizing: border-box;}
	.newslist ul li dl dt{width: 100px; font-size: 14px;}
	.newslist ul li dl dd{padding: 2% 0; text-align: center; color: #fff; width: 200px;}
	.newslist ul li dl dd.news{background-color: #466ca3;}
	.newslist ul li dl dd.information{background-color: #93272d;}
	.newslist ul li a{
		display: block;
		padding: 15px 0 15px;
		border-bottom:1px dotted #333;
		text-align: left;
	}

	.wp-pagenavi{
		text-align: center;
		margin: 30px 0;
	}


	/* 詳細 */
	ul.single_catlist{margin-bottom: 20px;}
	ul.single_catlist li{
		text-align: center;;
		color: #fff;
		padding: 3px 10px;
		margin-right: 1%;
		font-size:2.5vw;
	}
	ul.single_catlist li.news{background-color: #466ca3;}
	ul.single_catlist li.information{background-color: #93272d;}

	.single_contents{margin: 0 7%;}
	.single_contents h3{
		font-weight: bold;
		margin-bottom: 20px;
		font-size: 4vw;
	}
	.single_contents h3:nth-of-type(n+2){margin-top: 40px;}
	.single_contents p{margin-bottom: 15px;}

	.single_contents img{max-width: 100%;}
	.single_contents .hpurl{margin: 20px 0;}

	.pdflink a{
		display: block;
		padding: 20px 0;
		font-size:4vw;
		background-size: 40px;
		border:2px solid #466ca3;
		border-radius: 6px;
		width:100%;
		margin:40px auto;
	}


	

	/*----------

	お問い合わせ

	---------*/
	.contact_unit article{margin-bottom: 50px;}

	.contact_tel dl{margin:0 5%;}
	.contact_tel dl dt{
		color:#3d72b8;
		font-size:9vw;
		font-weight: bold;
		margin-bottom: 15px;
	}
	.contact_tel dl dt a{color: #3d72b8;}
	.contact_tel dl dd{font-size: 3.5vw;}
	 
	ul.contact_caption_list{margin-bottom: 30px;}
	ul.contact_caption_list li{margin-bottom: 10px;}

	.req,
	.txtred,
	.red-attn{color:#cc0000; font-weight: bold;}

	.form_contents h3{
		background: #f7f3f0;
		padding: 30px 0;
		text-align: center;
		font-size: 20px;
		font-weight: 550;
		border-bottom: solid 1px #ccc;
	}

	table.formtbl{width: 100%; border-top: solid 1px #ccc;}
	table.formtbl th.bg_red,
	table.formtbl td.bg_red{
	    background: #fff3f3;
	    padding: 30px 15px;
	}

	table.formtbl tr th,
	table.formtbl tr td{
		box-sizing: border-box;
		padding: 20px 3%;
		vertical-align: middle;
		width: 100%;
		display: block;
	}

	table.formtbl tr th,
	div.formtbl dl dt{width:100%; text-align: left; border-bottom:none; padding: 20px 3% 0;}
	table.formtbl tr td,
	div.formtbl dl dd{width:100%; }
	.formtbl input.w30{width: 24%; box-sizing: border-box;}
	.formtbl input.w90,
	.formtbl textarea{width: 100%; box-sizing: border-box; font-size: 3.5vw;}
	.formtbl input,
	.formtbl textarea{padding:10px; background: #f6f6f6; border: 1px solid #ccc; box-sizing: border-box;}
	.formtbl select{
		-webkit-appearance: none;
	    -moz-appearance: none;
	    appearance: none;
		width: 90%; padding:10px; box-sizing: border-box; font-size: 15px; border: 1px solid #ccc;
	}
	.formtbl tr td span.wpcf7-list-item{display: block; widtgh:100%;}

	table.formtbl td.f-address input{ margin-bottom: 7px;}
	table.formtbl td label{padding: 0 0 0 0; margin: 0 0 0 0;}
	table.formtbl td input[type=radio]{padding: 0 5px; margin:  0 5px;}
	table.formtbl td label span{margin-left: 5px;}
	.formtbl td input:focus,
	.formtbl td textarea:focus{background: #fffaca;}

	table.formtbl td p.fcap{padding-bottom: 20px; }
	table.formtbl td dl{
	    display: table;
		width: 100%;
		border-bottom: dotted 1px #ccc;
		box-sizing: border-box;
	}
	table.formtbl td dl:last-child{border-bottom: none;}

	div.formtbl dl{
		display: table;
		width: 100%;
		border-bottom: solid 1px #ccc;
	}

	table.formtbl td dl dt,
	table.formtbl td dl dd{
	    display: table-cell;
	    padding: 14px 0;
	     box-sizing: border-box;
	    border-top: none;
	    vertical-align: middle;
		text-align: left;
	}

	table.formtbl td dl.jiki dt{width: 15%;}
	table.formtbl td dl.jiki dd{width: 80%; padding-left: 1%;}
	table.formtbl td dl.jiki dd input,
	table.formtbl td dl.jiki dd select{width: 100%;}

	table.formtbl td.address dl dt{width: 20%;}
	table.formtbl td.address dl dd{width: 76%;}

	table.formtbl td dl:last-child dt,
	table.formtbl td dl:last-child dd{border-bottom: none;}

	table.formtbl tr.pass td input:nth-child(n+2){margin-top: 15px;}


	input[type="submit"] {-webkit-appearance: none;}
	#submit{
		text-align: center;
		margin: 30px 0;
	}

	#submit input{
		background: #3d72b8;
		color: #fff;
		border:1px solid #3d72b8;
		width: 90%;
		padding: 20px 0;
		font-size: 18px;
	    font-weight: 500;
		border-radius: 5px;
	}

	#submit input:hover{
		background: #fff;
		color: #3d72b8;
		cursor:pointer; 
	}

	#submit input.backbtn,
	#submit input.wpcf7c-btn-back{
		background: #f2f2f2;
	    color: #333;
		border:1px solid #3d72b8;
		width: 90%;
		padding: 20px 0;
		font-size: 18px;
		border-radius: 5px;
		margin:30px 0 20px;
	}

	#submit input.backbtn:hover,
	#submit input.wpcf7c-btn-back:hover{
		background: #bababa;
		color: #3d72b8;
		cursor:pointer; 
	}

	span.error{color: #ff0000; font-weight: bold; margin-left: 5px;}
	/* 入力エラー */
	div.c_unit{margin: 30px 0;}
	div.contact-error{
	    background: #ffdede;
	    padding: 30px;
	    margin-bottom: 30px;
	    text-align: center;
	}

	div.contact-error h2{
		color: #ff0000;
		font-size: 20px;
		margin-bottom: 30px;
		font-weight: bold;
	}

	div.contact-text p,
	div.contact-complete p{
	    text-align: center;
	    margin-bottom: 20px;
	}
	
	/*----------

	プライバシーポリシー
	ご利用規約
	特商法

	---------*/
	.pl_unit{line-height: 1.7em;}
	.pl_unit article{margin-top: 50px;}

	.pl_unit article div.pl_in{
		margin:0 4% 20px;
	}

	.pl_unit article ul li{
	    list-style: disc;
	    margin: 0 0 8px 25px;
	}

	.pl_unit article ol li{
		list-style: decimal;
	    margin: 0 0 24px 25px;
	}

	.pl_unit article dl{margin-top: 24px;}
	.pl_unit article dl span{display: block; font-size: 4vw; margin-bottom: 8px; font-weight: normal;}
	.pl_unit article dl dt{font-weight: bold;}
	.pl_unit article dl dd{margin-left: 15px;}



	/*-----pegetop----*/

    #page-top {
        position: fixed;
        bottom: 4%;
        right: 4%;
    }
    #page-top a {
        background-size: 100%;
        width: 40px;
        height: 40px;
    }
    #page-top a:hover {
        background-size: 100%;
    }


    /*----------

	footer

	---------*/

	.foot_contact ul li {
		width: 100%;
	}

	#footer .foot_info h4,
	#footer .foot_info dl{
		float:none;
	}
	#footer .foot_info h4{
		margin: 15px 0 0 0;
		text-align: center;
	}
	#footer .foot_info dl dt{
		font-size: 4vw;
		font-weight: bold;
		margin:10px 0;
		text-align: center;
	}
	#footer .foot_info dl dd{
		margin: 0 0 2px 20px;
		font-size:3.5vw;
	}

	#footer .foot_info p{
		float:none;
		margin: 20px 10%;
	}
	#footer .foot_info p a{
		font-size:4vw;
		display: block;
		text-align: center;
		color: #fff;
		border:1px solid #1c4384;
		background-color: #1c4384;
		padding: 12px 80px;
	}

	#footer .bg_white{
		padding:30px 0;
	}
	#footer .bg_gray{
		background-color:#333333;
		color: #fff;
		padding:30px 0;
	}

	.foot_link{
		margin-right:0;
		width: 100%;
		box-sizing: border-box;
	}
	.foot_link a{
		color: #fff;
		display: block;
		text-align: left;
		font-size:3.5vw;
		padding: 15px 10px;
		border-bottom: 1px solid #666;
	}
	.foot_link a:hover,
	.foot_link02 a:hover{
		color: #00bdd4;
	}

	.foot_link li ul li a{
		padding: 12px 0 12px 25px;
		font-size:3.5vw;
	}
	.foot_link li ul li a:before{
		content: "└";
		padding-right: 10px;
	}

	.foot_link02 li{
		width: 100%;
	}
	.foot_link02 li a{
		display: block;
		background-image: url(../images/common/icon_arrow.png);
		background-repeat: no-repeat;
		background-position: center left;
		margin:0 0 0 10px;
		padding: 12px 0 12px 15px;
		font-size:3.5vw;
		text-align: left;
	}

	.foot_link02 li:last-child a{margin-right: 0;}


	#footer .copyright{
		text-align: center;
		font-size:2.4vw;
	}
h2.event-ttl {
	font-size: 1.6rem;
  }
  
.headTable{
	width: 100%;
}

div.tableWrapper dl {
	grid-template-columns: 1fr;
	width: 100%;
	padding-bottom: 0;
  }
  div.tableWrapper dl dt {
	text-align: center;
	background: #d5d5d5;
	padding: .5rem;
  }
  .headTable th, .headTable td {
	display: block;
	width: 100%;
	box-sizing: border-box;
  }
  .headTable th{
	padding: 10px 24px;
	background: #f2f2f2;
  }

  .event-bnr a img{
	width: 100%;
   }

.topevent-bnr {
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-top: 3rem;
  }
  
  .topevent-bnr a {
	margin: auto;
  }
  
}