﻿
/* font ------------------------------------------------------------------------------*/

h1,h2,h3,h4,h5,h6{font-weight:500;}

/* フォントサイズ */
.font_10{font-size: 11px;}.font_11{font-size: 12px;}.font_12{font-size: 13px;}.font_13{font-size: 14px;}
.font_14{font-size: 15px;}.font_15{font-size: 16px;}.font_16{font-size: 17px;}.font_17{font-size: 18px;}
.font_18{font-size: 19px;}.font_19{font-size: 20px;}.font_20{font-size: 21px;}.font_21{font-size: 22px;}
/* フォントサイズ 基準値から+- */
.font_100per{font-size:-webkit-calc(1rem + 1px);font-size : calc(1rem + 1px);}
.font_200per{font-size:-webkit-calc(2rem + 1px);font-size : calc(2rem + 1px);}
.font_2up{font-size:-webkit-calc(1rem + 3px);font-size : calc(1rem + 3px);}
.font_4up{font-size:-webkit-calc(1rem + 5px);font-size : calc(1rem + 5px);}
/*タブレット*/
@media screen and (max-width: 768px){
/* フォントサイズ　タブレット */
.font_10_tb{font-size: 11px;}.font_11_tb{font-size: 12px;}.font_12_tb{font-size: 13px;}.font_13_tb{font-size: 14px;}
.font_14_tb{font-size: 15px;}.font_15_tb{font-size: 16px;}.font_16_tb{font-size: 17px;}.font_17_tb{font-size: 18px;}
.font_18_tb{font-size: 19px;}.font_19_tb{font-size: 20px;}.font_20_tb{font-size: 21px;}.font_21_tb{font-size: 22px;}
/* フォントサイズ 基準値から+- */
.font_100per_tb{font-size:-webkit-calc(1rem + 1px);font-size : calc(1rem + 1px);}
.font_200per_tb{font-size:-webkit-calc(2rem + 1px);font-size : calc(2rem + 1px);}
.font_2up_tb{font-size:-webkit-calc(1rem + 3px);font-size : calc(1rem + 3px);}
.font_4up_tb{font-size:-webkit-calc(1rem + 5px);font-size : calc(1rem + 5px);}
}
/*スマホ*/
@media screen and (max-width: 667px){
/* フォントサイズ　スマホ */
.font_10_sp{font-size: 11px;}.font_11_sp{font-size: 12px;}.font_12_sp{font-size: 13px;}.font_13_sp{font-size: 14px;}
.font_14_sp{font-size: 14px;}.font_15_sp{font-size: 16px;}.font_16_sp{font-size: 17px;}.font_17_sp{font-size: 18px;}
.font_18_sp{font-size: 19px;}.font_19_sp{font-size: 20px;}.font_20_sp{font-size: 21px;}.font_21_sp{font-size: 22px;}
/* フォントサイズ 基準値から+- */
.font_100per_sp{font-size:-webkit-calc(1rem + 1px);font-size : calc(1rem + 1px);}
.font_200per_sp{font-size:-webkit-calc(2rem + 1px);font-size : calc(2rem + 1px);}
.font_2up_sp{font-size:-webkit-calc(1rem + 3px);font-size : calc(1rem + 3px);}
.font_4up_sp{font-size:-webkit-calc(1rem + 5px);font-size : calc(1rem + 5px);}
}


.font_14 p,p.font_14 ,p .font_14 {
    font-size: 16px !important;
}
.header-in span.font_15 {
    font-size: 12px;
    padding-top: 3px;
}
/* font ------------------------------------------------------------------------------*/

/* color -----------------------------------------------------------------------------*/

:root{
    --color1:#2bb5bf;
    --color2:#bcf5f5;
    --color3:#ff9414;
    --color4:#f07475;
    --color5:#ecffff;
    --color6:#e1fdfd;    
    --white:#ffffff;
    --black:#25575b;
    --gray:#ccc;
}

body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: var(--black);}
.txt_white,.hvr_txt_white:hover{color: var(--white);}
.txt_color1,.hvr_txt_color1:hover{color: var(--color1);} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: var(--color1);} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: var(--color3);} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: var(--color3);} /* アクセントカラー2 */
.txt_color5,.hvr_txt_color5:hover{color: var(--color1);} /* アクセントカラー2 */
/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: var(--white)} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: var(--black);} /* 黒背景 */
.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_color6,.hvr_bg_color6:hover{background-color: var(--color6);} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}
/* border-color ※!important */
.border_white,.hvr_border_white:hover{border-color: var(--white);}
.hvr_border_black:hover{border-color: var(--black);}
.border_black{border-color: var(--gray);}
.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);}
.border_color5,.hvr_border_color5:hover{border-color: var(--color5);}

.linkStyle{color: var(--color1);
          border-bottom:solid 1px;
}
body#body {
    background: var(--white);
}

section.topCms.border_color5 {
    border-color: var(--color2);
}
/* color -----------------------------------------------------------------------------*/

/* ev --------------------------------------------------------------------------------*/

section#con2 .font_22 {
    margin-bottom: 5px;
}
.f_contact_box h4 {
    font-size: 33px;
    padding-bottom: 10px;
}
.menu_btn.stick_trans span:last-child { margin-top: -3px;}


/* ev --------------------------------------------------------------------------------*/

/*top■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/



.topimg01 {
    object-fit: contain;
    width: auto;
    height: calc(90vh - 100px);
    box-sizing: border-box;
    bottom: 0;
    position: absolute !important;
    right: 0%;
}
.topimg02 {
    object-fit: cover;
    width: calc(100% - 100px);
    height: calc(100vh - 100px);
    box-sizing: border-box;
    top: 50%;
    position: absolute !important;
    transform: translate(-50%, -50%);
    left: 50%;
}
.topimg03 {
    object-fit: cover;
    width: calc(100% - 100px);
    height: calc(100vh - 100px);
    box-sizing: border-box;
    top: 50%;
    position: absolute !important;
    transform: translate(-50%, -50%);
    left: 50%;
}

span.catch img {
    width: clamp(200px, 30vw, 400px);
    position: absolute;
    top: 50%;
    left: 14%;
    transform: translate(-15%,-50%);
    z-index: 2;
}


div#main_img {
    height: calc(100vh - 100px);
}


span.topTxt1 {
    display: none;
}

section#con1 p {
    max-width: 1000px;
    text-align: left;
    margin: 0 auto;
}

div#main_img {
    background-color: var(--white);
    background-image: url(dup/img/catch.png),url(dup/img/main_img02.png),url(dup/img/main_img03.png),url(dup/img/main_img01.png),url(dup/img/catch_deco.png);
    background-size: 24vw,13vw,9vw,57vw,33vw;
    background-repeat: no-repeat;
    background-position: center left 10%,bottom 18% right 11%,top 54% right -2%,bottom right,top 46% left 2%;
}

@media (max-aspect-ratio: 16 / 9){
#main_img {
    background-position: top 56% left 4%,bottom 17% right 16%,top 62% right -1%,bottom right,top 56% left 0% !important;
    background-size: 21vw,14vw,12vw,71vw,25vw !important;
}
}

@media (orientation: portrait){
#main_img {
    background-position: top 24% left 7%,bottom 19% left 55vw,top 65% right 5vw,bottom right,top 15% left 0% !important;
    background-size: 33vw,21vw,13vw,100vw,40vw !important;
}
}


section#con1 p {
    max-width: 900px;
    text-align: left;
    margin: 0 auto;
    padding: 3%;
    background: var(--white);
    border: solid 2px var(--color2);
    border-radius: 10px;
}

.con1_inner h2 {
    margin: 0px 0 10px;
    font-size: 30px;
    color: var(--color1);
    letter-spacing: 4px;
}

section#con2 .font_22 {
    margin-bottom: 7px;
    color: var(--color1);
    font-size: 25px !important;
    font-weight: 600;
}

h4.con3_sub {
    font-size: 20px;
    font-weight: bold;
    position: relative;
    display: inline-block;
    color: var(--color1);
    margin-top: 20px;
    /*white-space: nowrap;*/
}

#con3 .title .en{display: none;}

section#con4{display:none;}

.cmstitle span {
    color: var(--color4);
}

section#con3 p {
    margin-top: 10px;
}


.con1_squ span.bg_color3 {
    background: var(--color1);
    background: url(dup/img/K.png);
    background-size: contain;
    background-repeat: no-repeat;
    border-radius: 0;
    margin-right: 3px;
}

.con1_squ span.bg_color1 {
    background: var(--color4);
    border-radius: 50px;
    width:22px;
    height: 22px;
}

.con1_squ span.bg_color2 {
    background: var(--color3);
    border-radius: 0px 0px 10px 10px;
}

/*top■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*all■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#sp_nav .sp_nav_inner .menu__header .logo3 img {
    max-width: 300px;
}
/*all■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*sub■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.pagetitle_img {
    opacity: 0.9;
    mix-blend-mode: screen;
    background-position: center center;
}

.pagetitle {
    background-color: var(--color2) !important;
}

.logo1 {
    max-width: 200px;
}

#fakeloader .fl {
    max-width: 300px;
}

.menu_btn span {
    background: var(--color1);
}

main.all_contents {
    background: var(--color6);
}

.pagetitle span {
    color: var(--color4);
}

.cate_list li a {
    color: var(--color4);
}

.cate_list li a:hover {
    background-color: var(--color4);
    color: var(--white);
}


#cms_6-a h3.cate_title ,.cms_6-a h3.cate_title {
    background: var(--color3);
}

#cms_5-e h3.box_title1,.cms_5-e h3.box_title1 {
    background: var(--color5);
}

.f_sitemap_inner i, .f_sitemap_inner li a, footer p {
    color: var(--black) !important;
}
footer p {
    text-align: center;
}

#sp_nav {
    background: var(--color2);
}

#page7 .info .info__row .title {
    font-weight: 600;
}

#page9 .box .no {
    background: var(--color4);
}

#page9 .box h3{
   color: var(--color4);
}


/*コード集*/
.link_type1 .link_top .link_title {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center;
	margin-bottom: 30px;
    color: var(--black);
    font-weight: normal;
}
.link_type1 .link_top .link_title{
    font-size: 20px;
    margin-bottom: 20px;
}
.link_type1 .link_top a {
    padding-top: 80px;
    padding-bottom: 60px;
}
.link_type1 .link_top a:hover{
    background-color: var(--color5);
}
.link_type1 .link_top a:hover .link_img1{
    transform: translate(-50%, -50%) scale(1.1,1.1);
    opacity: 0.1;
}
@media screen and (max-width: 667px){
.link_type1 .link_top .link_title{
    font-size: 15px;
}
}

#google_privacy {z-index: 0 !important;}


/*sub■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/


/*1536*/
@media screen and (max-width: 1536px){

}

/*1530 × 735*/
@media screen and (max-width: 1530px){

}

/*1366*/
@media screen and (max-width: 1366px){

}

/*タブレット*/
@media screen and (max-width: 768px){
    
#main_img {
    background-image: url(dup/img/catch.png),url(dup/img/main_img02.png),url(dup/img/main_img03.png),url(dup/img/main_img01.png),url(dup/img/catch_deco_tb.png) !important;
    background-position: top 18% left 48%,bottom 21% left 64vw,top 66% right -1vw,bottom 0% left 0%,top 5% left 50% !important;
    background-size: 81vw,25vw,12vw,119vw,113vw !important;
    width: 100% !important;
}
#sp_nav .sp_nav_inner .l-menu {
    padding: 6% 6% 8%;
}

.con1_inner h2 {
    color: var(--color1);
    text-align: center;
}

section#con2 .font_22 {
    text-align: center;
}

#con3 .box_wrap .box {
    width: 100% !important;
    margin-bottom: 100px;
}

#con3 .box .img {
    border-radius: 50%;
    width: 50%;
    margin: 0 auto;
}

ul.cate_list li {
    width: auto !important;
    min-width: 33.33333%!important;
}

.cate_list li a {
    color: var(--color4);
    padding: 10px 15px;
}

.pagetitle {
    padding-top: 154px;
}

.header-in {
    background-color: var(--white);    
    box-shadow: 0px 0px 5px -2px #aaa;
}

}


/*スマホ*/
@media screen and (max-width: 667px){

#sp_nav .sp_nav_inner {
    padding: 30px 0px 30px 0px;
}

#sp_nav .sp_nav_inner .menu__header .logo3 img {
    max-width: 200px;
}

.pagetitle {
    padding-top: 130px;
}

div#tel_txt .border_rad5 {
    margin-top: 20px;
    margin-bottom: 30px;
    border-radius: 50px;
}

.f_contact_box .font_18 {
    font-size: 16px;
}

#page8 .contact_tel a {
    display: block;
    padding: 16px 10px;
}

section#cms_5-e {
    margin-bottom: 0;
}

ul.cate_list li {
    width: 100% !important;
    min-width: 100%;
}


div#main_img {
    padding-top: 80px;
    height: calc(65svh - 80px);
}
#main_img {
    background-image:none !important;
}

span.catch img {
    height: 20svh;
    width: 75vw;
    object-fit: contain;
    position: absolute;
    top: 80px;
    left: 50%;
    transform: translate(-50%,-0%);
    z-index: 2;
}

span.catch_deco img {
    height: auto;
    width: 110vw;
    object-fit: cover;
    position: absolute;
    top: 38px;
    left: 50%;
    transform: translate(-50%,-0%);
    z-index: 2;
}

.topimg01 {
    object-fit: cover;
    width: 100vw;
    height: 45svh;
    box-sizing: border-box;
    top: calc(20svh + 80px);
    position: absolute !important;
    left: 0%;
    right: auto;
}
.topimg02 {
    object-fit: contain;
    width: auto;
    height: 13svh;
    box-sizing: border-box;
    top: calc(35svh + 80px);
    position: absolute !important;
    right: 0%;
    left: 51vw;
    transform: none;
}

.topimg03 {
    object-fit: contain;
    width: auto;
    height: 11svh;
    box-sizing: border-box;
    top: calc(24svh + 80px);
    position: absolute !important;
    right: 0%;
    left: auto;
    transform: none;
}


.con1_inner h2 {
    margin: 0px 0 10px;
    font-size: 21px;
    color: var(--color1);
    letter-spacing: 2px;
}

section#con2 .font_22 {
    margin-bottom: 7px;
    color: var(--color1);
    font-size: 18px !important;
    font-weight: 600;
}

#con3 .box .img {
    border-radius: 50%;
    width: 80%;
    margin: 0 auto;
}

#con3 .box_wrap .box {
    width: 100% !important;
    margin-bottom: 70px;
}


h4.con3_sub {
    font-size: 17px;}

}


/*固定バナー*/
.fix_bnr{
    right:95px;
    z-index:2;
}


/*タブレット*/
@media screen and (max-width: 768px){
.fix_bnr {
    right: 90px;
    z-index: 2;
}
}


/*スマホ*/
@media screen and (max-width: 667px){
.fix_bnr {
    right: auto;
    z-index: 2;
    left: calc(50% - 10px);
    transform: translateX(-50%);
}
}