﻿@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;700&family=Zen+Maru+Gothic:wght@500&display=swap');

body {
    font-family: 'Zen Kaku Gothic New', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", sans-serif;
    font-weight: 500;
}
.ZenMaru {
    font-family: var(--ZenMaru);
    font-weight: 500;
}
:root {
    --ZenMaru: 'Zen Maru Gothic', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", sans-serif;
}

/* ======================================================================================
　　color
======================================================================================== */
.linkStyle{color: #715d5e;transition: opacity .3s;text-decoration: underline;}
.linkStyle:hover{opacity: 0.7}

:root {
    --normal_color: #715d5e;
    --color1: #715d5e;
    --color2: #f5f1ed;
    --color3: #f3dc43;
    --color4: #c9baa9;
}
body {
	color: var(--normal_color);
}
.button:hover::after {
    box-shadow: inset 0 0 0 15em var(--color3);
}

header {background-color: #ffffff!important;}

/* ======================================================================================
　　all
======================================================================================== */
html, body {
    line-height: 2!important;
}
html, body, .font_14 {
    font-size: 18px;
}

.square_img, .rectangle_img, .normal_img img {border-radius: 25px;}
header .head_box .link_box li {border-radius: 0;}

#aboutus {overflow: hidden;}
#main_img, #aboutus2, footer {position:relative;}
#main_img::before, #aboutus2::before, footer::before {
    display: inline-block;
    content: "";
    width: 100%;
    height: 39px;
    background-image: url(../dup/img/bg2.jpg);
    background-size: 1000px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 1000;
}
#aboutus2::before, footer::before {
    top: auto;
    bottom: 0;
}

header #logo {
    padding: 0 11px;
}

.head_box .tel_bt a {
    margin: 0 auto 10px;
    border-radius: 50px;
    border: 1px solid;
    width: 90%!important;
    padding: 7px 0;
    font-size: 16px;
}
.head_box .head_banner a {
    border-radius: 50px;
    width: 90%!important;
    margin: auto;
    font-size: 16px;
    background-color: var(--color1);
}
.head_box .head_banner a:hover {
    background-color: var(--color3);
}
 .more a, .foot_tel_bt a {
    border-radius: 50px;
    background-color: var(--color1);
}

#main_menu {
    margin-top: 20px;
}

.fat-nav li {
    font-size: 17px;
}

.link_box li {
    width: 12.33333%!important;
    margin: 0 3%;
    border-radius: 0;
}


/* ======================================================================================
　　top
======================================================================================== */

/* ---------- main_img ---------- */
#main_img {
    max-height: 100%;
    min-height: 100%;
    background-color: var(--color2);
    padding-bottom: 18%;
    padding-top: 50px;
    background-image: url(
    ./Dup/img/nami1.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: left bottom;
}
#main_img img.object_fit_img {
    max-height: 80vh;
    min-height: 100%;
    border-radius: 60px 0 0 60px;
}
.flexslider {
    margin-left: auto;
    width: 85%;
    margin-top: 39px;
}
.catch {
    z-index: 3;
    width: 39%;
    max-width: 409px;
    top: 164px;
    left: -10%;
}

.scroll_bt {display: none;}

/* ---------- other ---------- */
#contents1 {
    overflow: hidden;
    padding-top: 55px;
}
#contents1 h2 {
    font-size: 240%;
    font-weight: 500;
    font-family: var(--ZenMaru);
    line-height: 1.7;
    margin-bottom: 22px;
}
#contents1 .con_no {
    font-weight: bold;
    color: var(--color1);
    font-size: 20px;
}
.modal h2 {
    font-size: 29px!important;
}

/* top modal */
html.modalset{
	overflow: hidden;
}
main.modalset {
    transform: none;
}
#contents1 .con1_modal{
    margin: auto;
}
#contents1 .modal_btn {
    cursor: pointer;
    color: #222;
    padding: 2px 18px 5px 20px;
    letter-spacing: 2px;
    margin-top: 47px;
    border: 1px solid;
    border-radius: 100px;
    font-size: 16px;
}
#contents1 .modal_btn:hover {
    letter-spacing: 3px;
}
#contents1 .modal_btn:hover i{
    position: relative;
    right: -4px;
}
#contents1 .modal .box_txt1{
    border-top: 1px dashed var(--color1);
    margin-top: 0;
    padding-top: 20px;
    /* opacity: 0.8; */
}
#contents1 .modal{
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
	line-height: 1.7;
	color: var(--color1);
}
#contents1 .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;
}
#contents1 .modal-wrap::-webkit-scrollbar {
	display: none;
}
#contents1 .modal-bg {
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--color1);
    width: 100%;
    height: 100%;
    opacity: 0.8;
}
#contents1 .modal-box {
    width: 100%;
    max-width: 983px;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    padding: 15px;
    border-radius: 22px;
    background-color: #fff;
    background-image: url(../dup/img/bg2.jpg);
}
#contents1 .modal-box .inner{
	max-height: 70vh;
	overflow: auto;
	-ms-overflow-style: none;
	background-color: #fff;
	border-radius: 22px;
}
#contents1 .modal-box .inner::-webkit-scrollbar {
  width: 2px;
  height: 10px;
}
#contents1 .modal-box .inner::-webkit-scrollbar-track {
  border-radius: 5px;
  box-shadow: 0 0 4px #aaa inset;
}
#contents1 .modal-box .inner::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #333;
}
#contents1 .modal-box .modal-close {
    cursor: pointer;
    position: absolute;
    top: -10px;
    right: -20px;
    width: 56px!important;
    left: auto;
}
#contents1 .modal_img{
    max-width: 600px;
}
#contents1 .modal_title1{
	padding-top: 60px;
}
#contents1 .modal_title1:before{
	content: "";
	display: block;
	background-color: #666; 
	width: 1px;
	height: 50px;
	position: absolute;
	top: 0;
	left: 2px;
}
#contents1 .modal_title1 span{
	transform: rotate(90deg);
	display: block;
	line-height: 1;
}
@media screen and (max-width: 667px){
#contents1 .modal-box .modal-close {
    top: 24px;
    right: 25px;
    width: 45px;
    width: 35px!important;
}
#contents1 .modal-box .inner{
    max-height: 500px;
}
}
/* top modal end */

#attach {
    width: 93%;
    margin-left: auto;
    border-radius: 32px 0 0 32px;
    height: 432px;
}

#aboutus {
    padding-top: 109px;
    background-image: url(./Dup/img/aboutus_img_bg1.png), url(./Dup/img/aboutus_img_bg2.png);
    background-size: 55%, 55%;
    background-repeat: no-repeat;
    background-position: left -115px top 12%, right -79px top 88%;
}
#aboutus2 {
    padding: 190px 50px 100px;
    background-color: var(--color2);
    background-image: url(./Dup/img/item1.png), url(./Dup/img/nami2.png);
    background-size: 15%, 100%;
    background-repeat: no-repeat;
    background-position: right 8% top 7%, left top;
}
#aboutus2 .title_box {
    margin: 0 auto 58px;
    max-width: 346px;
    position: sticky;
    top: 55px;
    left: 0;
}
.item2 {
    width: 60%;
    max-width: 186px;
    margin: 30px auto 0;
    animation: kakukaku1 1.5s steps(2,start) infinite;
}
@keyframes kakukaku1{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}}


.txt4, .txt6 {
    font-size: 30px;
    font-family: var(--ZenMaru);
    margin-bottom: 33px;
}
.con3_title {
    /* max-width: 385px; */
    /* width: 40%; */
    margin: 0px auto 15px;
    font-size: 64px;
    color: var(--color1);
    letter-spacing: 4px;
    /* font-family: var(--ZenMaru); */
    font-weight: 400;
}
.con3_title2 {
    /* max-width: 475px; */
    /* width: 42%; */
    margin: 0px auto 80px;
    font-size: 64px;
    color: var(--color1);
    letter-spacing: 4px;
    /* font-family: var(--ZenMaru); */
    font-weight: 400;
}

#aboutus .box1::before,#aboutus .box2::before {
    display: inline-block;
    content: "";
    position: absolute;
    margin: auto;
    z-index: -1;
    background-image: url(../dup/img/bg.jpg);
    background-position: center bottom;
    background-size: cover;
    border-radius: 50px;
    /* transform: rotate(45deg); */
    opacity: 0.65;
}
#aboutus .box1{
    margin-bottom: 14%;
}
#aboutus .box1::before {
    width: 59%;
    height: 94%;
    bottom: -15%;
    left: 16%;
}
#aboutus .box1 .img_box{
    width: 28.66667%!important;
}
#aboutus .img_box img, #aboutus .img_box .square_img {
    border-radius: 25px;
}
#aboutus .box1 .txt_box{
    padding-top: 30px;
    padding-left: 76px;
}

#aboutus .box2{
    margin-bottom: 108px;
}
#aboutus .box2::before {
    width: 59%;
    height: 94%;
    bottom: -15%;
    right: 10%;
}
#aboutus .box2 .txt_box{
    padding-right: 63px;
    width: 55.33333%!important;
}
#aboutus .box2 .img_box{
    width: 34.66667%!important;
}
.a_no{
    display: inline-block;
    padding-right: 66px;
    font-size: 26px;
    color: #7e7165;
}
.a_no::before {
    position: absolute;
    content: "";
    width: 50px;
    height: 1px;
    background-color: currentColor;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}
.a_img2 {
    width: 49%;
    left: 57%;
    bottom: -48%;
}

.topcms_about_type1 {counter-reset: box 0;padding-top: 35px;width: 90%;max-width: 1280px;margin: auto;color: var(--normal_color);}
.topcms_about_type1 .cate_box {
	width: 100%!important;
	padding: 43px 25px 25px;
	background-color: #ffffff;
	border-radius: 10px;
	box-sizing: border-box;
	margin: 0 0 50px;
}
.topcms_about_type1 .number {
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 90px;
}
.topcms_about_type1 .number::before {
	counter-increment: box 1;
	content: "0"counter(box);
	font-size: 54px;
	line-height: 1;
	text-align: center;
	color: var(--color3);
	display: inline-block;
	position: absolute;
	right: 0;
	left: 0;
	top: -42px;
	margin: auto;
	z-index: 0;
	font-family: var(
	--ZenMaru);
}
.topcms_about_type1 .number::after {
	content: "";
	position: absolute;
	display: block;
	width: 54%;
	height: 2px;
	background: #ffdb76;
	left: 0;
	right: 0;
	margin: auto;
	top: 22px;
}
.topcms_about_type1 .cate_box .box_title1{font-size: 18px;line-height: 1.6;z-index: 1;text-align: left;padding-top: 0;}

@media screen and (max-width: 768px){
.topcms_about_type1 .cate_box {
	margin: 0 auto 80px;
	width: 80%!important;
}
.topcms_about_type1 .cate_box:last-of-type {
	margin-bottom: 0;
}
}
@media screen and (max-width: 667px){
.topcms_about_type1 .cate_box {
	width: 90%!important;
	padding: 50px 25px 25px;
}
.topcms_about_type1 .number::before{
	font-size: 59px;
	top: -34px;
}
.topcms_about_type1 .number::after{
	width: 72%;
}
}

/* ======================================================================================
　　under
======================================================================================== */

.btn_container {
    margin-top: 33px;
    width: 90%;
    max-width: 400px;
}
#page8 .bnr {
    width: 90%;
    max-width: 350px;
    margin-bottom: 50px;
}

/* ---------- 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
}
.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}
}

/* ---------- cms5 ---------- */
.BA_type2 .box_img1_wrap, .BA_type2 .box_img2_wrap {
	width: 48%!important;
	margin: 0 1%;
}
@media screen and (max-width: 667px){
.BA_type2 .box_img1_wrap::before, .BA_type2 .box_img2_wrap::before{
	width: 76px;
	font-size: 13px;
}
.BA_type2 .box_img1_wrap::before, .BA_type2 .box_img2_wrap::before{padding: 1px 0px;}
.BA_type2 .box_img1_wrap, .BA_type2 .box_img2_wrap {
    width: 100%!important;
    margin: 0 1%;
    margin-bottom: 15px;
}
}



/* ======================================================================================
　　window size
======================================================================================== */

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.hamburger {
    top: 31px;
}
header #logo {
    padding: 0 0px;
    max-width: 98px;
}

#main_img {
    margin-top: 28px;
    padding-top: 36px;
}
#attach {
    height: 309px;
}

#contents1 h2 {
    font-size: 39px;
}

#aboutus {
    padding: 50px 10%!important;
}
#aboutus .box1 {
    margin-bottom: 100px;
}
#aboutus .box1 .txt_box {
    padding-top: 177px;
    padding-left: 0;
    width: 100%!important;
}
#aboutus .box1 .img_box {
    width: 63.66667%!important;
    margin-top: 30px;
}
#aboutus .box2 .txt_box, #aboutus .box3 .txt_box {
    padding-right: 0;
     padding-left: 0;
    width: 100%!important;
    order: 2;
}
#aboutus .box2 .img_box, #aboutus .box3 .img_box {
    width: 60.66667%!important;
    margin-bottom: 30px;
    order: 1;
}

#aboutus .box1::before {
    width: 75%;
    height: 62%;
    bottom: 11%;
    left: -6%;
}
#aboutus .box2::before {
    width: 79%;
    height: 111%;
    bottom: -6%;
    right: -6%;
}

#aboutus2 {
    padding: 146px 50px 100px;
    background-size: 18%, 100%;
    background-position: right 8% top 3%, left top;
}
#aboutus2 .title_box {
    max-width: 100%;
    position: static;
    width: 100%!important;
}
.topcms_about_type1 {
    padding-top: 35px;
    width: 90%;
    width: 100%!important;
    max-width: 100%;
}
.topcms_about_type1 .cate_box {
    margin: 0 auto 80px;
    width: 100%!important;
}

.head_box .head_banner a {
    border-radius: 10px 10px 0 0;
}
#aboutus2::before, footer::before {
    z-index: 0;
}
.btn_container {
    margin: auto;
    margin-top: 33px;
}

.link_box li {
    width: 26.33333%!important;
}
footer .link_box li {
    max-width: 38px;
}
}

/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
.font_14_sp {
    font-size: 16px;
}
html, body, .font_14 {
    font-size: 16px;
}

header #logo {
    max-width: 74px;
}
.hamburger {
    top: 22px;
}

#main_img {
    margin-top: 23px;
    padding-top: 36px;
    background-image: url(./Dup/img/nami1_sp.png);
    padding-bottom: 30%;
}
#main_img img.object_fit_img {
    min-height: 57vh;
    border-radius: 30px 0 0 30px;
}
.flexslider {
    height: 57vh;
}
.catch {
    width: 72%;
    top: 38px;
    left: -10%;
}

#contents1 h2 {
    font-size: 28px;
}
.modal h2 {
    font-size: 24px!important;
}

#aboutus {
    padding: 50px 10% 0px!important;
    background-size: 102%, 104%;
    background-position: left -115px top 12%, right -79px top 75%;
}
.con3_title {
    font-size: 40px!important;
}
#aboutus p:not(.a_no) {
    font-size: 16px;
    line-height: 2;
}
#aboutus .box1 .img_box {
    width: 90.66667%!important;
    margin-top: 30px;
}
#aboutus .box1::before {
    width: 82%;
    height: 62%;
    bottom: 23%;
    left: -14%;
    border-radius: 0 30px 30px 0;
}
#aboutus .box2::before {
    border-radius: 30px 0 0 30px;
    right: -17%;
    bottom: -9%;
}
#aboutus .box2 .img_box, #aboutus .box3 .img_box {
    width: 80.66667%!important;
}

#aboutus2 {
    padding: 146px 37px 100px;
    background-size: 27%, 100%;
    background-position: right 8% top 1%, left top;
}
.con3_title2 {
    line-height: 1.3;
    font-size: 40px!important;
    margin: 0px auto 40px;
}
.txt4, .txt6 {
    font-size: 28px;
}
.item2 {
    width: 50%;
}

.square_img, .rectangle_img, .normal_img img {
    border-radius: 10px;
}

#page8 .bnr {
    margin-top: 0;
}
footer .logo {
    text-align: center;
}
}


/* 2023.04.06 修正 */
.fix_bnr {
    right: 0;
    bottom: 12px;
    z-index: 9999;
    width: 300px;
}
.fix_bnr a {
    border-radius: 50px;
    width: 90%!important;
    margin: auto;
    font-size: 16px;
    background-color: var(--color1);
}

