@charset "utf-8";


/* --------------------------------

	* Contents
	
	1. Structure Frame
	2. Template Style

--------------------------------- */



/* ==========================================================================================================

	 1. Structure Frame
 
============================================================================================================*/

body{ max-width: 1440px;margin:0 auto;}


body {
	font-size:12px;color: #4d4d4d;
}

.center{
    text-align: center;
}

#container {
	clear			: both;
	width			: 1000px;
	margin:15px auto;
	font-weight:normal;
}

.page_width{
	width:1000px;
	margin:0 auto;
}

.box_wrap{
	clear:both;
	overflow:hidden;
}



h1{
}

h2{
font-size: 22px;
}

h3 {
}


footer {
    //background: #ffffff;
    color: #000;
    /* padding: 20px; */
    font-size: 14px;
}

footer a {
    color: #505050;
}

.footer_box {
    background: #ffffff;
    padding: 35px 0 40px 0;
    width: 100%;
    margin: 0 auto;
    border-top: 2px solid #fbdfab;
}
.footer_txt_box{
    overflow: hidden;
    padding: 20px 0 0 0;
    display: flex;
    justify-content: space-around;
    width: 100%;
}
.footer_txt {
float: left;
    width: 45%;
    display: flex;
}
.footer_link{
    float: left;    width: 55%;overflow: hidden;

}

.footer_link ul.head_btn li{
    float: left;
}

.footer_link ul{
    float: left;
}

.footer_logo {
    text-align: center;
    width: 100%;
    margin: 35px auto;
    border-bottom: 1px solid #382100;
}

.footer_logo img {
    width: 30%;
    padding-bottom: 20px;
}
.footer_txt img{
    //width: 50%;
    //margin-bottom: 10px;
}


.foot_icon1 {
    padding: 4px 0 0 30px;
    background-image: url(../img/foot_icon1.png);
    background-repeat: no-repeat;
}

.foot_icon2 {
    padding: 4px 0 0 0px;
}

.foot_icon3 {
    padding: 4px 0 0 0px;
}


.foot_tel{
    font-size: 20px;
    font-weight: bold;
    /* vertical-align: baseline; */
    margin-top: -5px;
    display: block;
}


.foot_link_hd{
    width: 80px;
    display: block;
    float: left;
}


.foot_map_btn{
    display: block;
    background: #372000;
    color: #FFF;
    padding: 10px;
    margin-top: 10px;
    border-radius: 15px;
    text-align: center;
    width: 180px;
}


.footer_txt div{
    /* width: 50%; */
    padding: 0 0px;
}


footer .copy {
padding: 20px 0;
    display: block;
    float: none;
}
footer .policy {
    padding: 20px 0;
    display: block;
    float: right;
}

.footer_box .copy ul{
    display: flex;
    justify-content: center;
}

footer .footer_txt span {
    display: block;color:#505050;
}


.copy ul li{
float:left;padding: 0 20px;
}

.policy ul li{
float:left;padding: 0 15px;
}

ul.link {
color:#505050;
}
ul.link li{
float:left;    width: 17%;font-weight: bold;
}
ul.link li.long{
float:left;    width: 32%;
}
ul.link li span{
    font-size: 12px;font-weight:normal;
}





.copy_right {
    background: #ffffff;
    text-align: center;
    padding: 15px;
    color: #4d4d4d;
}


.copy_box {
    overflow: hidden;
    background: #fbdfab;
}
.copy_box .footer_box {
    background: #fbdfab;
    padding: 0px 0;
    width: 90%;
    margin: 0 auto;
}



#page_top {
    position: fixed;
    bottom: 30px;
    right: 20px;
    /* padding: 20px; */
    /* background: #CCC; */
    background-color: #3d62ac;
    padding: 20px 10px;
    text-align: center;
    border-radius: 100px;
    z-index: 100000;
}


#page_top a {
    background-color: #3d62ac;
    color: #fff;
    text-align: center;
    text-decoration: none;
    
    font-size: 12px;
}
#page_top a:hover {
    //background-color: #666;
    //text-decoration: none;
}


.top_bottom_btn{
    display: flex;
    padding: 5%;justify-content: center;
}
.top_bottom_btn div {
    padding: 2%;
}
.top_bottom_btn div img{
    width: 100%;
}




/* ==========================================================================================================

	 2. Template Style
 
============================================================================================================*/

/*  slider
-----------------------------------*/
.swiper-container {
    width: 100%;
    height: 500px;
    overflow: hidden;
    padding-top: 110px;
}
.swiper-container .swiper-wrapper .swiper-slide {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}


/*  header
-----------------------------------*/



header nav {
    position: static;
    top: -3px;
    width: 100%;
    z-index: 100000;
    max-width: 1440px;
    overflow: hidden;border-bottom: 2px solid #fbdfab;
}

header #logo {
    float: left;
    width: 300px;
    padding: 25px 0px;
    position: relative;
    z-index: 1000;
}

header #logo img{
	width:100%;
}


header #global_navi ul.head_btn{
    float: right;
    width: auto;
    padding: 0;
}
header #global_navi ul.head_btn li{
  border-left: none;
  border-right: none;
}


header #global_navi {
float: right;

    /* margin-left: 2%; */
    position: static;
    /* top: 5px; */
    right: 0px;
    background: #ffffff;
    /* width: 100%; */
    height: auto;
    padding: 30px 0;
}
header #global_navi ul {
    height: auto;
    overflow: hidden;
    float: right;
    margin-right: 10px;
    padding: 0;
}
header #global_navi ul li {
    float: left;
    margin-top: 20px;
}


header #global_navi ul.head_btn li{
    margin-top: 40px;
}

header #global_navi ul.head_btn li a {
    padding: 0px;
}

header #global_navi ul.head_btn {
    margin-right: 50px;
}

header #global_navi ul li a {
    color: #422b14;
    padding: 0 20px;
    display: block;
    font-size: 16px;
    font-weight: bold;padding: 10px 20px;
}

header #global_navi ul li {
  //border-left: 1px solid #333;
  //border-right: 1px solid #333;
}
header #global_navi ul li+ li {
  border-left: 0;
  //border-right: 1px solid #333;
}

header #global_navi ul li a:hover{
    color: #f7e9c2;
}



header a:hover{
opacity: 1;
filter: alpha(opacity=100);
}

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}


.head_btn1 a{
    background: #f88632;
    margin-left: 30px;
    border-radius: 15px;
    color: #FFF !important;
    padding: 10px 30px;
}
.head_btn2 a{
    background: #39ad4a;
    margin-left: 30px;
    border-radius: 15px;
    color: #FFF !important;
    padding: 10px 30px;
}


.main_kv img{
  width: 100%;
}


/*  content_style
---------
--------------------------*/

.red{color: #c15862;}
.red1{color: #ff8191;}

.box_1.box3 {
    border: 2px solid;
    border-radius: 10px;
    border-color: #ff8191;
    padding: 40px 20px;
    background: #FFF;
}
.under_contents .box_1.box3 h4 {
    font-size: clamp(16px, 2.5vw, 20px);
    padding: 5px 0;
    margin: 30px 5% 30px 5%;
    text-align: center;
    background: #ff8191;
    color: #FFF;
    border-radius: 10px;
}
.under_contents .box_1.box3 h4.red {
    font-size: clamp(16px, 2.5vw, 20px);
    padding: 5px 0;
    margin: 30px 5% 30px 5%;
    text-align: center;
    background: #c15862;
    color: #FFF;
    border-radius: 10px;
}


.box_1.box2 {
    border: 2px solid;
    border-radius: 10px;
    border-color: #7ac461;
    padding: 40px 20px;
    background: #FFF;
}
.under_contents .box_1.box2 h4 {
    font-size: clamp(16px, 2.5vw, 20px);
    padding: 5px 0;
    margin: 30px 5% 30px 5%;
    text-align: center;
    background: #7ac461;
    color: #FFF;
    border-radius: 10px;
}


.box_1 {
    border: 2px solid;
    border-radius: 10px;
    border-color: #64c1f1;
    padding: 40px 20px;
    background: #FFF;
}

.under_contents .box_1 h3 {
    font-size: clamp(18px, 2.5vw, 30px);
    padding: 10px 0;
    margin: 10px 0;text-align: center;
}
.under_contents .box_1 h4 {
    font-size: clamp(16px, 2.5vw, 20px);
    padding: 5px 0;
    margin: 30px 5% 30px 5%;
    text-align: center;
    background: #64c1f1;
    color: #FFF;
    border-radius: 10px;
}

.box_1_list_box{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.box_1_list_box div{padding: 5px;width: 40%;}


.box_img_wrap {
    width: auto;
    margin-bottom: 30px;
    margin: 0 5%;
}
.box_img_wrap img{
    width: 100%;
}

.under_contents .box_1 h4.gray {
    background: #919191;
}

.under_contents p.price{
 font-size: 21px;
}


.mt20{margin-top:30px !important;}
.mt40{margin-top:50px !important;}

.gmap{margin-bottom:50px;}

table.campany {
    border-left: 1px solid #CCC;
    border-top: 1px solid #CCC;width: 100%;
}
table.campany th {
    padding: 20px;
    background: #f1f1f1;
    text-align: center;
    width: 30%;
    border-right: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
}
table.campany td{
    padding: 20px;
    background: #FFF;
    border-right: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
}


table.campany.rec th {
    padding: 20px;
    background: #fef6e8;
    text-align: center;
    width: 30%;
    border-right: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
}


.title_bg {
    background-image: url(../img/title_bg1.png);
    background-repeat: no-repeat;
    background-size: contain;
}


.title_bg2 {
    background-image: url(../img/rec_bg1.png);
    background-repeat: no-repeat;
    background-size: contain;
}


.title_bg3 {
    background-image: url(../img/servise_bg1.png);
    background-repeat: no-repeat;
    background-size: contain;background-color: #fcfae7;    padding-top: 28%;
    padding-bottom: 10%;
}


.title_bg4 {
    background-image: url(../img/servise_bg2.png);
    background-repeat: no-repeat;
    background-size: contain;background-color: #fcfae7;    padding-top: 28%;
    padding-bottom: 10%;
}


.title_bg5 {
    background-image: url(../img/servise_bg3.png);
    background-repeat: no-repeat;
    background-size: contain;background-color: #fcfae7;    padding-top: 28%;
    padding-bottom: 10%;
}



.form_qr{width:100%;margin-bottom:30px;}
.form_qr img{width:100%;}

.top_cont1{
    background: #fff9d9;
    position: relative;
}
.top_cont1_img{
    position: absolute;
    left: 8%;
    top: -70px;    width: 23%;
}
.top_cont1_img img{
width: 100%;
}

.top_cont2_img{
    padding: 0 5% 40px 5%;
}
.top_cont2_img img{
width: 100%;
}

.top_cont1 h2 {
    padding: 7% 5%;
    padding-left: 32%;
    text-align: center;
    font-size: clamp(25px, 2.5vw, 32px);
}


.top_txt {
    text-align: center;
    padding: 100px 0 60px 0;
    background-image: url(../img/top_bg1.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    background-position: right;
}


.top_txt h2{
    font-size: clamp(25px, 2.5vw, 40px);
}
.top_txt p{
    font-size: clamp(15px, 2vw, 24px);
    padding: 20px 0;
}

.top_circle_img_box{
    display: flex;
    text-align: center;    margin-bottom: 50px;
    justify-content: center;
}


.top_circle_img_box div{
    margin: 0px 20px;
    font-size: 16px;
}


.top_circle_img_box .serv_box {
    background: #FFF;

    padding: 20px;
    border-radius: 20px;
    border: 1px solid;margin:0;

}

.pink h3{
color:#ff8191;
}
.top_circle_img_box .serv_box.pink a{
background:#ff8191;
}
.top_circle_img_box .serv_box.pink{
    border-color:#ff8191;
}

.green h3{
color:#7ac461;
}
.top_circle_img_box .serv_box.green a{
background:#7ac461;
}
.top_circle_img_box .serv_box.green{
    border-color:#7ac461;
}


.blue h3{
color:#64c1f1;
}
.top_circle_img_box .serv_box.blue a{
background:#64c1f1;
}
.top_circle_img_box .serv_box.blue{
    border-color:#64c1f1;
}




.top_circle_img_box .serv_box h3{
    font-size: clamp(15px, 2vw, 24px);
    padding: 20px 0;
}
.top_circle_img_box .serv_box p{
    font-size: clamp(12px, 2vw, 16px);
    padding: 20px 0;
}

.top_circle_img_box .serv_box a{
    background: #f88632;
    margin-left: 0;
    border-radius: 15px;
    color: #FFF !important;
    padding: 20px;
    margin: 10px;
    display: block;
}


.footer_box_top{
background-image: url(../img/foot_bg.png);
    /* min-height: 315px; */
    margin-top: -60px;
    z-index: 1000;
    position: relative;
    background-size: cover;
    width: 100%;
    padding: 8% 0px 0 0;
    text-align: center;
}


.dli-chevron-up {
  display: inline-block;
  vertical-align: middle;
  color: #FFF;
  line-height: 1;
  width: 1em;
  height: 1em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(25%) rotate(-45deg);
}

.footer_box_top p{
    font-size: 26px;
    color: #FFF;
}

.foot_top_btn_box{
    display: flex;
    justify-content: center;
}

.foot_top_btn_box div {
    padding: 20px 3% 28px;
    width: 25%;
}
.foot_top_btn_box div img{
    width: 100%;
}



/****/
.catchphrase_area{
    background-image: url(../img/bg_01.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 45%;
    position: relative;
    width: 100%;
}
.catchphrase_area p{
    position: absolute;
    top: 50%;
    left: 56%;
    font-size: 1.3vw;
}



.service_area{
    background-image: url(../img/top_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 120%;
    position: relative;
    width: 100%;
}

.service_area .service_box1 {
    position: absolute;
    top: 28%;
    right: 11%;
    width: 100%;
    text-align: center;
    width: 28%;
    color: #FFF;
}

.service_area .service_box2 {
    position: absolute;
    top: 49%;
    left: 72.5%;
    width: 100%;
}

.service_area .service_box3 {
    position: absolute;
    top: 74%;
    left: 12%;
    width: 25%;
    text-align: center;
    color: #FFF;
}

.service_area .sevice_btn {
    width: 80%;
    margin: 0 auto;
}

.service_area .service_box3 .sevice_btn {
    width: 80%;
    margin: 0 auto;
    margin-top: 30px;
}

.service_area .sevice_btn img{
width: 100%;
}

.service_area h2 {
    font-size: 1.8vw;
    font-weight: bold;
    text-align:center !important;
}
.service_area p{
    padding-bottom: 20px;
    padding-top: 20px;
    font-size: 1.2vw;
}



.company_area {
    background-image: url(../img/bg_company.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 32%;
    position: relative;
    width: auto;
}

.company_area  .service_box1{
    position: absolute;
    top: 30%;
    left: 62%;
}
.company_area  .service_box1 span{
    /* border-bottom: 1px solid #CCC; */
    font-size: 2vw;
    color: #a7b6be;
    font-weight: bold;
    text-align: center;
    display: block;
}
.company_area .service_box1 h2 {
    font-size: 1.8vw;
    font-weight: bold;
    text-align: center !important;
}
.company_area .service_box1 .sevice_btn {
    width: 60%;
    text-align: center;
    margin: 40px auto 0;
}
.company_area .service_box1 .sevice_btn img{
width: 100%;
}


/*  news
-----------------------------------*/

.news_area {
    padding: 90px 0;    width: 85%;
}
.news_area h2 {
    border-bottom: 1px solid #CCC;
    font-size: 2vw;
    color: #a7b6be;
    font-weight: bold;
}
.news_box {
    font-size: 1.3vw;
    height: 400px;
    overflow: scroll;
}

.news_box ul li {
    /* line-height: 50px; */
    border-bottom: 1px solid #CCC;
    padding: 25px 0px;
}
.news_box span.news_date {
    color: #505050;
}

.news_box a:hover{
  text-decoration: underline;
}

.news_box .news_txt{
    display: block;
}
.news_box .news_txt a{
    color: #505050;
}




/*  menu
-----------------------------------*/
#menu {
  width: 100%;
  max-width: 350px;
  height: 100%;
  background-color: #313131;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  transform: translate(350px);
  transition: all .5s;overflow: auto;
}
#menu.open {
  transform: translate(0);
}
#menu ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
#menu li {
  padding: 8px;
  color: #fff;
  border-bottom: 1px solid #fff;
}
.menu_btn {
cursor: pointer;
}
/* --- .menu-background --- */
.menu-background {
  position: fixed;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 2;
  opacity: 0;
  transition: opacity 0.5s;
}
.menu-background.open {
  width: 100%;
  height: 100%;
  opacity: 1;
}


.menu_close {
    background: #000;
    display: block;
    padding: 5px;
    color: #FFF;
    width: 80px;
    text-align: center;
    /* float: right; */
    clear: both;
    cursor: pointer;
    margin: 20px auto 5px;
    border-radius: 10px;        /* CSS3草案 */  
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 10px;   /* Firefox用 */  
}


/*　ハンバーガーボタン　*/
.hamburger {
    display: block;
    position: fixed;
    z-index: 3;
right: 20px;
    top: 30px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
    background: #ea943f;
    border-radius: 30px;
    border-radius: 8px;
}

.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background: #505050;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 20px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 20px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    right: 0;
    color: #000;
    /* background: #fff; */
    text-align: center;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 150px;
}

nav.globalMenuSp ul {
    background: #ddc3ab;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px solid #fff;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #000;
  padding: 1em 0;
  text-decoration :none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0%);        top: 80px;
    right: 20px;
}


.head_contact_top{
display:block;
}
.head_contact_under{
display:none;
}

.under .head_contact_top{
display:none;
}
.under .head_contact_under{
display:block;
}

/* ==========================================================================================================

	 下層ページスタイル
 
============================================================================================================*/


.reserve_box_area{
    display: flex;
    justify-content: center;
    width: 100%;margin-bottom: 96px;
}

.reserve_box_area a{
    color: #372000;
}


.reserve_box_area .txt2{
    font-size: 35px;
    margin-bottom: 20px;
}

.reserve_box{
    background: #FFF;
    align-items: center;
    display: flex;
    text-align: center;
    margin-right: 45px;
    /* padding: 10% 30px; */
    border: 5px solid #CCC;
    font-size: 20px;
    width: 370px;
    height: 330px;
    justify-content: center;
}
.reserve_box2{
    background: #FFF;
    align-items: center;
    display: flex;
    text-align: center;
    margin-right: 45px;
    /* padding: 10% 30px; */
    border: 5px solid #CCC;
    font-size: 20px;
    width: 370px;
    height: 330px;
    justify-content: center;
}

.sitemap{
    margin: 0 auto;
    width: 500px;
    /* font-size: 20px; */
}



.under_contents .sitemap ul {
    font-size: 20px;
    margin-bottom: 40px;
}

.under_contents .sitemap div {
    font-size: 20px;
    margin-bottom: 40px;
    padding-left: 20px;
}

.mb20{margin-bottom:40px;}

.page_title {
    text-align: center;
    padding: 60px 0 40px 0;
    color: #3d62ac;
    font-weight: bold;font-size: clamp(25px, 2.5vw, 40px);
}

.page_title span {
    text-align: center;
    padding: 0;
    color: #4d4d4d;
    font-weight: normal;
    font-size: clamp(12px, 2.5vw, 18px);
    display: block;
}

.page_title img{
width:100%;
}

.under_contents {
    padding: 0px 12%;
}

.under_contents h3 {
    font-size: 24px;
    padding: 10px 0;
    margin-top: 30px;
}

.under_contents h3 span{
    color: #e47740;
}


.under_contents p{
    font-size: 14px;
    margin-bottom: 20px;
}

.under_contents ul{
    font-size: 14px;
    margin-bottom: 20px;
}





.sitemap ul li ul {
  margin-top: .5em;
  margin-bottom: .75em;
  margin-left: 48px;
}
 
.sitemap ul li ul li {
    margin-bottom: 10px;
    position: relative;
    font-size: 16px;
}
 
.sitemap ul li ul li::before {
  content: "";
  position: absolute;
  top: -0.5em;
  left: -16px;
  width: 10px;
  height: calc(100% + .75em);
  border-left: 1px solid #603813;
}
 
.sitemap ul li ul li:last-child::before {
  height: calc(1em + .25em);
}
 
.sitemap ul li ul li::after {
  content: "";
  position: absolute;
  top: .75em;
  left: -16px;
  width: 10px;
  border-bottom: 1px solid #603813;
}





/******/

.under footer {
    border-top: 1px solid #505050;
}

.under header #global_navi ul li a {
    color: #505050;
    padding: 0 15px;
    display: block;
    font-size: 14px;
    font-weight: bold;
}

.under .bg-aspect-in{
display:none;
}

.under #content{
    margin-top: 70px;
}

.under .first_navi {
    background-image: url(../img/head_bg_01.png);
    background-repeat: no-repeat;
    padding: 15px 0;
    background-size: cover;
    padding-top: 0;
    position: relative;
    height: 100px;
}

.under h2 img{
 width:100%;
}

.under .content_box{
    font-size: 14px;    padding: 20px 0;
}

.under .date {
    display: block;
    padding-top: 15px;padding-bottom: 10px;
}

.under .images{
    text-align: center;
    padding: 20px;
}

.under .txt{
    padding: 20px 0 50px 0;
}

.under .txt p{
    font-size: 16px;
    line-height: 25px;
    margin-bottom:20px;
}



.under .btn_style01 {
    background: #85cfe9;
    color: #fff;
    padding: 12px 40px;
    text-decoration: none;
    border-radius: 30px;
    transition-property: opacity;
    -webkit-transition-property: opacity;
    transition-duration: .5s;
    -webkit-transition-duration: .5s;
    display: block;
    width: 50%;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 20px;
}
.under .btn_style01:hover {
  opacity: 0.7;
}


.under h2 span.fnt_style1{
    font-size: 1.4vw;
    text-align: center;display: block;
}


/**************/
/*サービス*/
/***********************************/

.title_txt01 {
    font-size: 1.8vw;
    /* font-weight: bold; */
    text-align: center;
    margin: 100px 0;
}
.title_txt02 {
    font-size: 1.4vw;
    /* font-weight: bold; */
    text-align: center;
    margin: 60px 0;
}

.service_photo_box{
    margin: 0 10%;
    overflow: hidden;margin-bottom: 100px;overflow:hidden;
}

.service_left{
    width: 50%;
    float: left;
}
.service_right{
    width: 50%;
    float: left;
}
.service_left img,.service_right img{
    width: 100%;
}
.service_right h3{
    padding-left: 3% !important;
}
.service_right p{
    padding-left: 3%;
}


.service_photo_box ul li{
    margin: 0 1%;
    float: left;
    width: 31%;
}
.service_photo_box ul li img{
    width: 100%;
}

.service_photo_box h3{
    font-size: 1.4vw;    padding: 15px 0;
}

.service_photo_box p{
    font-size: 1.2vw;
}


/**************/
/*プライバシー*/
/***********************************/

.pry_box{
    margin: 0 10%;
    overflow: hidden;margin-bottom: 100px;border-top: 1px solid #CCC;
}
.pry_box h3{
    font-size: 1.6vw;    padding: 15px 0;color:#a7b6be;
}
.pry_box p{
    font-size: 1.2vw;    padding: 0 0 15px 0;
}

.pry_box ul li{
    border-bottom: 1px solid #CCC;
}

/**************/
/*ニュース*/
/***********************************/

.news_box_area {
    margin: 80px 10%;
    overflow: hidden;
    margin-bottom: 20px;
    border-top: 1px solid #CCC;
}

.news_box_area p{
    font-size: 1.3vw;    padding: 0 0 15px 0;
}

.news_box_area ul li{
    border-bottom: 1px solid #CCC;
}

.news_box_area ul li a{
   color: #505050;
    display: block;
    padding: 10px 10px;
}

.news_box_area ul li a:hover {
    background: #f8f8f8;
}


.news_pager {
    margin: 40px 10% 100px 10%;
    overflow: hidden;
}

.news_pager ul li {
    float: left;
    margin: 0 5px;
}

.news_pager ul li.prev a{
    display: block;
    border: 1px solid #CCC;
    padding: 5px 15px;
}
.news_pager ul li.next a{
    display: block;
    border: 1px solid #CCC;
    padding: 5px 15px;
}

.news_pager ul li a{
    display: block;
    border: 1px solid #CCC;
    padding: 5px 5px;color: #505050;
}
.news_pager ul li.current a {
    display: block;
    border: 1px solid #CCC;
    padding: 5px 5px;
    background: #caae67;
    color: #FFF;
}
.news_pager ul li a:hover {
    background: #caae67;
    color: #FFF;
}





.news_under {
    margin: 80px 10%;
    overflow: hidden;
    margin-bottom: 80px;
}

.news_under span {
    font-size: 1.2vw;
    padding: 0 0 15px 0;
    display: block;
}

.news_under h3 {
    font-size: 1.8vw;
    padding: 0 0 15px 0;    border-bottom: 1px solid #CCC;margin-bottom: 25px;

}

.news_under p {
    font-size: 1.4vw;
    padding: 0 0 25px 0;

}

.news_under .img_box img{
width:100%;
}




/**************/
/*会社概要*/
/***********************************/

.company_box{
    margin: 30px 10%;
    overflow: hidden;margin-bottom: 100px;border-top: 1px solid #CCC;
}
.company_box h3{
    font-size: 1.6vw;    padding: 15px 0;color:#a7b6be;
}
.company_box p{
    font-size: 1.2vw;    padding: 0 0 15px 0;
}

.company_box ul li{
    border-bottom: 1px solid #CCC;overflow: hidden;font-size: 1.4vw;
}
.company_box ul li .left {
    float: left;
    margin: 20px 0;
    /* padding-right: 50px; */
    width: 17%;
    color: #a7b6be;
}
.company_box ul li .right {
    float: left;
    margin: 20px 0;
    border-left: 1px solid #c5d5df;
    padding-left: 20px;
}
.under h2 span.fnt_style2{
    margin-top:10px;
}


.rinen_area{
    background: #f8f8f8;    padding-bottom: 100px;
}

.rinen_title img{
width:100%;
}

.rinen_title p {
    font-size: 1.2vw;
    padding: 30px 0 15px 0;
    margin: 0 30%;
}





/**************/
/*フォーム*/
/***********************************/

.contact_box{
    margin: 30px 0%;
    overflow: hidden;margin-bottom: 30px;border-top: 1px solid #CCC;
}


.contact_box ul li{
    border-bottom: 1px solid #CCC;overflow: hidden;font-size: 1.4vw;
}
.contact_box ul li .left {
    float: left;border-left: 1px solid #CCC;
    margin: 0;
    /* padding-right: 50px; */
    width: 25%;
    color: #4d4d4d;
    background: #f2f2f2;
    padding: 30px 0px 30px 15px;
}

.contact_box ul li .left.last {
    padding: 70px 0px 65px 15px;
}

.contact_box ul li .right {
    float: left;border-right: 1px solid #CCC;
    padding: 30px 0px 18px 15px;
    padding-left: 10px;
width: 70%;
}
.contact_box ul li .left span{
    font-size: 12px;
    /* text-align: right; */
    float: right;
    background: #F00;
    padding: 3px 8px;
    margin-right: 10px;
    color: #FFF;
}

.contact_box input{
    width: 50%;
    padding: 5px;
    border-color: #CCC 1px;
    border: 1px solid #CCC;
}
.contact_box ul li .right span{
    margin-left: 10px;
    font-size: 1.2vw;
}

.contact_box ul li .right.address_box {
float: left;
    margin: 0px 0;
    border-left: none;
    padding-left: 0px;
    width: 75%;
}

.contact_box ul li .right.address_box .address_list{
    border-left: 1px solid #c5d5df;
    margin: 20px 0;
    width: 90%;
    padding-left: 20px;
}
.bar{
    border-top: 1px solid #CCC;
}
.contact_box .yuubin input{
    width: 30%;
    padding: 5px;
}
.contact_box .pref select{
    width: 30%;
    padding: 5px;
}
.contact_box .address input{
    width: 100%;
    padding: 5px;
}
.contact_box textarea{
    width: 96%;
    padding: 5px;    height: 100px;border: 1px solid #CCC;
}
.submit_btn input{
    border: 0px;
    width: 204px;
    height: 55px;
    /* background: url(../img/submit.png) left top no-repeat; */
    background-size: contain;
    background: #666666;
    color: #FFF;
    margin-bottom: 30px;
}
 
.submit_btn input:hover{
    cursor: pointer;
    opacity:0.5;
}
.submit_btn{
    text-align: center;margin-bottom: 80px;
}

/***************************************/
/* レスポンシブ設定********/
/**************************************/

@media screen and (min-width: 1440px) {



.service_photo_box h3,.catchphrase_area p {
    font-size: 20px;
}

.under h2 span.fnt_style1,.title_txt01,.company_area .service_box1 h2,.service_area h2 {
    font-size: 24px;
}

.news_box_area p,.contact_box ul li,.contact_box ul li .right span,.rinen_title p,.company_box ul li,.service_photo_box p,.title_txt02,.news_box,.service_area p {
    font-size: 16px;
}

}



iframe {
  width: 100%;
  aspect-ratio: 16/5; //アスペクト比（縦横比）を指定
}


.sp_menu{
display:none;
}

#global_navi{
display:block;
}


@media screen and (max-width: 1440px) {

.footer_txt {
    float: left;
    width: 40%;
    display: flex;
}
.footer_link {
    float: left;
    width: 60%;
    overflow: hidden;
}

}

@media screen and (max-width: 1280px) {

.reserve_box {
    width: 400px;
}
.reserve_box2 {
    width: 400px;
}


header #global_navi ul.head_btn {
    margin-right: 30px;
}


.footer_txt {
    float: none;
    width: 100%;
    display: flex;
    margin: 0 auto;
    justify-content: center;
}
.footer_link {
    float: none;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 50px;
}
.copy ul li {
    float: left;
    padding: 0 10px;
}
.foot_top_btn_box div {
    padding: 20px 3% 20px;
    width: 20%;
}

.swiper-container {
  width: 100%;
  height: 48vh;
  overflow: hidden;
}
}

@media screen and (max-width: 1160px) {

header #global_navi ul.head_btn li a img{
    width: 80px;
}
header #global_navi ul.head_btn li {
    margin-top: 50px;
}
.swiper-container {
    width: 100%;
    height: 42vh;
    overflow: hidden;
}
}

@media screen and (max-width: 1040px) {
header #global_navi ul li a {
    color: #422b14;
    padding: 0 20px;
    display: block;
    font-size: 16px;
    font-weight: bold;
    padding: 10px 10px;
}
.swiper-container {
    width: 100%;
    height: 38vh;
    overflow: hidden;
}
}
@media screen and (max-width: 920px) {

.reserve_box {
    background: #FFF;
    align-items: center;
    display: flex;
    text-align: center;
    margin-right: 45px;
    /* padding: 10% 30px; */
    border: 5px solid #CCC;
    font-size: 16px;
    width: 300px;
    height: 300px;
    justify-content: center;
    margin: 0 auto;margin-bottom: 20px;
}

.reserve_box2 {
    background: #FFF;
    align-items: center;
    display: flex;
    text-align: center;
    margin-right: 45px;
    /* padding: 10% 30px; */
    border: 5px solid #CCC;
    font-size: 16px;
    width: 300px;
    height: 300px;
    justify-content: center;
    margin: 0 auto;margin-bottom: 20px;
}

.reserve_box_area {
    display: block;
    justify-content: center;
    width: 100%;
    margin-bottom: 96px;
    text-align: center;
    margin: 0 auto;
}

.sitemap {
    margin: 0 auto;
    width: 400px;
}

.footer_box_top p {
    font-size: 20px;
    color: #FFF;
}
.swiper-container {
    padding-top: 0;
}
header #logo img {
    width: 70%;
}
.footer_logo {
    text-align: center;
    width: 100%;
    margin: 5px auto;
    border-bottom: 1px solid #382100;
}
.foot_top_btn_box div {
    padding: 0px 3% 20px;
    width: 23%;
}


.footer_txt {
    float: none;
    width: auto;
    text-align: left;
    display: block;
    margin: 0 auto;
}
.footer_txt div {
    width: 100%;
    padding: 0 0px;
    text-align: center;
}


.footer_link {
    float: none;
    width: 100%;
    text-align: center;
    margin: 0 auto;
    display: block;
    padding-top: 30px;
}
.foot_map_btn {
    display: block;
    background: #372000;
    color: #FFF;
    padding: 10px;
    margin-top: 10px;
    border-radius: 15px;
    text-align: center;
    width: 180px;
    margin: 10px auto;
}

.footer_link ul {
    float: none;
}

.footer_link ul.head_btn {
    float: none;
    margin-top: 20px;
    margin: 10px auto;
    width: 250px;
}

.copy ul li {
    float: left;
    padding: 0 10px;
    font-size: 11px;
}

.footer_link {
    float: none;
    width: 420px;
    text-align: left;
    margin: 0 auto;
    display: block;
    padding-top: 30px;
}
.swiper-container {
    width: 100%;
    height: 32vh;
    overflow: hidden;
}
.company_area .service_box1 {
    position: absolute;
    top: 30%;
    left: 54%;
}
.company_area .service_box1 .sevice_btn {
    width: 45%;
    text-align: center;
    margin: 30px auto 0;
}

}
@media screen and (max-width: 820px) {
.swiper-container {
    width: 100%;
    height: 28vh;
    overflow: hidden;
}

.top_circle_img_box div img {
    width: 100%;
}
.top_txt p {
    font-size: 16px;
    padding: 30px 40px;
    text-align: left;
}
.service_area .service_box1 {
    position: absolute;
    top: 26%;
    right: 10%;
    width: 100%;
    text-align: center;
    width: 30%;
    color: #FFF;
}
.footer_box .copy ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.copy ul li {
    float: left;
    padding: 0 0 10px 10px;
    font-size: 11px;
    /* display: inline-block; */
}
}
@media screen and (max-width: 700px) {
.swiper-container {
  width: 100%;
  height: 25vh;
  overflow: hidden;
}
.top_txt h2 {
    font-size: 22px;
}
.top_txt {
    text-align: center;
    padding: 30px 0 30px 0;
}
.top_txt p {
    font-size: 14px;
    padding: 20px 40px;
    text-align: left;
}

}
@media screen and (max-width: 600px) {

.top_bottom_btn {
    display: flex;
    padding: 5%;
    justify-content: center;
    flex-wrap: wrap;
}

.top_circle_img_box .serv_box h3 {
    font-size: clamp(15px, 2vw, 24px);
    padding: 0;
}
.top_circle_img_box .serv_box p {
    font-size: clamp(12px, 2vw, 16px);
    padding: 10px 0;
}

.top_circle_img_box .serv_box {
    background: #FFF;
    padding: 20px;
    border-radius: 20px;
    border: 1px solid;
    margin: 0;
    margin-bottom: 20px;
}

.under_contents .sitemap ul {
    font-size: 16px;
    margin-bottom: 40px;
}

.sitemap ul li ul li {
    margin-bottom: 10px;
    position: relative;
    font-size: 14px;
}

.under_contents h3 {
    font-size: 18px;
    padding: 10px 0;
}
.under_contents .sitemap div {
    font-size: 16px;
    margin-bottom: 40px;
    padding-left: 20px;
}

.top_circle_img_box {
    display: block;
    text-align: center;
    margin-bottom: 50px;
    justify-content: center;
}

footer .policy {
    padding: 20px 0;    text-align: center;
    display: block;
    float: none;
    font-size: 11px;
}
.footer_box_top p {
    font-size: 12px;
    color: #FFF;
}
footer .copy {
    padding: 20px 0;    text-align: center;
    display: block;
    float: none;
    font-size: 11px;
}

.footer_logo {
    text-align: center;
    width: auto;
    margin: 15px auto;
}

ul.link li.long {
    float: left;
    width: 50%;
}
ul.link li {
    float: left;
    width: 33%;
    font-weight: bold;
    height: 100px;
}
header #logo img {
}
.swiper-container {
    width: 100%;
    height: 21vh;
    overflow: hidden;
}
.company_area .service_box1 {
    position: absolute;
    top: 25%;
    left: 50%;
}
.copy_right {
    background: #603813;
    text-align: center;
    padding: 15px;
    color: #FFF;
    font-size: 11px;
}
.top_circle_img_box div {
    margin: 0px 20px;
    font-size: 14px;
    width: auto;
}

.service_area p {
    padding-bottom: 10px;
    padding-top: 5px;
    font-size: 1.2vw;
}
}
@media screen and (max-width: 480px) {

.gmap{margin-bottom:10px;}


.service_area .sevice_btn {
    width: 90%;
}
.service_area .service_box1 {
    position: absolute;
    top: 23%;
    right: 3%;
    width: 100%;
    text-align: center;
    width: 35%;
    color: #FFF;
}



.top_txt p {
    font-size: 12px;
    padding: 20px 20px;
    text-align: left;
}
.top_txt {
    text-align: center;
    padding: 20px 0 0px 0;
}
.top_txt h2 {
    font-size: 18px;
}

header #logo {
}
.swiper-container {
    width: 100%;
    height: 16vh;
    overflow: hidden;
}
.company_area .service_box1 .sevice_btn {
    width: 45%;
    text-align: center;
    margin: 5px auto 0;
}
.catchphrase_area {
    background-image: url(../img/bg_01.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 45%;
    position: relative;
    width: 100%;
    margin-left: -30px;margin-bottom: 25px;
}

.service_area .service_box2 {
    position: absolute;
    top: 49%;
    left: 64.5%;
    width: 100%;
}
.service_area .service_box2 h2{
    padding-left: 17%;
}
.foot_top_btn_box div {
    padding: 5px 3% 10px;
    width: 40%;
}
.service_area .service_box2 .sevice_btn {
    width: 18%;    padding-left: 10%;
}
.footer_box_top {
    background-image: url(../img/foot_bg.png);
    /* min-height: 315px; */
    margin-top: -20px;
    z-index: 1000;
    position: relative;
    background-size: contain;
    width: 100%;
    padding: 8% 0px 0 0;
    text-align: center;
    background-repeat: no-repeat;
    background-color: #3c2500;
}
.foot_link_hd {
    width: 108px;
    display: block;
    float: left;
}
#page_top a {
    background-color: #3d62ac;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 10px;
}
#page_top {
    position: fixed;
    bottom: 30px;
    right: 20px;
    /* padding: 20px; */
    /* background: #CCC; */
    background-color: #3d62ac;
    padding: 11px 6px;
    text-align: center;
    border-radius: 100px;
    z-index: 100000;
}
.footer_link {
    float: none;
    width: auto;
    text-align: left;
    margin: 0 auto;
    display: block;
    padding-top: 30px;
    font-size: 12px;
}

.footer_logo {
    text-align: center;
    width: auto;
    margin: 0px auto;
}
.footer_logo img {
    width: 60%;
    padding-bottom: 0px;
}

.service_left {
    width: 80%;
    float: none;
    margin: 0 auto;
    text-align: center;
}
.service_right {
    width: 80%;
    float: none;
    margin: 0 auto;
}
.service_area .service_box3 {
    position: absolute;
    top: 71%;
    left: 7%;
    width: 40%;
    text-align: center;
    color: #FFF;
}
.service_area {
    background-image: url(../img/top_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 128%;
    position: relative;
    width: 100%;
}
}



@media screen and (max-width: 400px) {
.service_area .service_box2 {
    position: absolute;
    top: 49%;
    left: 64.5%;
    width: 100%;
}
.service_area .service_box2 h2{
    padding-left: 17%;
}
.service_area .service_box2 .sevice_btn {
    width: 18%;    padding-left: 10%;
}
.service_area p {
    padding-bottom: 0px;
    padding-top: 5px;
    font-size: 1.2vw;
}
.service_area .sevice_btn {
    width: 90%;
}
.service_area .service_box2 {
    position: absolute;
    top: 48%;
    left: 61.5%;
    width: 100%;
}
.service_area .service_box2 .sevice_btn {
    width: 25%;
    padding-left: 10%;
}


}




@media screen and (max-width: 1040px) {

.under .content_box {
    font-size: 14px;
    padding: 20px;
}
}

/*PC 狭　980～600*/

@media screen and (max-width: 980px) {

.under .content_box {
    font-size: 14px;
    padding: 20px;
}


.page_width {
    width: 90%;
    margin: 0 auto;
}


}





@media screen and (max-width: 900px) {

.footer_txt_box {
    overflow: hidden;
    padding: 20px 0 0 0;
    display: flex;
    justify-content: center;
    width: 100%;
    flex-wrap: wrap;
}

.footer_new1{
    padding: 10px;
}
.footer_new2{
    padding: 10px;
}
.footer_new3{
    padding: 10px;
}

.top_cont1_img {
    position: absolute;
    left: 8%;
    top: -70px;
    width: 23%;
    display: none;
}
.top_cont1 h2 {
    padding: 40px 0;
    padding-left: 0;
    text-align: center;
    font-size: clamp(15px, 2.5vw, 28px);
}


.page_title {
}
.under_contents {
    padding: 10px 5% 70px;
}

#global_navi{
display:none;
}

.sp_menu{
display:block;
z-index: 10000000000;
position: relative;
}

header #logo {
}



.category_name {
    padding: 5px 0px;
    text-align: center;
    font-size: 1.5vw;
    font-weight: bold;
    width: 100%;
}
.cate_navi_box {
    position: relative;
    width: 90%;
    margin: 0 auto;
    border: 2px solid #FFF;
    display: block;
    justify-content: center;
    align-items: center;
}
.category_list {
    padding: 10px 0px;
    font-size: 1.5vw;
    width: 100%;
    line-height: 2.8vw;
    text-align: center;
}
.first_navi_box {
    background-image: url(../img/op_bg.png);
    position: relative;
    width: 90%;
    margin: 0 auto;
}
.first_navi_txt {
    padding: 24px 0 3px;
    font-size: 1.6vw;
    text-align: center;
}
.cate_all_btn {
    width: 30%;
    margin: 0 auto;
    background: #FFF;
    padding: 10px !important;
    margin-bottom: 10px;
    font-size: 1.7vw;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border: 2px solid #000;
}
h2 img {
    /* vertical-align: bottom; */
    /* padding-right: 10px; */
    width: 25%;
}





}





@media screen and (max-width: 750px) {


.under .images img{
	max-width: 300px;
}



h2 img {
    /* vertical-align: sub; */
    /* padding-right: 10px; */
    width: 20%;
}

h3 {
    /* padding: 5px; */
    /* color: #FFF; */
    /* text-align: center; */
    font-size: 18px;
}


.hamburger {
    display: block;
    position: fixed;
    z-index: 3;
  right : 13px;
  top: 9px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
}
nav.globalMenuSp.active {
    transform: translateY(0%);
    top: 45px;
}

}


/*Tab SP 720以下*/

@media screen and (max-width: 720px) {

.news_area {
    padding: 40px 0;
}


footer .footer_txt span {
    padding: 0 0px;
    display: block;
}


}



@media screen and (max-width: 640px) {

.page_title {
    text-align: center;
    padding: 30px 0 10px 0;
    color: #3d62ac;
    font-weight: bold;
    font-size: clamp(18px, 2.5vw, 40px);
}

.contact_box ul li {
    border-bottom: 1px solid #CCC;
    overflow: hidden;
    font-size: 2vw;
}
.contact_box ul li .left {
    float: none;
    margin: 0px 0;
    /* padding-right: 50px; */
    width: auto;
    border: none;
    padding: 15px;
}
.contact_box ul li .right {
    float: none;
    margin: 0px 0;
    border-left: none;
    padding-left: 0;
    width: auto;
    border: none;
    padding: 15px;
}

.contact_box ul li .left.last {
    padding: 15px;
}

.contact_box ul li .right.address_box {
    float: none;
    margin: 0px 0;
    border-left: none;
    padding-left: 0px;
    width: 100%;
}
.contact_box ul li .right.address_box .address_list {
    border-left: none;
    margin: 20px 0;
    width: 100%;
    padding-left: 0;
}
.contact_box .address input {
    width: 96%;
    padding: 5px;
}


.title_txt01 {
    font-size: 2.5vw;
    /* font-weight: bold; */
    text-align: center;
    margin: 50px 0;
}
.under h2 span.fnt_style1 {
    font-size: 2.5vw;
    text-align: center;
    display: block;
}
.title_txt02 {
    font-size: 2vw;
    /* font-weight: bold; */
    text-align: center;
    margin: 20px 0;
}
.service_photo_box {
    margin: 0 10px 0 20px;
    overflow: hidden;
    margin-bottom: 50px;
}

.news_under h3 {
    font-size: 2vw;
    padding: 0 0 15px 0;
    border-bottom: 1px solid #CCC;
    margin-bottom: 25px;
}

.news_under {
    margin: 20px;
    overflow: hidden;
    margin-bottom: 50px;
}


.under .first_navi {
    background-image: url(../img/head_bg_01.png);
    background-repeat: no-repeat;
    padding: 15px 0;
    background-size: cover;
    padding-top: 0;
    position: relative;
    height: 60px;
}



.under .txt p {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 15px;
}




.sp_none{
    display: none;
}


h2 img {
    width: 30%;
}



.bg-content {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    text-align: center;
    font-size: 16px;
    color: #505050;
}




}





