﻿@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@500&display=swap');
.font1{font-family: 'Josefin Sans', sans-serif;}

/*--------------------------------
疑似要素にオブジェクト
--------------------------------*/
#main_img,#contents1 .con_txt_box,#contents1 .con_img,#contents2 .con_img{position: relative;}
/*リピートなし*/
#main_img:before,#contents1 .con_txt_box:before,#contents1 .con_img:before,#contents2 .con_img:before{
content: "";
display: block;
background-size: cover;
background-repeat: no-repeat;
position: absolute;
}

#main_img:before{
background-image: url(./Dup/img/catch.png);
background-size: 100%;
width: 33vw;
height: 17vw;
top: 12vw;
left: calc(250px + 3vw);
}
#contents1 .con_txt_box:before{
background-image: url(./Dup/img/obj1.png);
width: 100px;
height: 65px;
top: -65px;
left: -50px;
}
#contents1 .con_img:before{
background-image: url(./Dup/img/obj2.png);
width: 120px;
height: 135px;
bottom: 25px;
right: -30px;
}
#contents2 .con_img:before{
background-image: url(./Dup/img/obj3.png);
width: 200px;
height: 150px;
top: 25px;
right: 85px;
}
/*--------------------------------
全体
--------------------------------*/
body{
letter-spacing: 2px;
line-height: 2;
background-color: #dcd2c3;
background-image: url(./Dup/img/bg.jpg);
background-size: 100%;
}
.head_box{
height: auto;
min-height: auto;
padding-bottom: 0;
}
header.pd_t-50px{
width: 220px;
padding-top: 0;
top:50%;
left: 40px;
-ms-transform: translate(0,-50%);
-webkit-transform: translate(0,-50%);
transform: translate(0,-50%);
}
.pc_box{
background-color: rgba(255,255,255,0.9);
padding: 20px;
}
.main_box{
width: 100%;
margin-left: 0;
}
header #logo{
max-width: 130px;
padding: 0;
}

/* お問い合わせボタン hover */
.button:hover::after{box-shadow: inset 0 0 0 15em #465a41;}

/* SNSリンク */
.link_box li{margin-left: 0;margin-right: 7px;}
.link_box li:last-of-type{margin-right: 0;}
.link_box ul.flex_space-between{
justify-content: center;
align-items: center;
}

footer,#contents1,#contents2,#top_cms,.page_wrap,.page_box {margin-left: 250px;}
#contents3{padding-left: calc(10% + 250px);}

footer .logo img.width_200-max{max-width: 150px;}

.fix_banner{
max-width: 600px;
width: 100%;
box-sizing: border-box;
position: fixed;
bottom: 10px;
right: 10px;
z-index: 5;
}
@media  screen and (max-width: 768px){
.fix_banner{
right: auto;
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}
}
/*--------------------------------
TOP
--------------------------------*/
.con_no{font-size: 40px;}
.con_no::before{height: 2px;}
#top_cms .con_no{padding-right: 0;}
#top_cms .con_no:before{
width: 2px;
height: 40px;
right: auto;
top: auto;
bottom: -60px;
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}

#contents1{padding: 200px 10%;}
#contents2{padding-right: 0;}


/* TOP お知らせ */
.topcms_news_type2 .cate_box {
	width: 46.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
	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}
}
/*--------------------------------
下層
--------------------------------*/
#page_title .title_img{background-position: center top;}
.button2:hover{box-shadow: none;}

@media  screen and (max-width: 1280px){
#main_img{
height: 63vw;
min-height: auto;
}
#main_img:before{top: 27vw;}

}

@media  screen and (max-height: 660px){
header.pd_t-50px{left: 0;}
.head_box,.pc_box{height: 100%;}
}

/*タブレット用（768px以下）*/
@media  screen and (max-width: 768px){

header.pd_t-50px{
background-color: rgba(255,255,255,0.9);
padding-top: 0;
top: 0;
left: 0;
-ms-transform: none;
-webkit-transform: none;
transform: none;
}

.hamburger{top: 19px;}

.pc_box{
background-color: transparent;
padding: 0;
padding-top: 10px;
}
header #logo{max-width: 150px;}

footer,#contents1,#contents2,#top_cms,.page_wrap,.page_box {margin-left: 0;}
#contents3{padding-left: 10%;}

#main_img{height: 50vh;}
#main_img:before{
width: 45vw;
height: 23vw;
top: 27vw;
left: 5vw;
}

#contents1{padding: 150px 10%;}
#contents3 .grid_6:last-of-type{margin-top: 50px;}
#contents2{padding-right: 10%;}

.main_box{padding-top: 75px;}
#page_title .title_img {background-position: center center;}
}

/*スマホ用（667px以下）*/
@media  screen and (max-width: 667px){
.hamburger{top: 20px;}
footer .grid_5{text-align: center;}
.footer_cms{
display: inline-block;
text-align: left;
}

#main_img {height: 45vh;}
#main_img:before {
width: 65vw;
height: 33vw;
top: auto;
bottom: 7vw;
left: 5vw;
}

.con_no{font-size: 30px;}
#contents1{padding: 100px 10%;}
#contents1 .con_txt_box:before{
width: 80px;
height: 53px;
top: -55px;
left: -30px;
}
#contents1 .con_img:before{
width: 80px;
height: 90px;
bottom: -15px;
right: -20px;
}
#contents2 .con_img:before{
width: 120px;
height: 90px;
top: -15px;
right: 0;
}
#top_cms > .box{padding: 50px 5%;}

}

/*IE*/
@media all and (-ms-high-contrast: none) {}




/*--------------------------------
自動リンク
--------------------------------*/
/* color */
.linkStyle{color: #465a41; text-decoration: underline;}
.txt_color_nomal .linkStyle{color: #465a41;}
.txt_white .linkStyle{color: white;}
.txt_red .linkStyle{color: red;}
.bg_color1 .linkStyle{color: #fff;}
.bg_color2 .linkStyle{color: #465a41;}
.bg_color3 .linkStyle{color: #fff;}
.bg_color4 .linkStyle{color: #beaa87;}

/*IEのみ*/
@media all and (-ms-high-contrast: none) {
.linkStyle{display: inline-block;}
}

/*--------------------------------
カラー
--------------------------------*/
body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: #333333;}
.txt_black,.hvr_txt_black:hover{color: black;}
.txt_white,.hvr_txt_white:hover{color: white;}
.txt_red,.hvr_txt_red:hover{color: red;}
.txt_color1,.hvr_txt_color1:hover{color: #465a41;} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #91a087;} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #beaa87;} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #f4f4f4;} /* アクセントカラー2 */

/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: white;} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: black;} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: #465a41;} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #91a087;} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #d2beaa;} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #f4f4f4;} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}

/* border-color */
.border_white,.hvr_border_white:hover{border-color: white;}
.border_black,.hvr_border_black:hover{border-color: black;}
.border_color1,.hvr_border_color1:hover{border-color: #465a41;}
.border_color2,.hvr_border_color2:hover{border-color: #91a087;}
.border_color3,.hvr_border_color3:hover{border-color: #dcd2c3;}
.border_color4,.hvr_border_color4:hover{border-color: #f4f4f4;}