﻿/* color -----------------------------------------------------------------------------*/
@charset "utf-8";
/* CSS Document */
:root{
    --color1:#2489b3;
    --color2:#d4f2fb;
    --color3:#34a188;
    --color4:#2489b3;
    --color5:#e9e5dc;
    --color6:#111111;
    --white:#ffffff;
    --black:#1B1A17;
    --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(--color2);} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: var(--color3);} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: var(--color4);} /* アクセントカラー2 */
.txt_color5,.hvr_txt_color5:hover{color: var(--color5);} /* アクセントカラー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_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　---------- */
.linkStyle{
    color: var(--color1);
    border-bottom:solid 1px;
}
.linkStyle:hover{
	color: var(--color3);
	opacity: 0.7;
	transition: all 0.5s;
}

#header .grid_4{
    width: 25%!important;
}

#header_nav{
    width: 75%!important;
}

#header_nav a{
    font-size: 25px;
}

#header h1 img{
    width: 70%!important;
}

#main_img{
    height: 39vw;
}

#main_img::after {
	content: "";
	display: block;
	position: absolute;
	background-image: url(./Dup/img/fv03.png);
	bottom: 0vw;
	left: 3vw;
	width: 41%;
	height: 100%;
	background-size: contain; 
	background-size: 100%;
	background-repeat: no-repeat;
	z-index:4 ;
}

.fv02::before{
	content: "";
	display: block;
	position: absolute;
	background-image: url(./Dup/img/kc2.png);
	bottom: 0%;
    right: 0%;
	width: 57vw;
	height: 39vw;
	background-size: contain; 
	background-position: 50% 50%;
	background-size: 100%;
	background-repeat: no-repeat;
	z-index:4 ;
}

#contents1{
    padding-top: 50px;
}

#contents1 h3{
    text-align: center;
    color: #2489b3;
}

#contents2 .text01{
    font-size: 15px;
}

#contents2 .title01 {
    letter-spacing: 0px;
    font-size: 20px;
    color: #2489b3;
    padding: 20px 10px 0;;
}

#contents2 .sp_hide{
    display: none;
}

#page03 .box_item {
    justify-content: space-between;
}

#page03 h4{
    margin-bottom: 50px;
}

#page03 .box_txt1 {
    padding-left: 0px;
}

#page08 .contact_box p{
    font-size: calc(1rem + 7px);
}

#footer_txt .tel a{
    letter-spacing: 0px;
}
/*PC小用（1200px以下）
--------------------------------------------------------------------------*/
@media  screen and (max-width: 1200px){}

/*タブレット用（768px以下）
--------------------------------------------------------------------------*/
@media  screen and (max-width: 768px){

#wrap{
    padding-top: 90px;
}

#header .grid_4 {
    width: 40%!important;
}

#header h1 img {
    width: 100%!important;
}

#top_cms .top_cms_box {
    padding-top:50px;
    padding-bottom: 50px;
}

#cms_1-g .cate_box {
    margin-bottom: 0px;
}

#page03 .width_1280-max {
    padding-right: 40px;
    padding-left: 40px;
}

#page03 h4{
    width: 40%!important;
}

#page03 .box_txt1 {
    width: 60%!important;
}

.cate_list{
    padding: 0px;
}

#page03 .cate_list li{
    width: 22%;
}

#page04,#page05,#page06{
    padding-bottom: 0px;
}

#page08 .width_1000-max{
    padding: 20px;
}

#page08 .tel_box1,#page08 .tel_box2,#page08 .mail_box{
    width: 50%!important;
}
}

/*スマホ用（667px以下）
--------------------------------------------------------------------------*/
@media  screen and (max-width: 667px){

#header .grid_4 {
    width: 60%!important;
}

#header h1 img {
    width: 100%!important;
}

#contents1,#contents2{
    margin-bottom: 0px;
}

#contents2 .title01 {
    font-size: 19px;
}

#contents2 .sp_hide{
    display: block;
}

#top_cms .top_cms_box {
    padding-bottom: 0px;
}

#page_title h2{
    letter-spacing: 3px;
}

#page03{
    padding-bottom: 0px;
}

.cate_list li{
    width: 100%!important;
}

#cate0{
    margin-bottom: 50px;
}

#cate1{
    margin-bottom: 50px;
}

#page03 .cate_title {
    letter-spacing: 0px;
}

#page03 h4{
    width: 100%!important;
}

#page03 .box_txt1 {
    width: 90%!important;
}

#page04 .box_title {
    font-size: calc(1rem + -1px);
    padding-right: 0px;
    padding-left: 0px;
}

#page06 .cate_wrap {
    margin-bottom: 50px;
}

#page08 .tel_box1, #page08 .tel_box2, #page08 .mail_box {
    width: 100%!important;
}

#page08 .contact_box p {
    font-size: calc(1rem + 2px);
}

#page09 h3{
    letter-spacing: 1px;
}

footer h2 a{
    max-width: 200px!important;
}
}