﻿
/* ======================================================================================
　　color
======================================================================================== */
.linkStyle{color: #263C60;transition: opacity .3s;text-decoration: underline;}
.linkStyle:hover{opacity: 0.7}

.hvr_bg_color1:hover {
    background-color: #e9d126;
}
header .tel_bt a {
    border-color: #263c60;
}


/* ======================================================================================
　　all
======================================================================================== */
body{
    line-height: 1.7;
}
.font_14 {
    font-size: 15px;
}
.spinner7 .circ2{
    background-color: #DDCD00;
}
.button2:hover {
    box-shadow: 0 0 20px rgb(180 180 180 / 0%) inset;
}
.button:hover::after {
    box-shadow: inset 0 0 0 15em #07aa44;
}
header .button:hover::after {
    box-shadow: inset 0 0 0 15em #eac218;
}
header .button:hover {
    color: #fff;
}

/* ---------- header ---------- */
.fa-envelope:before {
    content: "\f075";
    display: none;
}
header.bg_color4 {
    background-color: #f6f1ec;
    background-image: url(../dup/img/bg1.png);
    background-repeat: repeat;
    background-size: 300px;
    padding-top: 60px;
}
header .head_banner a {
    font-size: 21px;
    letter-spacing: 3px;
    color: #fff;
}
header .tel_bt a, header .head_banner a {
    padding: 15px 0;
}
#main_menu ul li a::before{
    background-color: #eac218;
}



/* ======================================================================================
　　top
======================================================================================== */

/* ---------- 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;}


/* ---------- main_img ---------- */
#main_img::before{
    display: inline-block;
	content: "";
	width: calc(100% - 15px);
	height: calc(100% - 15px);
	background: rgba(0,0,0,0);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin: auto;
	border: 1px solid #fff;
	z-index: 1;
}
.main_txt1 img, .main_txt2 img, .main_txt3 img {
    max-height: 100%!important;
    min-height: 100%!important;
    object-fit: unset!important;
}
.main_txt1 {
    z-index: 3;
    width: 29%;
    max-width: 400px;
    top: 10%;
    left: 6%;
}
.main_txt2 {
    z-index: 3;
    width: 33%;
    max-width: 302px;
    bottom: 2%;
    right: 1%;
}
.main_txt2 img{
    transform: rotate(5deg);
}
.main_txt3 {
    z-index: 3;
    width: 50%;
    max-width: 437px;
    bottom: 6%;
    left: 3%;
}

/* ---------- contents ---------- */
.contents1_bg1{
    top: 0;
    left: 0;
    border-style: solid;
    border-width: 120px 50vw 0 0;
    border-color: #263c60 transparent transparent transparent;
}
.contents1_bg2{
    top: 0;
    right: 0;
    border-style: solid;
    border-width: 0 50vw 120px 0;
    border-color: transparent #fcba01 transparent transparent;
}
#contents1 {
    padding: 90px 10% 100px;
    text-align: center;
}
.con_no::before{
    display: none;
}
.item1{
    width: 246px;
    margin: auto;
    margin-bottom: 15px;
}
.item.con1 {
    width: 27%;
    bottom: -111px;
    right: -3%;
    transform: scale(-1,1);
    z-index: 1;
}
#contents1 .con_no{
    padding: 0;
    font-size: 18px;
    font-weight: 800;
    display: none;
}
.txt2{
    margin-bottom: 29px;
    font-weight: bold;
}
.txt3{
    line-height: 1.7;
}

.txt4{
    font-weight: bold;
}

#contents2 {
    padding: 100px 10% 300px;
}
#contents2 .img5{
    position: relative;
}
#contents2 .img5 span.bgitem {
    width: 100%;
    height: 100%;
    /* border-radius: 10px; */
    z-index: -1;
    transform: rotate(7deg);
    left: 0;
    bottom: 15px;
}
.item2 {
    width: 191px;
    margin-bottom: 20px;
}
.item2 img{
    transform: rotate(-5deg) translateX(-33px);
}

#contents3 .grid_6:first-of-type{
    margin-top: -185px;
}
.item.top {
    width: 124px;
    top: -25%;
    right: 6%;
    z-index: 2;
}
/*.item.bottom {
    width: 131px;
    bottom: -4%;
    left: 6%;
    transform: scale(-1,1);
}*/
.item.bottom {
    width: 27%;
    bottom: -19%;
    left: -3%;
    transform: scale(-1,1);
}
.item3, .item4{
    width: 190px;
    margin: 28px 0 10px;
}
.txt7, .txt5{
    margin-bottom: 20px;
    color: white;
    border-bottom: 1px dashed;
    padding-bottom: 5px;
}




/* ======================================================================================
　　under
======================================================================================== */

/* ---------- cms1 ---------- */
.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
}
/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.topcms_news_type2 .cate_box {width: 100%!important;}
.topcms_news_type2 .txt_height {height: 3em}
}




/* ======================================================================================
　　window size
======================================================================================== */

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
header.bg_color4 {
    padding-top: 4px;
}
header #logo {
    max-width: 156px;
}
.main_txt2 {
    width: 29%;
}
.main_txt3 {
    width: 40%;
    max-width: 303px;
}
#contents2 .img5{
    width: 80%!important;
    margin: auto;
    margin-top: 97px;
}
#contents3 .grid_6:first-of-type {
    margin-top: -151px;
}
.item.top {
    width: 11%;
    top: -38%;
    right: 6%;
}
}

/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
.font_14 {
    font-size: 14px;
}

header #logo {
    max-width: 123px;
}
.hamburger {
    top: 10px;
}
.main_txt1 {
    width: 34%;
    top: 8%;
    left: 5%;
}
#contents1 {
    padding: 64px 10% 100px;
}
.contents1_bg2 {
    border-width: 0 57vw 72px 0;
}
.contents1_bg1 {
    border-width: 73px 50vw 0 0;
}
.item1 {
    width: 63%;
}
.item.con1 {
    width: 49%;
    bottom: -74px;
    right: -3%;
}
item2 {
    width: 51%;
}
#contents2 {
    padding: 40px 10% 218px;
}
#contents2 .img5 {
    width: 100%!important;
    margin: auto;
    margin-top: 69px;
}
#contents3 .grid_6:first-of-type {
    margin-top: -64px;
}
.item.top {
    width: 18%;
    top: -13%;
    right: 3%;
}
.item3, .item4 {
    width: 49%;
}
.item.bottom {
    width: 53%;
    bottom: -8%;
    left: -17%;
}
header .head_banner a {
    padding: 10px 0;
    font-size: 18px;
    letter-spacing: 3px;
}

#page_title h2{
    letter-spacing: 2px;
    font-size: 23px;
}
}


/* ======================================================================================
　　修正
======================================================================================== */

/* 2023.02.01 */
.main_txt1 {
    z-index: 3;
    width: 59%;
    max-width: 548px;
    top: 4%;
    left: 46px;
    /* right: 0; */
    margin: auto;
}
.main_txt1 img{
    transform: rotate(-6deg);
}
.contents1_bg1 {
    border-color: #6ccfde transparent transparent transparent;
}
.more_btn {
    width: 100%;
    max-width: 350px;
}
#contents3 .grid_10 {
    margin-top: -60px;
}
.click_box {
    cursor: pointer;
    display: inline-block;
    padding: 4px;
    border-bottom: 3px dotted;
    font-size: 17px;
}
.txt_open{
     display: none
}
#contents3 {
    padding: 0 10% 141px;
}
/* color */
body, .txt_color_nomal{color: #212121;}
.txt_white{color: white;}
.txt_red{color: red;}
.txt_color1{color: #263C60;} /* メインカラー */
.txt_color2{color: #f2f2f2} /* サブカラー */
.txt_color3{color: #fcba01;} /* アクセントカラー1 */
.txt_color4{color: #E4E2D5} /* アクセントカラー2 */

/* background-color */
.bg_white{background-color: white} /* 白背景 */
.bg_black{background-color: black} /* 黒背景 */
.bg_color1{background-color: #0070c1;} /* メインカラー */
.bg_color2{background-color: #fdfdd0;} /* サブカラー */
.bg_color3{background-color: #0070c1;} /* アクセントカラー1 */
.bg_color4{background-color: #f6f1ec;} /* アクセントカラー2 */
.bg_color_clear{background-color: transparent!important}


/* border-color ※!important */
.border_color1{border-color: #0070c1;}
.border_color2{border-color: #f2f2f2}
.border_color3{border-color: #fcba01;}
.border_color4{border-color: #e1e1e1;}

/* color */
.hvr_txt_color_nomal:hover{color: #212121;}
.hvr_txt_white:hover{color: white;}
.hvr_txt_red:hover{color: red;}
.hvr_txt_color1:hover{color: #263C60} /* メインカラー */
.hvr_txt_color2:hover{color: #f2f2f2} /* サブカラー */
.hvr_txt_color3:hover{color: #263C60} /* アクセントカラー1 */
.hvr_txt_color4:hover{color: #E4E2D5} /* アクセントカラー2 */

/* background-color */
.hvr_bg_white:hover{background-color: white} /* 白背景 */
.hvr_bg_black:hover{background-color: black} /* 黒背景 */
.hvr_bg_color1:hover{background-color: #07aa44;} /* メインカラー */
.hvr_bg_color2:hover{background-color: #f2f2f2} /* サブカラー */
.hvr_bg_color3:hover{background-color: #263C60} /* アクセントカラー1 */
.hvr_bg_color4:hover{background-color: #E4E2D5} /* アクセントカラー2 */
.hvr_bg_color_clear:hover{background-color: transparent!important}

/* border-color ※!important */
.hvr_border_color1:hover{border-color: #263C60}
.hvr_border_color2:hover{border-color: #f2f2f2}
.hvr_border_color3:hover{border-color: #263C60}
.hvr_border_color4:hover{border-color: #E4E2D5}

.flex_box {overflow: hidden;}
/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.main_txt1 {
    width: 47%;
    top: 3%;
    left: 27px;
}
#contents3 {
    padding: 0 10% 114px;
}
}
/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
header .head_banner a {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding: 10px 25px 10px 22px;
    border-radius: 5px 0 0 5px;
    line-height: 0;
}
header .head_banner {
    left: auto;
    width: auto;
    bottom: 15px;
}
.main_txt1 {
    width: 47%;
    top: 3%;
    left: 6px;
}
#contents3 {
    padding: 0 10% 131px;
}
}


/* 2023.02.17 */
/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
header #logo {
    max-width: 83px;
}
}
/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
header #logo {
    max-width: 202px;
}
}