﻿/* --------------------------------------------
 メインイメージ 
---------------------------------------------*/
#main_img {height: 100vh;}
.catch {
    z-index: 3;
    position: absolute;
    bottom: 12%;
    right: 0%;
    transform: translate(0%, 0%);
    width: 55%;
    max-width: 900px;
}
.menu{
    top: 0px;
    left: 0px;
    transform: translateY(0%) translateX(0%);
    -webkit- transform: translateY(0%) translateX(0%);
}
#main_img > img{
    position: absolute;
    width: auto;
	height: 100%;
	top: 50%;
	left: 50%;
    transform: translate(-50%,-50%);
    vertical-align: bottom;
}
@media screen and (min-width: 1600px){
    #main_img img{
        width: 100%;
        height: auto;
    }
}
/* タブレット */
@media screen and (max-width: 768px){
    #main_img {height: 43vh;}
    .catch {
        top: 36%;
       width: 52%;
    }
}
/* スマホ */
@media screen and (max-width: 667px){
    .catch {width: 100%; top: 80px; transform: translate( 50%, 0%);}
    #main_img  img{
        width: 100%;
        height: auto;
        top: 0%;
        left: 50%;
        transform: translate( -50%, 0%);
    }
    #main_img {
        height: 90vh;
        max-height: 700px;
    }
}

/*---------------------------------------------
 テンプレート ・CMS・下層ページ 
--------------------------------------------*/
#loading_bg.bg_color1{background-color: #4391d1;}
#loading .bg_color3{background-color: #e5a93e;}

#header{padding: 25px;}
#header::before {background:linear-gradient(180deg, white, transparent)}
#header .contact_bt,#header .contact_bt.top.active{background-color: #004ac1; border: 1px solid #004ac1; transition: all 0.3s;}
#header .contact_bt:hover,#header .contact_bt.top.active:hover{background-color: #fff; border: 1px solid #004ac1;}
header .menu_stick.txt_white{color: #004ac1;}

#sp_nav{background-color: #6f93cd;}
#sp_nav nav.bg_color1{background-color: #fff;}
#sp_nav .txt_white{color: #0053d8;}
#pc_nav .contact_bt{background-color: rgba(0, 74, 192, 0.5);width: 180px;margin-left: 40px;}
#pc_nav li a{
    color: #02388f;
    text-shadow: 0 4px 5px rgb(255 255 255);
}
#sp_nav li a:hover .en{opacity: 0.3;}

#page_title .page_title_box{text-shadow: none;}
#page_title.bg_black{background-color: #fff;}
.cate_list li a{
    color: #ce9a0b;
    background-color: #fff;
    font-size: 18px;
}


#contents2 .con2_img::before{
    background: linear-gradient(0deg, white 20%, transparent 100%);
}
#contents2 .con2_box.box_2 .con2_txt_wrap{
    max-width: auto;
    margin-top: 0px;
}
#contents2 .con2_box.box_2 .con2_txt_wrap .con2_title2{
    color: #004ac1;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid;
    margin-bottom: 30px;
    font-size: 2.7em;
    letter-spacing: 0.07em;
}

.other{width: 100%; text-align: right;}
.txt{
    width: 45%;
    background-color: #fffaeb;
    border-radius: 15px;
    padding: 15px;
}
.txt .check_icon{
    width: 25px;
    margin-right: 10px;
}
.txt .check_text{
    width: calc(100% - 40px);
    letter-spacing: 0.03em;
    line-height: 2;
    font-weight: 600;
}

.banner_box .bg_black{background-color: #193d4c;}
.banner_box .txt_color2{color: #ce9a0b;}
.banner_box .hvr_txt_color2:hover{color: #fff;}

.more a{color: #004ac1;}
.more a::before{
    border-top: solid 1px #004ac1;
    border-right: solid 1px #004ac1;
}
.more a::after{
    border-bottom: solid 1px #004ac1;
    border-left: solid 1px #004ac1;
}



#top_cms .cms_title h2{color: #333;}

.pager li a{color: #004ac1;border-bottom: 2px solid #004ac1;box-sizing: border-box;}
.pager li:not(.prev):not(.next) a{background-color: #004ac1!important;border:none!important;color: #fff;}
.pager li.prev a:hover, pager li.next a:hover{color: #cea142;border-bottom: 2px solid #cea142;}
.pager li:not(.prev):not(.next) a:hover{background-color: #4d8df3!important;border:none!important;color: #fff;}

.cms_1-a .date{max-width: 140px;}
.cms_1-a .box_title1{color: #333;}
.cms_5-e .box_title1,#cms_5-e .box_title1{
    background-color: #004ac1;
    color: #fff;
}
.privacy_btn{background-color: #004ac1; color:#fff;border: 1px solid #004ac1; box-sizing: border-box;border-radius: 5px;transition: all 0.3s;}
.privacy_btn:hover{background-color: transparent;color: #004ac1; border: 1px solid #004ac1;}

#contact_tel a,#contact_tel_sp a{border-bottom: 1px solid;}

#top_info .txt_shadow_h{text-shadow: none;}
#top_info .con_box a{
    color: #004ac1;
    text-shadow: none;
}

#footer #sns_link .txt_white{color: #0053d8;}
#footer{text-shadow: none;}
#copyright .txt_white{color: #333;}
#page-top .scroll_u span{background-color: #004ac1;}

/* タブレット */
@media screen and (max-width: 768px){
    #contents2 .con2_box.box_2 .con2_txt_wrap .con2_title2{font-size: 2.5em;}
    .txt{width: 90%; margin: 10px auto;}
}
/* スマホ */
@media screen and (max-width: 667px){
    #contents1 .con_box, #contents1-h .con_box{width: 100%!important;}
    #contents1 .con_title, #contents1-h .con_title{    letter-spacing: 0em;}
    #contents2 .con2_box.box_2 .con2_txt_wrap .con2_title2{font-size: 2em;}
    
    #page_title h2{font-size: 23px; letter-spacing: 0;}
    
    #footer .con_img figure img{left: 25%;}
}



/* ---------- top modal ---------- */
html.modalset{
	overflow: hidden;
}
main.modalset {
    transform: none;
}
#contents1 .con1_modal, #contents1-h .con2_modal {
    margin: 5px auto 0;
}
#contents1 .modal_btn, #contents1-h .modal_btn {
    cursor: pointer;
    color: #222;
    padding: 15px;
    letter-spacing: 3px;
    font-size: 14px;
}
#contents1 .modal_btn:hover, #contents1-h .modal_btn:hover {
    letter-spacing: 7px;
}
#contents1 .modal_btn:hover i, #contents1-h .modal_btn:hover i{
    position: relative;
    right: -10px;
}
#contents1 .modal .box_title1, #contents1-h .modal .box_title1 {
    margin: auto;
    margin-bottom: 67px;
    max-width: 507px;
    width: 100%;
    font-size: 1.7em;
}
#contents1 .modal, #contents1-h .modal{
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9998;
	line-height: 2;
}
#contents1 .modal-wrap, #contents1-h .modal-wrap  {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 20px;
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;
	overflow-y: scroll;
}
#contents1 .modal-wrap::-webkit-scrollbar, #contents1-h .modal-wrap::-webkit-scrollbar {
	display: none;
}
/*#contents1 .modal-wrap:after, #contents1-h .modal-wrap:after {*/
/*	content: '';*/
/*	display: inline-block;*/
/*	vertical-align: middle;*/
/*	width: 1px;*/
/*	height: 100%;*/
/*}*/
#contents1 .modal-bg, #contents1-h .modal-bg {
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(255,255,255,0.95);
    width: 100%;
    height: 100%;
}
#contents1 .modal-box, #contents1-h .modal-box {
    width: 90%;
    max-width: 1100px;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    padding: 10px;
    padding-bottom: 23px;
    border-radius: 22px;
}
#contents1 .modal-box .inner, #contents1-h .modal-box .inner{
	max-height: 100%;
    overflow: auto;
	-ms-overflow-style: none;
	
}
#contents1 .modal-box .inner::-webkit-scrollbar, #contents1-h .modal-box .inner::-webkit-scrollbar {
  width: 2px;
  height: 10px;
}
#contents1 .modal-box .inner::-webkit-scrollbar-track, #contents1-h .modal-box .inner::-webkit-scrollbar-track {
  border-radius: 5px;
  box-shadow: 0 0 4px #aaa inset;
}
#contents1 .modal-box .inner::-webkit-scrollbar-thumb, #contents1-h .modal-box .inner::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #f9f8f7;
}
#contents1 .modal-box .modal-close, #contents1-h .modal-box .modal-close {
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 19px;
    width: 30px!important;
    left: auto;
}
#contents1 .modal_img, #contents1-h .modal_img{
    max-width: 600px;
}
#contents1 .modal_title1, #contents1-h .modal_title1{
	padding-top: 60px;
}
#contents1 .modal_title1:before, #contents1-h .modal_title1:before{
	content: "";
	display: block;
	background-color: #666; 
	width: 1px;
	height: 50px;
	position: absolute;
	top: 0;
	left: 2px;
}
#contents1 .modal_title1 span, #contents1-h .modal_title1 span{
	transform: rotate(90deg);
	display: block;
	line-height: 1;
}
#contents1 .modal-box, #contents1-h .modal-box {
    vertical-align: top;
    margin-top: 20px;
}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
    #contents1 .modal-wrap, #contents1-h .modal-wrap{padding: 0;}
    #contents1 .modal-box, #contents1-h .modal-box{width: 100%;}
    #contents1 .modal-box .inner, #contents1-h .modal-box .inner{padding: 0px 7%;}
    #contents1 .modal .box_title1, #contents1-h .modal .box_title1{margin: 30px auto; font-size: 1.3em;}
    #contents1 .modal-box .modal-close, #contents1-h .modal-box .modal-close {
        top: 13px;
        right: 17px;
        width: 45px;
        width: 38px!important;
    }
    #contents1 .modal-box .inner, #contents1-h .modal-box .inner{
        max-height: 600px;
    }
}


/*--------------------------------------------
 全体 
----------------------------------------------*/

.linkStyle{
	color: #0053d8;
	text-decoration: underline;
	transition: all 0.5s;
}
.linkStyle:hover{
	color: #0053d8;
	opacity: 0.7;
	text-decoration: none;
}
#cms_5-e .number:before, .cms_5-e .number:before{    font-family: 'Shippori Mincho B1', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";}
.font_serif{font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;}
#wrap.bg_color1{background-color: #ffffff;}
/*.txt_color1,.hvr_txt_color1:hover{color: #ef8f41;} */
.txt_color2,.hvr_txt_color2:hover{color: #0053d8;} 
/*.txt_color3,.hvr_txt_color3:hover{color: #60513c;} */
/*.txt_color4,.hvr_txt_color4:hover{color: #eae4df;} */
/*.txt_color5,.hvr_txt_color5:hover{color: #f2ede7;}*/ 

.bg_color1,.hvr_bg_color1:hover{background-color: #0053d8;}
.bg_color2,.hvr_bg_color2:hover{background-color: #ce9a0b;}
.bg_color3,.hvr_bg_color3:hover{background-color: #fffaeb;} 
/*.bg_color4,.hvr_bg_color4:hover{background-color: #eae4df;} */
.bg_color5,.hvr_bg_color5:hover{background-color: #094ab3;}

/*.border_color1,.hvr_border_color1:hover{border-color: #ef8f41;}*/
.border_color2,.hvr_border_color2:hover{border-color: #ce9a0b;}
/*.border_color3,.hvr_border_color3:hover{border-color: #60513c;}*/
/*.border_color4,.hvr_border_color4:hover{border-color: #eae4df;}*/
/*.border_color5,.hvr_border_color5:hover{border-color: #f2ede7;}*/