﻿/*毎回いる*/
.f_contact_box h4 {
    font-size: 33px;
    padding-bottom: 10px;}
.menu_btn.stick_trans span:last-child { margin-top: -3px;}
/* color ---------------------------------------------------------------------------------------------*/
body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: #011c3b;}
.txt_color1,.hvr_txt_color1:hover{color: #6eccd9} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #54bfce} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #3a6eab} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #bee8ee} /* アクセントカラー2 */
.txt_color5,.hvr_txt_color5:hover{color: #e2f8fb} /* アクセントカラー2 */
/* background-color */
.bg_black,.hvr_bg_black:hover{background-color: #011c3b} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: #6eccd9} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #54bfce} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #3a6eab} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #bee8ee} /* アクセントカラー2 */
.bg_color5,.hvr_bg_color5:hover{background-color: #effdfd} /* アクセントカラー2 */
/* border-color ※!important */
.border_color1,.hvr_border_color1:hover{border-color: #6eccd9 !important}
.border_color2,.hvr_border_color2:hover{border-color: #54bfce !important}
.border_color3,.hvr_border_color3:hover{border-color: #3a6eab !important}
.border_color4,.hvr_border_color4:hover{border-color: #bee8ee !important}
.border_color5,.hvr_border_color5:hover{border-color: #e2f8fb !important}

.linkStyle{color:#6eccd9; border-bottom:solid 1px;}
/* color ---------------------------------------------------------------------------------------------*/

/*font--------------------------------------------------------------------------------------------------------------*/
h1,h2,h3,h4,h5,h6,a span,.l-menu ul li a,.f_sitemap_inner li a,.copy,.topTxt1,.f_contact_btn a,.jp,.more a,#con2 .font_22,.con1_inner,.f_contact_box p,.tel,#page10 .sitemap li a,.contact_tel a,.contact_mail a{
    font-family:'Zen Old Mincho', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
        transform: rotate(0.03deg);
}
    
body{font-family:'Zen Kaku Gothic Antique', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;}
        
/*body,p,.,#page10 .sitemap li a,.cate_list li a,.contact_tel a,.f_contact_box p,.tel.en span,.l-menu ul li a.font_16,a span.font_15*/
/*#page10 .sitemap li a:hover,.f_contact_btn a:hover {*/
/*    transform: scale(1.05) rotate(0.03deg) !important;}*/

.contact_tel a i {font-weight: normal;}
.opacity07,.opacity08 {
    opacity: 0.9 !important;}
.font_14 {
    font-size: 15px;}
ul.f_sitemap_inner li a {
    font-size: 15px;
    letter-spacing: 1px;}
/*font--------------------------------------------------------------------------------------------------------------*/

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*top--------------------------------------------------------------------------------------------------------------*/

/*all*/
.header-in{border-radius: 5px;}
.menu_btn.bg_white {border: solid 0;}
#sp_nav .sp_nav_inner .menu__header{border-radius: 5px 5px 0px 0px;}
#sp_nav .sp_nav_inner .l-menu{    border-radius: 0px 0px 5px 5px;}

.contact_b {
    background: #6eccd9;
    padding: 10px 12px 4px !important;
    border-radius: 2px;}
.contact_b a span {color: #fff !important;}

.f_contact_img::before {
    background: rgba(191,238,245,0.5);
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;}
    
.f_contact_box {border-radius: 10px;}
.f_contact_btn a { border-radius: 5px;}
.f_contact_btn a:hover {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);}
.footer p {
    text-align: center;
    display: block;}
#fakeloader .fl { max-width: 200px;}
div#pagetop {z-index: 5;}

/*all*/

/*main_img--------------------------------------*/

#main_img {
    padding-top: 0;
    height: 100vh;
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;}

.main_ef::before {
    content: '';
    position: absolute;
    background-image: url(dup/img/main_img.png);
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    mix-blend-mode: screen;}
    
.catch{width: 600px;}
/*main_img--------------------------------------*/

/*intro--------------------------------------*/

.intro_txt p {
    z-index: 1;
    position: relative;}

.intro_txt::before {
    content: '';
    background: rgba(255,255,255,0.5);
    position: absolute;
    width: 120%;
    height: 105%;
    z-index: 0;
    top: 5%;
    left: -15%;}

.intro_txt::before {
    content: '';
    background: #fff;
    position: absolute;
    width: 120%;
    height: 120%;
    z-index: 0;
    top: -10%;
    left: calc(50px - 20% );}

.intro_txt::after {
    content: '';
    position: absolute;
    width: 116%;
    height: 115%;
    z-index: 0;
    top: -8%;
    left: calc(49px - 18% );
    border: solid 2px #e2f8fb;
}

div#intro_img {position: relative;}

#intro_img::before {
    background: #effdfd;
    content: '';
    position: absolute;
    width: 100%;
    height: 30%;
    z-index: 0;
    left: -60%;
    top: 66%;
    background: linear-gradient(90deg, rgba(232,252,255,1) 0%, rgba(255,255,255,1) 100%);
}
    
.topimg{z-index:3;}
.con1_squ {display: none;}

section#con1 {position: relative;}

section#con1::before {
    content: '';
    background: #effdfd;
    width: 100%;
    height: 100%;
    bottom: -30%;
    position: absolute;
    left: 0;
background: linear-gradient(
180deg
, rgba(239,253,253,1) 0%, rgba(255,255,255,1) 100%);
}


.con1_in {position: relative;
    top: -7vh;}
h2.intro_title2::before {
    content: '';
    width: 5%;
    height: 1%;
    position: absolute;
    z-index: 2;
    background: #3a6eab;
    bottom: -23%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/*fadein-------------------*/
.fadein{
     opacity: 0;
     transform: translateY(20px);
     transition: 1.5s;
     transition-property: opacity,transform}
.fadein.fadetrans{
     opacity: 1;
     transform: none}
/*fadein-------------------*/

/* 画像トリミング */
.portrait_img{
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 500px!important;}

.portrait_img img{
	width: auto;
    height:100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);}
/* 画像トリミング */

/*intro--------------------------------------*/

/*contents--------------------------------------*/
#con2 .topimg3 {
    margin: -90px -15px 0px auto;
    z-index: 0;
    position: relative;}

section#con2 .font_22 {
    margin: 0px 0 70px;
    color: #3a6eab;
    font-size: 25px;}

#con2 .font_22 span{border-bottom: double !important;}


.icon{display:none;}

#con3 .box .img {border-radius: 0px !important;}

#con3 .box {
    position: relative;
    background: #fff;
    padding: 20px;}
    
#con3 .box::before {
    width: 23%;
    height: 16%;
    position: absolute;
    top: -37px;
    left: -46px;
    z-index: 5;}
    
#con3 .box:nth-of-type(1)::before {
    content:'';
    background-image:url(dup/img/con3_01.png);
    background-size: contain;
    background-repeat: no-repeat;
}

#con3 .box:nth-of-type(2)::before {
    content:'';
    background-image:url(dup/img/con3_02.png);
    background-size: contain;
    background-repeat: no-repeat;
}

#con3 .box:nth-of-type(3)::before {
    content:'';
    background-image:url(dup/img/con3_03.png);
    background-size: contain;
    background-repeat: no-repeat;
}

h4.con3_sub {
    font-size: 20px;
    font-weight: bold;
    position: relative;
    display: inline-block;
    color: #54bfce;
    margin-top: 15px;
    white-space: nowrap;
}


#con2 .topimg2 img, #con2 .topimg3 img { border-radius: 0px;}
figure.topimg2 {position: relative;}

.topimg2::before {
    z-index: -1;
    background: #aaa;
    width: 100%;
    height: 90%;
    content: '';
    position: absolute;
    top: 58%;
    right: 11%;
    background: linear-gradient( 226deg , rgba(232,252,255,1) 0%, rgba(255,255,255,1) 100%);}

.title {padding-bottom: 20px;}

span.point_b {
    position: relative;
    padding: 0.8rem 0.8rem;}

.point_b:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #54bfce, #54bfce 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #54bfce, #54bfce 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*topcms--------------------------------------*/
.cmstitle span {display: none;}

.cmstitle .jp {
    font-size: 20px;
    padding-top: 7px;
    color: #3a6eab;}

.more a {
    border-radius: 0px;
    border: solid 1px #bee8ee !important;
    background: #fbffff;}
    
section.topCms:nth-of-type(2) {background: #f9ffff !important;}
/*topcms--------------------------------------*/
/*top--------------------------------------------------------------------------------------------------------------*/
/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*sub--------------------------------------------------------------------------------------------------------------*/
/*all--------------------------------------*/
.pagetitle p span {display: none;}
.pagetitle {
    color: #ffffff;
    background: #86d8e3;}
.all_contents .content {border-radius: 5px;}
.cate_list li a {border-radius: 0px;}
.cate_list li a:hover {background: #e2f8fb;}
/*all--------------------------------------*/

/*2-a--------------------------------------*/
#cms_2-a h3.cate_title {
    padding: 0;
    letter-spacing: 3px;
    display: flex;
    align-items: center;
    border: 0px;
    color:#3a6eab;}
#cms_2-a h3.cate_title::before {
    border-top: 1px solid #3a6eab;
    content: "";
    flex-grow: 1;
    max-width: 35px;
    opacity: 0.6;
    margin-right: 1rem;}
#cms_2-a .cate { margin-bottom: 75px;}
/*2-a--------------------------------------*/


/*contact--------------------------------------*/
.contact__tel .txt_center.en a {
    max-width: 380px;
    display: block;
    margin: 0 10px;
}

#page8 .contact_mail a, #page8 .contact_tel a {
    padding: 18px 20px;
    border-radius: 5px;
    transition: .5s;
    background: #54bfce;
}
    
#page8 .contact_mail a:hover,#page8 .contact_tel a:hover{
	    -webkit-transform: scale(1);
    transform: scale(1);
    background: #6eccd9;
}

@media screen and (max-width: 667px){
#page8 .contact_mail a {display: block;padding: 18px 18px;}
}


@media all and (-ms-high-contrast:none){
#page8 .contact_mail a {padding: 22px 40px 14px;}
}

@media screen and (max-width: 1400px){
#contact_tel a, #contact_mail a {
    font-size: -webkit-calc(1rem + 5px) !important;
    font-size: calc(1rem + 5px) !important;
    padding: 25px 10px;}}
@media screen and (max-width: 1200px){
#contact_tel a, #contact_mail a {
    font-size: -webkit-calc(1rem + 4px) !important;
    font-size: calc(1rem + 4px) !important;
    padding: 25px 5px;
    letter-spacing: 2px;}}

/*【タブレット】*/
@media screen and (max-width: 768px){
    #contact_tel a,#contact_mail a {
    font-size: -webkit-calc(1rem + 0px) !important;
    font-size: calc(1rem + 0px) !important;
    padding: 25px 5px;
    letter-spacing: 2px;
}
    
#page8 .contact_mail a, #page8 .contact_tel a {
    padding: 18px 20px;
    border-radius: 5px;
    transition: .3s;
    margin: 0 auto;
    display: block;
    background: #54bfce;
}    
}

/*【スマホ】*/
@media screen and (max-width: 667px){
#contact_tel a, #contact_mail a {
    letter-spacing: 2px;
    font-size: -webkit-calc(1rem + 1px) !important;
    font-size: calc(1rem + 1px) !important;
    padding: 20px 5px;
    letter-spacing: 2px;}
#page8 .contact_mail a, #page8 .contact_tel a {padding: 10px 10px;}  
}


@media screen and (max-width: 320px){
#contact_tel a, #contact_mail a {
    letter-spacing: 2px;
    font-size: -webkit-calc(1rem + 0px) !important;
    font-size: calc(1rem + 0px) !important;
    padding: 20px 5px;
    letter-spacing: 1px;}
}
/*contact--------------------------------------*/


/*privacypolicy--------------------------------------*/
#page9 .privacy .box:first-of-type {border-radius: 5px 5px 0px 0px;}
#page9 .privacy .box:last-of-type {border-radius: 0px 0px 5px 5px;}
/*privacypolicy--------------------------------------*/

/*sitemap--------------------------------------*/
#page10 .sitemap li a {border-radius: 5px;}
#page10 .sitemap li a:hover {
    -webkit-transform: scale(1);
    transform: scale(1);}
/*sitemap--------------------------------------*/

/*sub--------------------------------------------------------------------------------------------------------------*/




/*タブレット*/
@media screen and (max-width: 768px){
h2.intro_title2::before {height: 0.2%;}
    
.menu_sns .box a {padding: 20px 20px 15px;}
.logo1 {padding: 10px !important;}
.header-in { margin-top: 0px;}
.header-in {height: 98px;}
header {background: rgba(255,255,255,0.7);}
.pagetitle {padding-top: 165px;}

.cate_list li a {
    display: block;
    padding: 10px;
    overflow: hidden;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;}
    
div#cms_2-a .box_item {padding: 0 2%;}
.cms_2-a .box_item {padding: 0 4%;}

.catch {width: 500px;}

figure.topimg {
    margin-bottom: 40px;
    z-index: 0;
    position: relative;}
    
.intro_txt::before {
    width: 110%;
    height: 110%;
    z-index: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);}    
    
.intro_txt::after {
    width: 106%;
    height: 105%;
    z-index: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: solid 2px #e2f8fb;}

#intro_img::before {
    width: 100%;
    height: 35%;
    z-index: 0;
    left: -19%;
    top: auto;
    bottom: -5%;
    z-index: -1;
    background: linear-gradient(90deg, rgba(232,252,255,1) 0%, rgba(255,255,255,1) 100%);}

#con2 .topimg3 {
    margin: -90px 0px 0px auto;
    z-index: 0;
    position: relative;}
    
.topimg2::before {background: linear-gradient( 226deg, rgba(232,252,255,1) 32%, rgba(255,255,255,1) 100%);}
section#con2 .font_22 {margin: 15px 0 50px;}
section#con2 .font_15 {padding-bottom: 15px;}
section#con2 {padding-bottom: 150px;}

#con3 .box {padding: 10px;
    width: 32% !important;}
section#con3 .box_wrap {width: 93% !important;}
section#con3 {padding-top: 85px;}
#con3 .box::before {
    width: 31%;
    height: 15%;
    position: absolute;
    top: -61px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
}
}
/*スマホ*/
@media screen and (max-width: 667px){
.catch {width: 280px;}

.logo1 {padding: 0px !important;
       max-width: 100px;}
header {padding: 0 10px !important;}
.header-in {height: 75px;}
.pagetitle {padding-top: 120px;}

h2.intro_title2::before {width: 15%;}

.intro_txt .font_15 {
    font-size: 14px;
    letter-spacing: 1px;}
    
.intro_txt::after {
    width: 110%;
    height: 105%;}
.intro_txt::before {
    width: 118%;
    height: 109%;}
.intro_txt .font_22 {
    font-size: 18px;
    padding: 5px 0 15px;}
#con2 .font_22 span { font-size: 22px;}
section#con2 .font_22 {margin: 25px 0 40px;}
#con3 .box {width: 100% !important;
           margin-bottom: 45px;
           padding: 40px 20px 10px;}
           
section#con3 .box_wrap {width: 88% !important;}
#con3 p.txt {margin-bottom: 20px;}
#con3 .box::before {
    width: 22%;
    height: 13%;
    top: -38px;
    left: 50%;}
.logo2 a {max-width: 150px;}
#cms_2-a h3.cate_title::before{display:none;}
#cms_2-a h3.cate_title {
    padding: 5px 0;
    border-bottom: solid 1px #3a6eab !important;}
section#cms_6-c .cate_box {padding: 30px 20px;}
section#cms_3-b .cate_box {padding: 15px 20px 0px;}
div#tel_txt p {
    border: solid 0;
    padding: 5px 0;}
.f_contact_box p {font-size: 17px;}
}

/*IE*/
@media all and (-ms-high-contrast: none){
h1,h2,h3,h4,h5,h6,a span,.l-menu ul li a,.f_sitemap_inner li a,.copy,.topTxt1,.f_contact_btn a,.jp,.more a,#con2 .font_22,.con1_inner,.f_contact_box p,.tel,#page10 .sitemap li a{
    font-family:'Zen Old Mincho', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    transform: rotate(0.03deg);}
    
.cate_list li a {padding-top: 8px !important;}
#cms_3-b .cate_title{padding-top: 8px !important;}
#page8 .contact_mail a {padding: 15px 40px 23px !important;}
#page8 .contact_mail a, #page8 .contact_tel a {padding: 12px 20px 17px !important;}

}





/*20220801*/
#h1txt{padding-bottom: 100px;}
#fix_banner{
width: 300px;
position: fixed;
bottom: 0;
right: 100px;
z-index: 4;
border:solid 1px #fff;
}

@media screen and (max-width: 768px){
    #fix_banner {
        width: 250px;
        position: fixed;
        bottom: 0;
        right: 85px;
        z-index: 4;}
}


@media screen and (max-width: 667px){
    #fix_banner {
    width: 200px;}}
    
    
    
    
/*1024*/
#fix_banner{display:none;}



/*20230322*/
.main_ef::before{display:none;}


div#main_img img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

#main_img {
    padding-top: 100px;
    height: 100%;
    width: 100% !important;
    object-fit: contain;
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #fff;
}


div#main_img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

div#intro_img .topimg {
    box-shadow: 1px 1px 7px -2px #adecff;
}

/*タブレット*/
@media screen and (max-width: 768px){
#main_img {
    padding-top: 98px;}
}
    
/*スマホ*/
@media screen and (max-width: 667px){
#main_img {
    padding-top: 75px;}  
}

/*20250612*/
/*スマホ*/
@media screen and (max-width: 667px){
.footer_contact .no_eigyo{letter-spacing: 0em;}
}