@charset "UTF-8";


/* css common 
---------------------------------------------------------- */
#wrapper {
	min-height:100%;
	margin:0px auto;
	position:relative;
}

#main, .box, .box_full{
	width: 1200px;
	min-width: 1200px;
	margin: 0 auto;
}

/* header 
---------------------------------------------------------- */
.h_top {
	background-color: #014a99;
}
.h_top h1 {
	color: #fff;
	font-size: 70%;
	font-weight: normal;
	padding: 3px 0;
}

#header{
	background-color: #7dcfec;
}

#h_left {
	width: 32%;
	float: left;
	padding-top: 28px;
}
#h_right {
	float: right;
	width: 64%;
}

/* pc only
------------------------------------------------------------*/
@media only screen and (min-width:991px){

#h_right {
	padding-top: 30px;
}
#h_right .ico_tile{
	float: left;
	position: relative;
	margin-top: -30px;
	margin-bottom: -15px;
	z-index: 2;
}
#h_right .intro_time{
	float: left;
}
#h_right .intro_time p{
	font-size: 70%;
	color: #FFF;
	padding-left: 30px;
	margin-bottom: 5px;
}
#h_right .tel_t{
	float: right;
}

#h_right ul{
	display: inline-block;
}
#h_right li{
	display: inline-block;
	margin-left: 30px;
}
#h_right li a{
	font-size: 70%;
	text-decoration: none;	
}
#h_right li a:hover{

	
}

/* mainNav
-------------------- */
#mainNav{
	position:relative;
	background: #014a99;
}
#mainNav ul{
	/*display:flex;
	justify-content: center;
	align-items: center;*/
	position: relative;
}
#mainNav ul li{
	float:left;
	position: relative;
	
	
}
#mainNav ul li::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	height: 60%;
	width: 1px;
	background-color: #6792c2;
}
#mainNav ul::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 60%;
	width: 1px;
	background-color: #6792c2;
}
#mainNav ul li a{
	display: block;
	padding: 0 20.5px;
	color:#fff;
	text-align: center;
	box-sizing: border-box;
	text-decoration: none;
	font-weight: bold;
	font-size: 90%;
	min-height: 75px;
	line-height: 75px;
}
#mainNav ul li:first-child a{
	min-height: 75px;
	line-height: normal;
	padding-top: 23px;
}
#mainNav ul li a span {
	display: block;
	font-size:60%;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: #7fb9de;
}


#mainNav ul li a:after {    
  bottom: 0px;
  content: "";
  display: block;
  height: 3px;
  left: 50%;
  position: absolute;
  background: #e9a171;
  transition: width 0.3s ease 0s, left 0.3s ease 0s;
  width: 0;
}
#mainNav ul li a:hover:after { 
  width: 100%; 
  left: 0; 
}
#mainNav ul li.active a{
	color: #987e5a;
	border-bottom: 4px solid #e9a171;
}

#mainNav ul ul{
	width:160px;
	border-top:0;
}
#mainNav ul li ul{
	display: none;
}
#mainNav ul li:hover ul{
	display: block;
	position: absolute;
	top:50px;
	text-align:center;
	z-index:500;
}
#mainNav ul li li{
	background:#ffffff;
	border-bottom:1px dotted #cdcdcd;
	float: none;
	width:160px;
	height:40px;
	line-height:40px;
	margin:0;
}
#mainNav ul li li:last-child{
	border:0;
}
#mainNav ul li li a{
	width:100%;
	height:40px;
	padding:0;
	line-height:40px;
	font-size:95%;
}
#mainNav ul li li a:hover{
	color:#cdcdcd;
}
nav div.panel{
	display:block;
	clear: both;
}

.menu-toggle {
	display: none;
}

/* main_img_sub 
---------------------------------------------------------- */
.nav_sub{
	bottom: -280px;
}
.nav_sub.scroll-to-fixed-fixed{
	bottom: auto;
}
#main_img_sub {
	top: -75px;
}


}  /* end pc only


/* main 
---------------------------------------------------------- */
#main{
	display: block;
}
#content{
	width: 750px;
	float: left;
	background: #F63;
}

#snav{
	width: 220px;
	float: right;
	background: #9C0;
}


/* pagetop 
---------------------------------------------------------- */
#bk_top {
	text-align:center;
}

#scrollUp {
	width: 50px;
	height: 50px;
  bottom: 5%;
  right: 5%;
	background:url(common/images/common/pagetop.jpg) no-repeat right bottom;
	background-size: contain;
}


/* footer 
---------------------------------------------------------- */
#footer {
	margin-top: 150px;
	background:#014a99;
	text-align: center;
}
#footer_box {
	padding: 60px 0;	
}
#footer img{ width: 80px;}
#footer p{
	color: #FFF;
	font-size: 80%;	
}
#footer .name_comp{
	font-size: 180%;
	font-weight: bold;
	margin-top: 20px;
}
#footer .name_comp span{
	font-size: 50%;
	display: block;
}
#footer .address{ margin: 25px 0;}

#footer ul li{
	display: inline-block;
	font-size: 80%;
	margin-right: 20px;
}
#footer a{
	color: #fff;	
}
#footer a:hover{
	opacity: 0.7;
}

#copyright{
	background-color: #153e6b;
	padding: 15px 0;
}
#copyright p{
	color: #fff;
	font-size: 70%;
	text-align: center;
}

/* margin style
---------------------------------------------------------- */
.section {
	margin-bottom:80px;
}
.container {
	margin-bottom:60px;
}
.case {
	margin-bottom:30px;
}
.pack {
	margin-bottom:20px;
}
.item {
	margin-bottom:15px;
}
.mb_clear{ margin-bottom: 0; }

.section .container:last-child,
.container .case:last-child,
.case .pack:last-child,
.pack .item:last-child {
	margin-bottom:0px;
}

/* text-align style
---------------------------------------------------------- */
.txt_l{
	text-align:left !important;
}
.txt_c{
	text-align:center !important;
}
.txt_r{
	text-align:right !important;
}
.txt_b{
	font-weight:bold;
}

/* p section 
---------------------------------------------------------- */
main p {
	margin-bottom:20px;
}
main * p:last-child {
	margin-bottom:0px;
}


/* tb_style 
---------------------------------------------------------- */
.tb_style{
	width:100%;
	table-layout: auto;
	border-collapse: collapse;
	border-top: 1px solid #ddd;
}
.tb_style td,
.tb_style th{
	padding:15px;
	border-bottom: 1px solid #ddd;
	box-sizing: border-box;
}
.tb_style th{
	background:#eee;
}


/* tb_form 
---------------------------------------------------------- */

.tb_form input[type="text"]{ 
	-webkit-appearance: none;
	border-radius: 0;
	padding: 5px;
	box-sizing: border-box;
}


/* title style 
---------------------------------------------------------- */
.title_main {
	font-size: 200%;
	color: #014a99;
	font-weight: bold;
	text-align: center;
	position: relative;
	padding-top: 90px;
	margin-bottom: 30px;
}
.title_main::before{
	content: '';
	background: #5dc3e7;
	width: 1px;
	height: 80px;
	position: absolute;
	left: 50%;
	top: 0;
}
.title_main span{
	display: block;
	font-size: 40%;
	color: #333;
	letter-spacing: 1px;
}

.title_sub {
	font-size: 150%;
	font-weight: bold;	
	margin-bottom: 30px;
	padding: 30px 0 30px 30px;
	position: relative;
	color: #014a99;
	border-left: 1px solid #014a99 ;
}
.title_sub span{
	font-size: 70%;
	display: block;
}


.title_sec {
	font-size: 120%;
	font-weight: bold;
	padding: 5px 0 5px 10px;
	margin-bottom: 15px;
	color: #5dc3e7;
	border-left: solid 4px #5dc3e7;
}
.title_item {
	color: #014a99;
	font-size: 120%;
	font-weight: bold;
	margin-bottom: 10px;
}
.title_page{
	font-size:150%;
	color: #014a99;
	margin-bottom: 30px;	
	font-weight:bold;
	display:block;
	text-align: center;
}
.title_page span{
	font-size:80%;
	display:block;
}
.title_num{
	font-size: 140%;
	margin-bottom: 20px;
	color: #014a99;
	padding-left: 60px;
	
}
.title_num em{
	width: 45px;
	height: 45px;
	line-height: 45px;
	background-color: #014a99;
	font-size: 120%;
	font-weight: normal;
	text-align: center;
	color: #FFF;
	display: inline-block;
	margin-right: 20px;
	margin-left: -60px;
}
.color_blue{ color: #014a99; } 

.line_box{
	border: 1px solid #5dc3e7;
	padding: 4%;
}

/* topicPath 
---------------------------------------------------------- */
#topicPath {
	display: block;
	text-align: left;
	padding: 20px 0 40px 0;
}
#topicPath li {
	display:inline;
	font-size: 70%;
	letter-spacing: 1px;
	margin-right: 10px;
}
#topicPath li a {
	padding-right:15px;
	background:url(common/images/common/arrow07.png) no-repeat right center;
	background-size: 6px;
}
#topicPath li a:hover {
	opacity: 0.7;
}


/* container 
---------------------------------------------------------- */
.container {

}
.container .msg {
	width: 55%;
	word-break: break-all;
}
.container .img {
	width: 40%;
}
.pic_l .img, .pic_r .msg {
	float: left;
}
.pic_l .msg, .pic_r .img {
	float: right;
}

.flow_picl .img{ float:left; margin-right: 15px; margin-bottom: 5px;}
.flow_picr .img{ float:right; margin-left: 15px; margin-bottom: 5px;}


/* switch pc sp 
---------------------------------------------------------- */
.sp{ display: none; }
.pc{ display:block; }


/* list_dot 
---------------------------------------------------------- */
.list_dot{
	list-style:disc;
	margin-left: 17px;
}
.list_dot li{ margin-bottom: 5px; }
.list_dot li:last-child{ margin-bottom: 0; }


/* list_num 
---------------------------------------------------------- */
.list_num{
	list-style: decimal;
	margin-left: 17px;
}
.list_num li{ margin-bottom: 5px; }
.list_num li:last-child{ margin-bottom: 0; }


/* Other
---------------------------------------------------------- */
.pad_sty{ padding: 60px 0;}

.txt_red{ color: #bc1307;}

.btn_sty span{
	color: #FFF;
	font-weight: bold;
	background: url(common/images/common/arrow09.png) no-repeat right center;
	background-size: 8px;
	padding-right: 20px;
}
.btn_sty:hover{
	background: #3168ac;
}

/* img col
---------------------------------------------------------- */
.img_col2 li{
	width: 48%;
	float: left;
	margin-left: 3.5%;
	margin-bottom: 3.5%;
}
.img_col2 li:nth-child(2n+1){
	margin-left: 0;
}

.img_col3 li{
	width: 31%;
	float: left;
	margin-left: 3.5%;
	margin-bottom: 3.5%;
}
.img_col3 li:nth-child(3n+1){
	margin-left: 0;
}

.img_col4 li{
	width: 23%;
	float: left;
	margin-left: 2.6%;
	margin-bottom: 2%;
}
.img_col4 li:nth-child(4n+1){
	margin-left: 0;
}


/* main_img_sub 
---------------------------------------------------------- */
.nav_sub{
	position: relative;
}
#main_img_sub {
	position: relative;
	overflow: hidden;
	height: 280px;
}

#main_img_sub .parallax__bg {
	position: absolute;
	top: -20%;
	bottom: -20%;
	left: -5%;
	right: -5%;
	background: url(common/images/common/bg_main_sub.jpg) no-repeat center;
	background-size: cover;
	will-change: transform;
}

#main_img_sub .parallax__content {
	position: relative;
	z-index: 1;
	color: #fff;
	font-weight: 600;
	font-size: 180%;
	border-left: 1px solid #fff;
	padding: 60px 0 20px 40px;
	box-sizing: border-box;
}

#main_img_sub .parallax__content span {
	display: block;
	font-size: 50%;
}

.hilight{
	background-color: #fff2ec;
	padding: 4%;
}
.bg_sty01{
	position: relative;
	z-index: 2;
	padding-bottom: 6%;
}
.bg_sty01::before{
	min-width: 1400px;
	content: '';
	width: 85%;
	height: calc(100% - 20%); 
	position: absolute;
	left: 50%; 
	transform: translate(-50%,0%);		
	bottom: 0;
	background-color: #5dc3e7;
	z-index: -1;
}

.bg_sty02::before{background-color: #014a99; }
.bg_sty::before{background: linear-gradient(#5cc8f5 0 50%, #004a99 50% 100%); }
/* page_index 
---------------------------------------------------------- */
#main_img_wrap{
	background: url(common/images/index/bg_main.jpg) no-repeat center #FFF;
	min-height: 865px;
}
#main_img_wrap h2{ padding-top: 370px;}

.page_index #news ul{
	height: 250px;
	overflow: auto;
	padding-right: 20px;
	
}
.page_index #news li{
	padding-left: 145px;
	border-bottom: 1px solid #ccc;
	padding-top: 20px;
	padding-bottom: 20px;
}
.page_index #news li a{
	display: inline-block;
	color: #333;
}
.page_index #news li span{
	width: 130px;
	display: inline-block;
	margin-left: -145px;
	background: url(common/images/common/arrow07.png) no-repeat left 6px;
	background-size: 7px;
	padding-left: 15px;
	font-size: 80%;
	color: #014a99;
	font-weight: bold;
}

.page_index #intro.bg_sty01::before{	
	height: calc(100% - 10%); 	
}

.page_index #intro{ margin-bottom: 20%;}
.page_index #intro .box{
	position: relative;
	margin-bottom: -15%;
}
.page_index #intro .hilight{
	padding: 0;
}
.page_index #intro .container{ margin-bottom: 30px;}

.page_index #intro .pic_l{
	display: flex;       
  	align-items: stretch;
}
.page_index #intro .msg{
	width: 60%;
	flex: 1;
	padding: 3%;
	padding-top: 0;
	box-sizing: border-box;
}

.page_index #intro .img img {
  height: 100%;   
  width: auto;    
  object-fit: cover; 
}

.page_index #intro .con_cen{
	padding: 3%;
	padding-top: 0;
}

.page_index #intro .intro_col .hilight{
	box-sizing: border-box;
	padding: 6%;
	padding-top: 0;
}
.page_index #intro .intro_col{
	display: flex;
	justify-content: space-between; 
	align-items: flex-start;
	gap: 5%;          
}

.page_index #intro .intro_col .col{
	flex: 0 0 47%;
}
.page_index #intro .intro_col .colimg{
	padding-top: 240px;
}


.page_index #media{
	position: relative;
	padding: 60px 0;
}
.page_index #media::before {
	min-width: 1200px;
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%; 
	transform: translate(-50%,0%);		        
	width: 85%;      
	height: calc(100% - 0%);
	background: linear-gradient(to right, 
		#004a99 0%, 
		#004a99 35%, 
		#5cc8f5 35%, 
		#5cc8f5 100%);
	z-index: -1;
}
.page_index #media .media_col {
	display: flex;       
  	align-items: stretch;
	gap: 2%;
}
.page_index #media .media_col .col_l {
	flex: 0 0 35%; 
	padding-left: 20px;
	box-sizing: border-box;
}
.page_index #media .media_col .col_r {
	flex: 0 0 65%; 
	position: relative;
}
.page_index #media .media_col .col_r img{
	width: 300px;
	position: absolute;
	right: 0;
	bottom: -60px;
}

.page_index #media .media_col .col_l h3{
	background: url(common/images/index/ico_media.png) no-repeat left top;
	background-size: auto 80px;
	padding-top: 80px;
	font-size: 80%;
	font-weight: normal;
}
.page_index #media .media_col .col_l h3 span{
	font-size: 55px;
	line-height: 1.2;
	display: block;
	color: #5dc3e7;
	font-weight: bold;
}
.page_index #media .media_col .title_page{
	text-align: left;
}
.page_index #media .media_col *{ color: #FFF;}




/* page_flow
---------------------------------------------------------- */
.page_flow .container{
	background: url(common/images/common/arrow08.png) no-repeat left bottom;
	background-size: auto 25px;
	padding-bottom: 50px;
}
.page_flow .container:last-child{
	padding-bottom: 0;
	background: none;
}

/* page_faq
---------------------------------------------------------- */
.page_faq .container{ margin-bottom: 15px;}
.page_faq .faq .q{	
	background: url(common/images/faq/bg_q.png) no-repeat 20px 13px;
	background-size: 40px;
	padding: 15px 20px 25px 80px;
	cursor: pointer;
	font-size: 120%;
	border-bottom: 1px solid #ccc;
}
.page_faq .faq .q p{
	background: url(common/images/faq/bg_plus.png) no-repeat right 7px;
	background-size: 15px;
	padding-right: 25px;
	font-weight:bold;
}
.page_faq .faq .q.active p{
	background-image: url(common/images/faq/bg_min.png);
}
.page_faq .faq .a{
	padding: 15px 0 20px 100px;
	transition: none;
	display: none;
	background: url(common/images/faq/bg_a.png) no-repeat 40px 15px;
	background-size: 40px;
}


/* page_sitemap
---------------------------------------------------------- */
.page_sitemap ul{
	text-align: center;
}
.page_sitemap ul li{ padding: 5px 0;}
.page_sitemap ul a{
	color: #333;
	text-decoration: none;
	padding: 8px;
	display: inline-block;
	background: url(common/images/common/arrow07.png) no-repeat left center;
	background-size: 6px;
	padding-left: 15px;
}
.page_sitemap ul a span{
	display: inline-block;
	border-left: 1px solid #ccc;
	padding-left: 10px;
	margin-left: 10px;
	font-size: 80%;
	
	text-transform: uppercase;
	color: #999;
}
.page_sitemap ul a:hover{ color: #014a99; letter-spacing: 3px; }

/* page_contact
---------------------------------------------------------- */

/*フォーム系*/
.contact_btn{
	text-align:center;
}

.contact_btn input{
	padding:10px 40px;
	background-color:#000;
	border:none;
	color:#FFF;
	text-align:center;
	margin:10px 0;
	cursor: pointer;
	border-radius: 0;
	margin: 0 15px;
	font-size: 16px;
}
.contact_btn input:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

.contact_main{
	margin-bottom:10px;
}


.tb_form{
	width:100%;
	table-layout: auto;
	border-collapse: collapse;
	font-size: 90%;
}
.tb_form th {
	background: #f5f5f5;
	text-align: left;
}
.tb_form td {
	background: #fff;
}
.tb_form th span{
	color: #FF0000;
}
.tb_form td input[type=text],.tb_form td input[type=email],
.tb_form td textarea {
	-webkit-appearance: none;
	border-radius: 0;
	box-sizing: border-box;
	border: solid 1px #999;
}
.tb_form td textarea {
	width: 100%;
}
.wpcf7-radio .wpcf7-list-item:first-child {
	margin-left: 0!important;
}
.info_chui {
	display: block;
	font-size: 80%;
}
.wpcf7-not-valid-tip {
	font-size: 80%;
}
.txt_att {
	font-size: 80%;
}
.tb_form td input[type=text].input_s {
	width: 80px;
	margin-right: 10px;
}
.tb_form td input[type=text].input_s2 {
	width: 120px;
	margin-right: 6px;
	margin-left: 6px;
}
.tb_form td ul li:first-child input[type=text].input_s2 {
	margin-left: 0;
}
.tb_form td dl {
	display: flex;
	margin-bottom: 8px;
}
.tb_form td dl:last-child {
	margin-bottom: 0;
}
.tb_form td dl dt {
	width: 100px;
}
.ul_li_form li {
	margin-bottom: 8px;
}
.ul_li_form li:last-child {
	margin-bottom: 0;
}
.ul_li_form li input[type=date]{
	margin-right: 20px;
}
.tb_form td tr td {
	border: none!important;
	padding: 0;
}
.tb_form td tr td:first-child {
	padding-right: 15px;
}
.tb_form .txt_att {
	display: block;
}
.tb_form td .ul_birth {
	display: flex;
}

@media screen and (min-width: 769px){
.tb_form {
	border-top: solid 1px #ddd;
}
.tb_form th{
	font-weight: bold;
	padding: 15px;
	border-bottom: 1px solid #ddd;
	vertical-align: top;
	width: 25%;
	box-sizing: border-box;
}
.tb_form th span{
	color: #FF0000;
}
.tb_form td{
	border-bottom: 1px solid #ddd;
	padding: 15px;
	box-sizing: border-box;
}
.tb_form td input[type=text],
.tb_form td input[type=email] {
	width: 50%;
	padding: 3px;
}
}



@media screen and (max-width:768px){
.tb_form th{
	font-weight: bold;
	padding: 5px;
	width: 100%;
	display: block;
}
.tb_form td{
	border-bottom: 1px solid #CCCCCC;
	padding: 5px 0 10px;
	width: 100%;
	display: block;
}
/*フォーム系*/
.contact_btn input{
	-webkit-appearance: none;
	border-radius: 0;
}

.tb_form td input[type=text],
.tb_form td input[type=email] {
	width: 100%;
	box-sizing: border-box;
}
.tb_form td input[type=text].input_s2 {
	width: 100px;
	margin-right: 4px;
	margin-left: 4px;
}

}

/*------ page_topics ------*/
.page_topics .container li {
	padding: 15px 0;
	border-top: 1px dotted #999;
}
.page_topics .container li:first-child {
	border-top: none;
}
.page_topics .container li a{
	text-decoration:none;
	color: #000;
	overflow: hidden;
	display: block;
}
.page_topics .container li span{
	float:left;
	width: 79%;
}
.page_topics .container li span.txt_date{
	font-weight: 700;
	width: 20%;
}

/*------ news nav ------*/
.nav-links {
	overflow: hidden;
}
.nav-links a span {
	display: block;
	padding: 10px 30px;
	background: #000;
	color: #FFF;
}
.nav-links a span:hover {
	background:#666;
}
.nav-links a span.prev {
	float: left;
}
.nav-links a span.next {
	float: right;
}

.pagination {
	margin-top: 30px;
	text-align: center;
}
.pagination .current,
.pagination  a {
	display: inline-block;
	padding: 4px 12px;
	margin: 0 3px;
}

.pagination  a {
	border: solid 1px #CCC;
	text-decoration: none;
	color: #999;
}
.pagination .current{
	background: #000;
	border: solid 1px #000;
	color: #FFF;
}
.pagination  a:hover{
	background: #666;
	border: solid 1px #666;
	color: #FFF;
}