﻿@charset "utf-8";
/*-------------------------------------------------------------
 色 ・　文字
---------------------------------------------------------------*/
:root{
    --color1: #ed9e00;
    --color2: #002f8e;
    --color3: #bf0312;
    --color4: #F7CC38;
    --color5: #ffefc9;
    --black: #222222;
    --base: #FFF;
    --font1: 18px;
}

/* スマホ */
@media screen and (max-width: 667px){
    :root{
        --fontB1: 22px;
    }
}
html,body,.font_10,.font_11,.font_12,.font_13,.font_14,.font_15{font-size: var(--font1);}
.font_14_sp{font-size: 16px;}
.font_2up{font-size: max(calc(var(--font1) + 2px), calc(1rem  + 2px));}
.font_4up{font-size: max(calc(var(--font1) + 4px), calc(1rem  + 4px));}
.font_2dw{font-size: max(calc(var(--font1)), calc(1rem  - 2px));}
.font_4dw{font-size: max(calc(var(--font1)), calc(1rem  - 4px));}
.font_6dw{font-size: max(calc(var(--font1)), calc(1rem  - 6px));}


.base_color{background-color: var(--base);} /* ベースカラー　全体の背景色 */

.txt_white, .hvr_txt_white:hover{color: white;}
.txt_red, .hvr_txt_red:hover{color: #C12326;}
.txt_gray, .hvr_txt_gray:hover{color: #ccc}
.txt_color1, .hvr_txt_color1:hover{color: var(--color1)} /* メインカラー */
.txt_color2, .hvr_txt_color2:hover{color: var(--color2)} /* サブカラー */
.txt_color3, .hvr_txt_color3:hover{color: var(--color3)} /* アクセントカラー1 */
.txt_color4, .hvr_txt_color4:hover{color: var(--color4)} /* アクセントカラー2 */

/* background-color */
.bg_white, .hvr_bg_white:hover{background-color: white} /* 白背景 */
.bg_black, .hvr_bg_black:hover{background-color: var(--black)} /* 黒背景 */
.bg_gray, .hvr_bg_gray:hover{background-color: #ccc}
.bg_color1, .hvr_bg_color1:hover{background-color: var(--color1)} /* メインカラー */
.bg_color2, .hvr_bg_color2:hover{background-color: var(--color2)} /* サブカラー */
.bg_color3, .hvr_bg_color3:hover{background-color: var(--color3)} /* アクセントカラー1 */
.bg_color4, .hvr_bg_color4:hover{background-color: var(--color4)} /* アクセントカラー2 */
.bg_color5, .hvr_bg_color5:hover{background-color: var(--color5)} /* アクセントカラー2 */
.bg_color_clear, .hvr_bg_color_clear:hover{background-color: transparent!important}


/* border-color ※!important */
.border_white, .hvr_border_white:hover{border-color: white}
.border_black, .hvr_border_black:hover{border-color: var(--black)}
.border_gray, .hvr_border_gray:hover{border-color: #ccc}
.border_color1, .hvr_border_color1:hover{border-color: var(--color1)}
.border_color2, .hvr_border_color2:hover{border-color: var(--color2)}
.border_color3, .hvr_border_color3:hover{border-color: var(--color3)}
.border_color4, .hvr_border_color4:hover{border-color: var(--color4)}


.pagetitle{
    background-color: var(--base);
}
.pagetitle_img{
    background-size: cover;
    opacity: 0.6;
    background-position: 50% 30%;
}

/*-------------------------------------------------------------
 top, all
---------------------------------------------------------------*/
#fakeloader:before{
    background-color: var(--color5);
}

#con1{
    padding: 160px 0 100px;
    background-color: var(--base);
}
#con1 .con1_titile{
    width: 50%;
    max-width: 700px;
    margin: 0 auto 30px;
}
.con1_squ span{
    position: relative;
    z-index: 2;
}

#con2 {
    background-color: var(--color5);
}
#con2 .text_box{
    background-color: var(--base);
    padding: 30px 5%;
    margin: 0 auto;
    border-radius: 15px;
    width: 70%!important;
    min-width: 300px;
}

#con3{
    background-color: var(--base);
}
/*#con3 .title .en{*/
/*    color: var(--color4);*/
/*    font-weight: bold;*/
/*}*/
/*#con3 .box_wrap .box{*/
/*    width: 48%!important;*/
/*    background-color: var(--color3);*/
/*    border-radius: 20px;*/
/*}*/
/*#con3 .box_wrap .box:nth-child(2){*/
/*    background-color: var(--color2);*/
/*}*/

/*#con3 .box_wrap .box .top_con_titile{*/
/*    background-color: var(--color3);*/
/*    color: var(--base);*/
/*    border-radius: 50px;*/
/*    padding: 20px 2%;*/
/*    font-size: 1.3rem;*/
/*    font-weight: bold;*/
/*    line-height: 1;*/
/*    display: block;*/
/*    margin: 0px auto 30px;*/
/*    position: relative;*/
/*    z-index: 1;*/
/*}*/
/*#con3 .box_wrap .box:nth-child(2) .top_con_titile{*/
/*    background-color: var(--color2);*/
/*    color: var(--base);*/
/*}*/
/*#con3 .box_wrap .img{*/
/*    border-radius: 15px;*/
/*    width: 60%;*/
/*    margin: 0 auto 20px;*/
/*}*/
/*#con3 .box_wrap .txt{*/
/*    margin: 0 auto 40px;*/
/*    width: 80%;*/
/*    padding: 20px 3%;*/
/*    background-color: var(--color5);*/
/*    border-radius: 10px;*/
/*}*/


.topCms{
    background-color: var(--color5);
}
.f_sitemap_inner li{
    width: 33%;
}

.con_btn_box{
    width: 48%;
}
.f_contact_img{}
.footer {
    background-color: var(--color5);
}
.footer .txt_white{
    color: var(--color1);
}
.footer p{
    color: var(--black)!important;
}
.copy{
    padding-bottom: 70px;
    padding-top: 0px;
}
.copy.top_copy{    padding-bottom: 140px;}
/* タブレット */
@media screen and (max-width: 768px){
    #con1 {
        padding: 80px 0 80px;
    }
    .footer_sitemap .f_sitemap_inner{display: none;}
    .f_sitemap_inner li{}
}
/* スマホ */
@media screen and (max-width: 667px){
    .con_btn_box{
        width: 90%;
    }
    #con1{
        padding: 50px 0 50px;
    }
    #con1 .con1_titile{
        width: 90%;
    }
    #con1 p{
        letter-spacing: 0.03em;
    }
    
    #con2 .text_box{
        width: 90%!important;
    }
    #con3 .title .en{
        font-size: 1.5rem;
        letter-spacing: 0.03em;
    }
    .f_contact_box h4{
        font-size: 2rem;
    }
    .pagetitle{
        padding-top: 100px;
            padding-bottom: 30px;
    }
    .footer{
        padding: 150px 0px 50px;
    }
    .copy.top_copy{
        padding: 0px 0 80px;
    }
}

/*-------------------------------------------------------------
　ヘッダー,logo
---------------------------------------------------------------*/



/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}

/*-------------------------------------------------------------
 cms1
---------------------------------------------------------------*/
#cms_2-g .cate_title_wrap::before{
    display: none;
}
#cms_2-g .cate_title_wrap{
    padding-bottom: 30px;
}
#cms_2-g .box_wrap{
    margin-top: 50px;
}
#cms_2-g .cate_box{
    margin-top: 30px;
}

/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){
    #cms_2-g .cate_title_wrap{
        padding-bottom: 20px;
    }
    #cms_2-g .box_wrap{
        margin-top: 20px;
    }
    #cms_2-g .cate_box{
        margin-top: 20px;
    }
}
/*-------------------------------------------------------------
 cms2
---------------------------------------------------------------*/
#cms_3-c .cate_title,#cms_2-c .cate_title{
    font-weight: bold;
    color: var(--color1);
}
.cate .cate_img1,#cms_2-c .box_img1{
    border-radius: 15px;
}
.osusume {
    color: var(--base);
    background-color: var(--color3);
    display: block;
    padding: 10px;
    border-radius: 34px;
    width: 200px;
    text-align: center;
    position: relative;
    animation-name:updownAnime2;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: reverse;
    animation-duration:2s; /* アニメーション時間 */
}

@keyframes updownAnime2{
  0% {transform: translateY(0);}
  60% {transform: translateY(0);}
  70% {transform: translateY(3px);}
  80% {transform: translateY(0px);}
  90% {transform: translateY(3px);}
  100% {transform: translateY(0px);}
}
.osusume::before{
    content: "";
    position: absolute;
    width: 1px;
    height: 1px;
    bottom: -15px;
    right: 50%;
    transform: translate(0, -50%);
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 11px solid var(--color3);
}
/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){
    .osusume {
        width: 190px;
        margin: 10px auto 10px;
    }
}
/*-------------------------------------------------------------
 cms3
---------------------------------------------------------------*/
#cms_2-c .cate_title{font-size: 1.7rem;}
#cms_2-c .box_txt1{
    font-size: 1.5rem;
}
/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}
/*-------------------------------------------------------------
 cms4
---------------------------------------------------------------*/

/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}
/*-------------------------------------------------------------
 cms5
---------------------------------------------------------------*/
.pager li a{
    width: 33px;
    padding: 10px;
}
.pager li.prev a{
    width: 80px;
}

.topcms_news_type2 .cate_box {
	width: 46.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	cursor: pointer;
	border-bottom: 1px solid var(--base);
	margin-bottom: 30px;
	box-shadow: 0 6px 12px rgb(0 0 0 / 0);
	/* padding: 20px; */
	/* border-radius: 20px; */
	/* background-color: #f5f5f5; */
}
.topcms_news_type2 .cate_box:hover {
	transform: translateY(-5px);
}
.topcms_news_type2 .cate_box .box_item {
	cursor: pointer;
}
.topcms_news_type2 .txt_height {
	height: 5em
}
.topcms_news_type2 .box_img1 {
	border-radius: 10px;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.topcms_news_type2 .cate_box {width: 100%!important;}
.topcms_news_type2 .txt_height {height: 3em}
}
/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}
/*-------------------------------------------------------------
 プライバシーポリシー
---------------------------------------------------------------*/



/*-------------------------------------------------------------
 お問い合わせ
---------------------------------------------------------------*/
.contact__tel .con_title{}
.contact__tel.con_tako .con_title{}
.contact__tel.con_kaisyu .con_title{}

/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}
/*-------------------------------------------------------------
 サイトマップ
---------------------------------------------------------------*/


/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}

/* -------------------------------------------------------------
 リンクボタン 
--------------------------------------------------------------*/
.linkStyle,a{
	color: var(--color1);
	text-decoration: underline;
	transition: all 0.5s;
}
a{
    text-decoration: none;
}
.linkStyle:hover,a:hover{
	opacity: 0.7;
	text-decoration: none;
}

/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}



/* -------------------------------------------------------------
 モーダル
--------------------------------------------------------------*/
html.modalset{
	overflow: hidden;
}
#con3 .box_wrap .box{
    width: 48%!important;
}

#con3 .box_item {
    cursor: pointer;
    border-radius: 20px;
    padding: 20px 20px 40px;
    background-color: var(--color3);
}
#con3 .box_wrap .box:nth-child(2) .box_item{
    background-color: var(--color2);
}

#con3 .box_item figure{
    border-radius: 100%;
    width: 64%!important;
    margin: 20px auto 20px;
}
#con3 .box_item:hover {
    transform: scale(1.02);
}
#con3 .plus {
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%);
    max-width: 45px;
}
#con3 .box_title2, #con3 .box_txt1{
    border-top: 1px solid var(--base);
    color: var(--base);
}

#con3 .modal-wrap .box_txt1{
    color: var(--black);
}
#con3 .modal .box_title2{
	border-top: none;
}
#con3 .modal{
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
	line-height: 1.7;
}
#con3 .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;
}
#con3 .modal-wrap::-webkit-scrollbar {
	display: none;
}
#con3 .modal-wrap:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 1px;
	height: 100%;
}
#con3 .modal-bg{
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.3);
	width: 100%;
	height: 100%;
}
#con3 .modal-box {
    width: 90%;
    max-width: 900px;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    padding: 10px;
    padding-bottom: 23px;
    background-color: #fff;
}
#con3 .modal-box .inner{
	max-height: 650px;
    overflow: auto;
	-ms-overflow-style: none;
}
#con3 .modal-box .inner::-webkit-scrollbar {
  width: 2px;
  height: 10px;
}
#con3 .modal-box .inner::-webkit-scrollbar-track {
  border-radius: 5px;
  box-shadow: 0 0 4px #aaa inset;
}
#con3 .modal-box .inner::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #333;
}
#con3 .modal-box .modal-close {
    cursor: pointer;
    position: absolute;
    top: -20px;
    right: -20px;
    width: 60px;
}
#con3 .modal_img{
    max-width: 600px;
}
#con3 .modal_title1{
	padding-top: 60px;
}
#con3 .modal_title1:before{
	content: "";
	display: block;
	background-color: #666; 
	width: 1px;
	height: 50px;
	position: absolute;
	top: 0;
	left: 2px;
}
#con3 .modal_title1 span{
	transform: rotate(90deg);
	display: block;
	line-height: 1;
}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
    #con3 .box_wrap{
        margin: 0 auto;
    }
    #con3 .box_wrap .box{
        width: 100%!important;
    }
    #con3 .modal-box .modal-close {
        top: 15px;
        right: 10px;
        width: 40px;
        z-index: 3;
    }
    #con3 .modal-box .inner{
        max-height: 500px;
    }
}
/* -------------------------------------------------------------
 メインイメージ 
--------------------------------------------------------------*/
.pagetop{
    z-index: 5;
}
#main_img{
    position: relative;
    height: calc(56vw - 100px);
    max-height: calc(100vh - 100px);
}
.catch {
    z-index: 3;
    position: absolute;
    top: calc(50% + 50px);
    right: 0%;
    transform: translate(0%, -50%);
    width: 46.5%;
}
.top_btn_box{
    position: fixed;
    justify-content: flex-end;
    z-index: 4;
    width: 60%!important;
    bottom: 30px;
    right: 90px;
}
.top_btn_box .top_btn{
    max-width: 320px;
    margin: 0 20px;
    box-shadow: 0px 5px 0px rgb(0 0 0 / 0.4);
    border-radius: 15px;
    transition: all 0.3s;
}
.top_btn_box .top_btn:hover{
    transform: translateY(-3px);
}
.top_btn_box .top_btn a:hover{
    opacity: 0.9;
}
.top_btn_box .top_btn.bnr_tako{}
.top_btn_box .top_btn.bnr_kaisyu{}

/* タブレット */
@media screen and (max-width: 768px){
    #main_img{
        padding-top: 118px;
        height: 56vw;
    }
    .catch {
        top: calc(50% + 59px);
    }
    .top_btn_box .top_btn{
        max-width: 250px;
    }
}
/* スマホ */
@media screen and (max-width: 667px){
    
    #main_img{
        padding-top: 90px;
    }
    .catch {
        top: calc(50% + 45px);
    }
    .top_btn_box{
        width: calc(100vw - 80px)!important;
        bottom: 0px;
        right: 70px;
        /*transform: translateY(20px);*/
    }
    .top_btn_box .top_btn{
        margin: 3px 3px 0px;
        width: calc(50% - 6px)!important;
        box-shadow: 0px 0px 0px rgb(0 0 0 / 0);
    }
    .pagetop{
        width: 40px;
        height: 40px;
    }
    .pagetop i{
        width: 40px;
        height: 40px;
        line-height: 40px;
    }
    .top_btn_box .top_btn:hover{
        transform: translateY(0px);
        opacity: 0.7;
    }
}