﻿
/* ---------- font ---------- */

@import url('https://fonts.googleapis.com/css2?family=Jost:wght@500&family=Zen+Kaku+Gothic+New:wght@500;700&display=swap');

:root{
    --font-jp: 'Zen Kaku Gothic New', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif!important;
    --font-en: 'Jost', 'Zen Kaku Gothic New', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif!important;
	/*font-family: "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";*/
}
body, .font_sans-serif, .font_serif, .font_Quick{
    font-family: var(--font-jp)!important;
    font-weight: 500;
}
.font_en, a[href^="tel:"]{
    font-family: var(--font-en);
}

/* ---------- color ---------- */

.linkStyle{color: #160a0a;transition: opacity .3s;text-decoration: underline;}
.linkStyle:hover{opacity: 0.7}

:root {
    --normal_color: #444444;
    --color1: #099877; /* メインカラー */
    --color2: #f9f9f9; /* サブカラー */
    --color3: #43a756; /* アクセントカラー1*/
    --color4: #edf6f1; /* アクセントカラー2*/
}
.normalColor,body{
	color: var(--normal_color);
}
#top_cms .top_cms_box:nth-of-type(4) {
    background-color: var(--color2);
    padding: 80px 0;
}
#fix_menu, .overlay.open{background-color: var(--color2);}
.border_color2 {
    border-color: #b7b7b7;
}
#loading{
    background-color: var(--color3);
}
#loading_line .line2{
    background-color: var(--color1);
}


/* ---------- all ---------- */
.rectangle_img, .normal_img img{
    border-radius: 20px;
}
html{
    font-size: 18px;
}
#footer::before{
    background: rgb(17 151 118 / 87%);
}
#footer #logo2{
    max-width: 300px;
}
/*ヘッダー追従*/
#header #logo {
    width: 270px;
    height: 100px;
    background: transparent;}
#header #logo h1 {
    width: 140% !important;
    left: 70%;}
#header{
    position: fixed;
    width: calc(100% - 90px);
    box-sizing: border-box;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 11;
    padding: 0 20px;}
#header #header-nav{
    padding: 20px 0;
    margin-top: 0;}
#header.active #logo{height: 100%;}
#header .tel_bt_h span.font_4dw i{display: none;}
#header-nav li:last-of-type a .before{display: none;}
@media screen and (max-width: 1280px) {
#header{width: calc(100% - 80px);}
}
/* ---------- tablet ---------- */
@media screen and (max-width: 768px){
#wrap{min-width: 100%;}
#fix_menu{z-index: 4;}
#header #logo h1 {
    width: 100% !important;
    left: 0%;
    max-width: 350px;
}
}
/*ヘッダー追従*/

.tel_bt a {font-size: 22px;}
#wrap{min-width: 1200px;}
#footer_info .contact_box a .contact_bg{
    transition-property: opacity, transform;
}
#footer_info .contact_box a:hover .contact_bg{
    opacity: 0.4;
    transform: translate(-50%, -50%) scale(1.1);
}
#footer_info .bg_white{
    background-color: #878787;
}
#loading_logo{
    max-width: 400px;
}

/* ---------- top ---------- */
#main_img{
    position: relative;
    border-radius: 49px;
    width: calc(100% - 70px) !important;
    margin: 130px auto 0!important;
    max-height: 730px;
}
#main_img:before {
    content: "";
    display: block;
    width: 48%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    /* transform: translate(-50%, -50%); */
    background: #F5F2EA;
    background: linear-gradient(90deg, rgba(245, 242, 234, 1) 0%, rgba(245, 242, 234, 0) 100%);
    z-index: 2;
}
#main_img .fv_txt {
    z-index: 3;
    width: min(46%, 600px);
    left: 30px;
    bottom: 100px;
}

#top_contents2{
    margin-bottom: 100px;
}


#top_contents2 .fadein_right, #top_contents2 .con_box:nth-of-type(2) .text_box{
    border-radius: 0 20px 20px 0;
}
#top_contents2 .con_box .con_img, #top_contents2 .con_box .text_box{
    border-radius: 20px 0 0 20px;
}
.more a {
    border-radius: 50px;
        background-color: #fff;
}

#top_contents1 h2{
    font-size: 36px;
}
#top_contents2 h2{
    font-size: 30px;
}

#top_contents1 {
    padding: 100px 5% 80px;
}
.item_box{
    width: min(100%, 1000px);
    margin: -32px auto 0;
    position: relative;
    z-index: -1;
}
.item1{width: 33%;}
.item2{width: 29%;}
.item3{width: 29%;}

#top_cms{
    padding: 0;
}
.blog_wrap,.cms_wrap {
    max-width: 1300px;
    width: 90%!important;
    margin: auto;
}

/*anim*/
.anim_box .item{
	transform: translateY(20px);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.anim_box .item.start{transform: translateY(0);opacity: 1;}


/* ---------- under ---------- */
#page_title::before{
    background: rgb(255 255 255 / 10%);
}
.cms_6-c .cate_box {
    border-radius: 5px;
    box-shadow: 0 0 32px rgba(0, 0, 0, 0.05);
    border-color: var(--color1);
}
.link_type1 .link_top a .link_img1{
    background-image: url('../img/flow_img1.jpg')!important;
}
.link_type1 .link_top:nth-of-type(2) a .link_img1{
    background-image: url('../img/flow_img2.jpg')!important;
}
.link_type1 .link_top:nth-of-type(3) a .link_img1{
    background-image: url('../img/flow_img3.jpg')!important;
}


/* ---------- tablet ---------- */
@media screen and (max-width: 768px){
#wrap{min-width: 100%;}
#main_img{padding-top: 0!important;}
#main_img .fv_txt {
    left: 17px;
    bottom: 39px;
}

#top_contents2 .con_box .con_img, #top_contents2 .con_box .text_box {
    border-radius: 20px;
}
#top_contents1 h2 {
    font-size: 29px;
}
#top_contents2 h2 {
    font-size: 26px;
}
#top_contents2 .con_box .text_box .before {
    width: 104px;
    height: 5px;
    top: 0;
    bottom: auto;
    right: 0;
    left: 0;
    }
#footer #logo2 {
    max-width: 500px;
    width: 36% !important;
    margin-bottom: 26px;
}
.footer_box p.mg_b-100px{
    margin-bottom: 50px;
}
#footer {
    padding-top: 50px;
}



}

/* ---------- mobile ---------- */
@media screen and (max-width: 667px){
#loading_logo {
    width: 63%;
    max-width: 236px;
}
#header #logo{
    width: 60% !important;
}
#header #logo {
    height: 75px;
    margin-left: 10px;
}
#header #logo h1 {
    width: 100% !important;
    left: 5%;
    max-width: 284px;
}
#header #logo h1 img{
    width: 100% !important;
}

#main_img {
    border-radius: 12px;
    width: calc(100% - 27px) !important;
    margin: 92px auto 0 !important;
}
#main_img:before{
    width: 100%;
    height: 98%;
    background: linear-gradient(0deg, rgba(245, 242, 234, 1) -17%, rgba(245, 242, 234, 0) 100%);
    top: auto;
    bottom: 0;
    opacity: 0.5;
}
#main_img .fv_txt{
    width: 80%;
    left: 17px;
    bottom: 23px;
}
.swiper-container-fade .swiper-slide{
    height: 65vh!important;
}
.swiper-container-fade .swiper-slide img{
    width: auto!important;
    height: 100%!important;
}

#top_contents1 h2 {
    font-size: 23px;
    letter-spacing: 1px;
}
#top_contents1 {
    padding: 59px 5% 64px;
}
.item_box {
    margin: 30px auto 0;
}
.item1 {
    width: 50%;
}
.item2 {
    width: 45%;
}
.item3{display: none;}

#top_contents2 {
    padding: 71px 0;
}
#top_contents2 .con_box .text_box{
    margin-top: 15px;
}
#top_contents2 .con_box .text_box .before {
    width: 81px;
    margin: auto;
}
#top_contents2 h2 {
    font-size: 21px;
}
.top_cms_title .cms_title_inner, .top_info_title .info_title_inner {
    width: 83%;
    margin: auto;
}
#footer #logo2 {
    width: 58% !important;
}
}


/* fix_bnr ---------------------------------------------------------------------------------------------*/
#fix_bnr {
    bottom: 9px;
    right: 100px;
    z-index: 10;
    width: 70%;
    max-width: 320px;
    transition: 0.5s;
    opacity: 1;
}
#fix_bnr.scroll{
    opacity: 1;
}
#fix_bnr.close{
    opacity: 0;
    z-index: -1;
}
@media screen and (max-width: 768px){
#fix_bnr {
    bottom: 16px;
    right: 49px;
}
#fix_bnr.close{
    transform: translateX(200px);
}
}
@media screen and (max-width: 667px){
#fix_bnr {
    width: 66%!important;
    right: 0;
    left: 0;
    margin: auto;
    bottom: 10px;
    opacity: 0;
}
}
/* fix_bnr end ---------------------------------------------------------------------------------------------*/






