@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&display=swap');
@charset "utf-8";
:root {
  --color-n: #222;
  --color-o: #ea5514;
  --color-w: #ffffff;
  --color-g: #9fa0a0;
  --color-gd: #dddddd;
--color-ge: #e8e8e8;	
  --color-gl: #f7f8f9;
	--color-b:#7a6a56;
}
/*-------------------------------------------
リセット
-------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: none;
  font-style: normal;
  text-align: left;
  zoom: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
table {
  border-collapse: collapse;
  font-family: inherit;
}
h1, h2, h3, h4, h5 {
  font-size: 100%;
  font-weight: normal;
  line-height: 1.2;
}
input, textarea, select {
  font-family: inherit;
  font-size: 1rem;
}
textarea {
  resize: none;
  -webkit-appearance: none;
  border-radius: 0;
}
th, td {
  border-collapse: collapse;
}
ul, ol {
  list-style-type: none;
}
img {
  vertical-align: text-bottom;
  vertical-align: -webkit-baseline-middle;
  max-width: 100%;
  height: auto;
  width: auto;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
    img {
        image-rendering: -webkit-optimize-contrast;
    }
}
html {
  height: 100%;
}
/*------------------------------
フォント
------------------------------*/
@font-face {
  font-family: 'Noto Sans JP';
  src: url("../fonts/NotoSansJP-Light.woff") format("woff"), url("../fonts/NotoSansJP-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'Noto Sans JP';
  src: url("../fonts/NotoSansJP-Regular.woff") format("woff"), url("../fonts/NotoSansJP-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Noto Sans JP';
  src: url("../fonts/NotoSansJP-Medium.woff") format("woff"), url("../fonts/NotoSansJP-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Noto Sans JP';
  src: url("../fonts/NotoSansJP-SemiBold.woff") format("woff"), url("../fonts/NotoSansJP-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}

@media print, screen and (min-width: 800px) {
  html {
    font-size: 9px;
  }
}
@media screen and (min-width: 1050px) {
  html {
    font-size: clamp(9px, 0.9vw, 10px);
  }
}
@media screen and (min-width: 1680px) {
  html {
    font-size: 10px
  }
}
@media screen and (max-width: 799.99px) {
  html {
    font-size: clamp(8px, 2.4vw, 9px);
  }
}
body {
  color: var(--color-n);
  background-color: var(--color-w);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-optical-sizing: auto;
  word-wrap: break-word;
  height: 100%;
  line-height: 1.488;
  letter-spacing: 0.1rem;
  font-size: 1.6rem;
}
p {
  line-height: 1.6;
}
section, article {
  display: block;
}
a img {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
  -webkit-transition: 0.2s linear;
  -moz-transition: 0.2s linear;
  transition: 0.2s linear;
}
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha( opacity=80 )";
}
.fw400 {
  font-weight: 400 !important;
}
.fw500 {
  font-weight: 500 !important;
}
.fw700 {
  font-weight: 700 !important;
}
a {
  color: var(--color-o);
  -webkit-transition: 0.2s linear;
  -moz-transition: 0.2s linear;
  transition: 0.2s linear;
}
::selection {
  background-color: var(--color-o);
	color: var(--color-w);
}
a:hover {
  text-decoration: none;
}
.clfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}
/*-------------------------------------------
共通ツール
-------------------------------------------*/
p.small {
  font-size: 1.34em !important;
}
.line_s {
  line-height: 1.2;
}
.al_center {
  text-align: center !important;
}
.al_right {
  text-align: right !important;
}
.al_left {
  text-align: left !important;
}
.nowrap {
  white-space: nowrap;
}
.ttm05 {
  padding-top: 0.5rem;
}
.btm05 {
  margin-bottom: 0.5rem;
}
.btm10 {
  margin-bottom: 1rem;
}
.btm15 {
  margin-bottom: 1.5rem;
}
.btm20 {
  margin-bottom: 2rem;
}
.btm25 {
  margin-bottom: 2.5rem;
}
.btm30 {
  margin-bottom: 3rem;
}
.btm40 {
  margin-bottom: 3.8rem;
}
.btm50 {
  margin-bottom: 5rem;
}
.btm60 {
  margin-bottom: 6rem;
}
.btm70 {
  margin-bottom: 7rem;
}
.btm80 {
  margin-bottom: 8rem;
}
.btm90 {
  margin-bottom: 9rem;
}
.marker {
  background: linear-gradient(transparent 50%, var(--color-y) 50%);
  padding: 0 0.1em;
  display: inline !important;
}
.size13 {
  font-size: 1.3rem !important;
}
.size14 {
  font-size: 1.4rem !important;
}
.size15 {
  font-size: 1.5rem !important;
}
.size18 {
  font-size: 1.8rem !important;
}
.size20 {
  font-size: 2rem !important;
}
.size22 {
  font-size: 2.2rem !important;
}
.size24 {
  font-size: 2.4rem !important;
}
/*-------------------------------------------
ヘッダー
-------------------------------------------*/
header {
  width: 100%;
  background-color: var(--color-w);
}
header .head_wrap {
  position: relative;
}
header h1 {
  display: block;
  position: absolute;
}
header h1 a img {
  width: 71rem !important;
}
@media screen and (min-width:800px) {
  header {
    position: fixed;
    z-index: 2;
    height: 16rem;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
  }
  header h1 {
    top: 3rem;
    left: 2rem;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  header.fixed {
    height: 10rem;
  }
  header.fixed h1 {
    top: 0.7rem;
  }
  header.fixed h1 a img {
    width: 48rem !important;
  }
  header.fixed {
    border-bottom: var(--color-gd) solid 1px;
  }
}
@media screen and (max-width:799.99px) {
  header {
    height: 15vw;
  }
  header h1 {
    top: 3.7vw;
    left: 2.4vw
  }
  header h1 a img {
    width: 71vw !important;
  }
  header .h_menu {
    display: none;
  }
}
/*-------------------------------------------
メニュー
-------------------------------------------*/
#g_navi ul li a.ac_menu {
  cursor: pointer;
  overflow: hidden;
}
@media screen and (min-width:800px) {
  .menu_btn, .btn_close {
    display: none;
  }
  #g_navi {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    display: block;
    height: 6.5rem;
    position: absolute;
    z-index: 10;
    left: 0 !important;
    bottom: 0;
  }
  #g_navi ul.navi_base {
    max-width: 1520px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 4.8rem;
    display: block;
  }
  #g_navi ul li {
    display: inline;
  }
  #g_navi > ul > li > a {
    margin-right: 4.4rem;
    height: 6.5rem;
    display: block;
    font-size: 1.7rem;
    white-space: nowrap;
    text-decoration: none;
    /*text-align: center;*/
    position: relative;
    float: left;
    color: var(--color-n);
  }
  header.fixed #g_navi > ul > li > a {
    font-size: 1.6rem;
  }
  #g_navi > ul > li.last a {
    margin-right: 0;
  }
  #g_navi > ul > li > a > span {
    display: block;
    margin-top: 2.2rem;
    height: 2.4rem;
    line-height: 2.4rem;
    margin-bottom: 2.2rem;
    width: 100%;
    text-align: center !important;
  }
	#g_navi > ul > li > a span{position: relative;}
#g_navi > ul > li > a span::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 2px;
background: var(--color-o);
top:-3px;             
transform: scale(0, 1);  
transform-origin: left top; 
transition: transform 0.3s; 
}

#g_navi > ul > li > a:hover span::after {
transform: scale(1, 1); 
}	
	
  #g_navi ul li:hover > a.ac_menu, #g_navi ul li a.ac_menu:hover {
    position: relative;
  }
  #g_navi ul li a.ac_menu::after {
    content: "";
    position: absolute;
    bottom: -0.5rem;
    left: 50%;
    margin-left: -1.5rem;
    border-right: 1.5rem solid transparent;
    border-bottom: 2rem solid transparent;
    border-left: 1.5rem solid transparent;
    z-index:10;
    -webkit-transition: 0.2s linear;
    -moz-transition: 0.2s linear;
    transition: 0.2s linear;
  }
  #g_navi ul li:hover > a.ac_menu::after, #g_navi li a.ac_menu:hover::after {
    border-bottom: 2.1rem solid var(--color-o);
  }
  #g_navi ul li div {
    position: absolute;
    z-index: 10;
    top: 6rem;
    left: 0px;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
    width: 100%;
    height: auto;
    background-color: var(--color-o);
  }
  #g_navi ul li ul {
    width: 98%;
    max-width: 1200px;
    padding-left: 1%;
    padding-right: 1%;
    padding-top: 1.5rem;
    padding-bottom:1.5rem;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    justify-content: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
  }
  #g_navi li ul li {
    width: 23%;
    padding: 0.5rem 1%;
  }
  #g_navi li ul li a {
    display: block;
    line-height: 1.2;
    padding: 0.9rem 1rem;
    text-align: center;
    text-decoration: none;
    font-size: 1.5rem;
    color: var(--color-w);
    background-color: rgba(255, 255, 255, 0.1);
  }
  #g_navi li ul li a:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }
  #g_navi ul li:hover div {
    visibility: visible;
    opacity: 1;
  }
  #g_navi div.ac_list {
    display: block !important;
  }
  header.fixed #g_navi {
    height: 5rem;
  }
  header.fixed #g_navi ul li div {
    top: 5rem;
  }
  header.fixed #g_navi > ul > li > a > span {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  header.fixed #g_navi ul li a.ac_menu::after {
    bottom: 1.5rem;
    left: 50%;
    margin-left: -1.5rem;
    border-right: 1.5rem solid transparent;
    border-bottom: 1.5rem solid transparent;
    border-left: 1.5rem solid transparent;
  }
  header.fixed #g_navi ul li:hover > a.ac_menu::after, header.fixed #g_navi li a.ac_menu:hover::after {
    border-bottom: 1rem solid var(--color-o);
  }
}
@media screen and (min-width:1050px) {
  #g_navi {
    width: 98%;
    padding-left: 1%;
    padding-right: 1%;
  }
  #g_navi > ul > li > a {
    margin-right: 5rem;
  }
  #g_navi > ul > li.last a {
    margin-right: 0;
  }
}
@media screen and (max-width:799.99px) {
  .menu_btn {
    display: block;
    height: 15vw;
    width: 15vw;
    text-align: center;
    position: fixed;
    z-index: 11;
    top: 0;
    right: 0;
    cursor: pointer;
    background-color: var(--color-w);
    /*	 border: var(--color-g) solid 1px;
	 box-sizing:border-box;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;*/
  }
  .menu_btn:hover {
    cursor: pointer;
  }
  .menu_btn span {
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    margin-left: -3.5vw;
    margin-top: -2px;
    margin-left: -3.5vw;
  }
  .menu_btn span.top {
    transform: translateY(-2vw);
    -webkit-transform: translateY(-2vw);
    -moz-transform: translateY(-2vw);
    width: 7vw;
    height: 3px;
    background-color: var(--color-n);
  }
  .menu_btn span.middle {
    transform: translate(0);
    -webkit-transform: translate(0);
    -moz-transform: translate(0);
    width: 7vw;
    height: 3px;
    background-color: var(--color-n);
  }
  .menu_btn span.bottom {
    background-color: var(--color-n);
    transform: translateY(2vw);
    -webkit-transform: translateY(2vw);
    -moz-transform: translateY(2vw);
    width: 7vw;
    height: 3px;
  }
  /*  .menu_btn span.menu {
    color: var(--color-w);
	width: 7vw;
    text-align: center;
    transform: translateY(3.2vw);
    -webkit-transform: translateY(3.2vw);
    -moz-transform: translateY(3.2vw);
    font-size: 1rem;
	  letter-spacing: 0;
  }*/
	.menu_btn.opened {background-color: var(--color-o);}
  .menu_btn.opened span.middle {
	 
    background: rgba(255, 255, 255, 0);
    transform: translateX(3rem);
    -webkit-transform: translateX(3rem);
    -moz-transform: translateX(3rem);
  }
  .menu_btn.opened span.top {
	   background-color: var(--color-w);
    transform: rotate(-45deg) translateY(0px);
    -webkit-transform: rotate(-45deg) translateY(0px);
    -moz-transform: rotate(-45deg) translateY(0px);
  }
  .menu_btn.opened span.bottom {
	   background-color: var(--color-w);
    transform: rotate(45deg) translateY(0px);
    -webkit-transform: rotate(45deg) translateY(0px);
    -moz-transform: rotate(45deg) translateY(0px);
  }
  /*グローバルナビ
  -------------------------------------------*/
  #g_navi {
    position: fixed;
    width: 80%;
    height: 100%;
    top: 0px;
    left: 100%;
    padding-top: 15vw;
    overflow: auto;
    z-index: 10;
    background-color: var(--color-o);
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
    -moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  #g_navi ul {
    display: block;
    margin: 0px;
    padding: 0px;
    clear: both;
  }
  #g_navi > ul > li {
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: rgba(255, 255, 255, 0.5);
  }
  #g_navi > ul > li > a {
    color: var(--color-w);
    font-size: 1.6rem;
    text-decoration: none;
    display: block;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    padding-left: 1.5rem;
    padding-right: 2rem;
    vertical-align: middle;
  }
  #g_navi ul li a:hover {
  /*  color: var(--color-gd);*/
  }
  /* アコーディオン
  --------------------------------------------------*/
  #g_navi > ul > li > a.ac_menu {
    position: relative;
    background-image: none;
  }
  #g_navi > ul > li > a.ac_menu::after {
    font-size: 1.3rem;
    display: block;
    height: 1.4rem;
    width: 1.4rem;
    content: "▼";
    text-align: center;
    line-height: 1.4rem;
    position: absolute;
    top: 1.5rem;
    right: 1rem;
    color: var(--color-w);
  }
  #g_navi > ul > li > a.ac_menu.active::after {
    content: "▲";
  }
  #g_navi div.ac_list {
    display: none;
  }
  #g_navi ul li ul li {
    border-bottom: none;
    padding: 0;
    margin: 0;
    background: rgba(255, 255, 255, 0.1);
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: rgba(255, 255, 255, 0.5);
  }
  #g_navi ul li li:first-child {
    border-top: none;
  }
  #g_navi ul li ul li a {
    font-size: 1.4rem;
    color: var(--color-w);
    text-decoration: none;
    display: block;
    padding: 1rem 1% 1rem 1.5rem;
    vertical-align: middle;
    line-height: 1.2;
  }
  #g_navi ul li ul li:last-child {
    border-bottom: none;
  }
  /*メニューシャドウ
  -----------------------------------*/
  .bg_bl {
    background-color: var(--color-w);
    height: 100%;
    width: 100%;
    opacity: 0.80;
    filter: alpha(opacity=80);
    -ms-filter: "alpha( opacity=80 )";
    display: block;
    position: fixed;
    z-index: 10;
  }
}
/*-------------------------------------------
メインコンテンツ
-------------------------------------------*/
.head_wrap {
  max-width: 1600px;
  padding-left: 2rem;
  padding-right: 2rem;
  margin-right: auto;
  margin-left: auto;
}
.cont_wrap_w {
  max-width: 1540px;
  padding-left: 2rem;
  padding-right: 2rem;
  margin-right: auto;
  margin-left: auto;
}
.cont_wrap_m {
  max-width: 1060px;
  padding-left: 2rem;
  padding-right: 2rem;
  margin-right: auto;
  margin-left: auto;
}
.cont_wrap {
  max-width: 945px;
  padding-left: 2rem;
  padding-right: 2rem;
  margin-right: auto;
  margin-left: auto;
}
.cont_wrap_s {
  max-width: 580px;
  padding-left: 2rem;
  padding-right: 2rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width:1050px) {
  .head_wrap {
    width: 94%;
    padding-left: 3%;
    padding-right: 3%;
  }
  .cont_wrap_w {
    width: 90%;
    padding-left: 5%;
    padding-right: 5%;
  }
  .cont_wrap_s {
    width: 90%;
    padding-left: 5%;
    padding-right: 5%;
  }
  .cont_wrap_m {
    width: 90%;
    padding-left: 5%;
    padding-right: 5%;
  }
  .cont_wrap {
    width: 90%;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (max-width:640px) {
  .head_wrap {
    width: 95%;
    padding-left: 2.5%;
    padding-right: 2.5%;
  }
  .cont_wrap_w {
    width: 91%;
    padding-left: 4.5%;
    padding-right: 4.5%;
  }
  .cont_wrap_s {
    width: 91%;
    padding-left: 4.5%;
    padding-right: 4.5%;
  }
  .cont_wrap_m {
    width: 91%;
    padding-left: 4.5%;
    padding-right: 4.5%;
  }
  .cont_wrap {
    width: 91%;
    padding-left: 4.5%;
    padding-right: 4.5%;
  }
}
/*-------------------------------------------
リンクボタン
-------------------------------------------*/
.button-n {
  display: inline-block;
  text-align: center;
  padding: 1rem 4.2rem 1rem 3.5rem;
  font-size: 1.7rem;
  text-decoration: none;
  position: relative;
  letter-spacing: .05em;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  background: var(--color-w);
  color: var(--color-n);
  border: var(--color-g) solid 2px;
  border-radius: 1rem;
}
.button-n::after {
  transition: 0.3s;
  content: '';
  width: 0.7rem;
  height: 0.7rem;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.7rem;
  margin: auto;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 2px solid var(--color-g);
  border-right: 2px solid var(--color-g);
}
.button-n:hover {
  -webkit-transform: translate(0, 2px);
  -moz-transform: translate(0, 2px);
  transform: translate(0, 2px);
}
/*------------------------------
トップへ戻るボタン
------------------------------*/
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-o);
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  width: 6.5rem;
  height: 6.5rem;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  line-height: 1.2;
  border: var(--color-w) solid 1px;
}
#page-top a:hover {
  -webkit-transform: translate(0, 2px);
  transform: translate(0, 2px);
}
#page-top {
  position: fixed;
  right: 1rem;
  bottom: 5rem;
  z-index: 1;
  transform: translateY(140px);
}
#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(140px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(140px);
  }
}
@media screen and (max-width: 799.99px) {
  #page-top a {
  width: 4.5rem;
  height: 4.5rem;
  }
  #page-top a img {
    width: 2.2rem;
  }
}
/*-------------------------------------------
フッター
-------------------------------------------*/
#footer {
  margin: 0;
  padding-top: 5.5rem;
  padding-bottom: 3.5rem;
  background-color: var(--color-o);
  color: var(--color-w)
}
#footer a {
  text-decoration: none;
  color: var(--color-w)
}
#footer .footer_bottom {
  width: 100%;
}
#footer p.tel {
  font-weight: 400;
  letter-spacing: 0;
}
#footer p.addr {
  font-size: 1.7rem;
  letter-spacing: 0;
  line-height: 1.4
}
#footer .footer__3 ul li:first-child {
  padding-bottom: 1.5rem;
}
#footer .footer_bottom ul {
  display: flex;
  justify-content: center;
  margin-bottom: 1.7rem;
}
#footer .footer_bottom ul li {
  padding-left: 1rem;
  padding-right: 1rem;
  line-height: 1.5rem;
  font-size: 1.5rem;
}
/*
#footer .footer_bottom ul li:first-child {
  border-right: var(--color-w) solid 1px;
}
*/
#footer .footer_bottom p {
  font-size: 1.4rem;
  line-height:1.2;
  color: var(--color-w);
  text-align: center;
}
@media screen and (min-width:800px) {
  #footer .footer_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: 7.5rem;
  }
  #footer .footer_top .footer__1 {
    width: 34%;
  }
  /*  #footer .footer_top .footer__2 {
width: 30%;
  }*/
  #footer p.tel {
    font-size: 4rem;
    margin-bottom: 0.4rem;
  }
  #footer .footer_top .footer__3 {
    width: 24%;
  }
}
@media screen and (max-width:799.99px) {
  #footer .footer_top {
    padding-bottom: 6rem;
  }
  #footer .footer_top .footer__1 {
    margin-bottom: 2rem;
    text-align: center;
  }
	#footer .footer_top .footer__1 img{max-width:28rem !important; }
  #footer .footer_top .footer__2 {
    margin-bottom: 3rem;
    text-align: center;
  }
  #footer .footer_top .footer__2 p.tel {
    font-size: 3.8rem;
    margin-bottom: 0;
    text-align: center;
  }
  #footer .footer_top .footer__2 p.addr {
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
  }
  #footer .footer_top .footer__3 {
    text-align: center;
  }
  #footer .footer_top .footer__3 ul {
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
  }
	#footer .footer_top .footer__3 img{
		max-width:23rem !important; 
	}
}
/*-------------------------------------------
タイトル
-------------------------------------------*/
.title h2{text-align: center;letter-spacing: 0; font-family: "Caveat", cursive;font-weight: 300; color: var(--color-o);
	}
.title p{text-align: center;padding-top: 0.7rem;}
@media print, screen and (min-width: 800px) {
	.title h2 {font-size:5.8rem;}
	.title p{font-size: 1.9rem;}
}
@media screen and (max-width:799.99px) {
	.title h2 {font-size:4.8rem;}
	.title p{font-size: 1.6rem;}
}
/*-------------------------------------------
campaign
-------------------------------------------*/
@media print, screen and (min-width: 800px) {
	.campaign_box{display: flex;justify-content:center;
}
.campaign_box>div{width:32%;margin-right: 2%;}
.campaign_box>div:last-child{margin-right:0;}
	
}
@media screen and (max-width:799.99px) {
.campaign_box>div{padding-bottom:2.5rem; }
.campaign_box>div:last-child{padding-bottom:0; }
	
}

/*-------------------------------------------
ニュース
-------------------------------------------*/
.info__item {
  border-bottom: var(--color-gd) solid 1px;
}
.info__item > a {
  text-decoration: none;
  font-size: 1.6rem;
  color: var(--color-n);
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.info__item > a::after {
  transition: 0.3s;
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1rem;
  margin: auto;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 1px solid var(--color-g);
  border-right: 1px solid var(--color-g);
}
.info__item .info_date {
  white-space: nowrap;
  padding-right: 1.5rem;
  font-weight: 500;
  font-size: 0.9em;
}
.info__item .info__name {
  width: auto;
  line-height: 1.4;
  /*color: var(--color-nd);*/
}
@media screen and (min-width: 800px) {
  .info__item > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    padding: 1.5rem 1.5rem;
  }
  .info__item > a:hover::after {
    right: 0.4rem;
  }
}
@media screen and (max-width: 799.99px) {
  .info__item .info_date {
    margin-bottom: 0.4rem;
  }
  .info__item > a {
    display: block;
    padding: 1rem 1.2rem 1rem 0.5rem;
  }
}
/*-------------------------------------------
plan
-------------------------------------------*/
.plan__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.plan__list>div a{text-decoration: none;}
.plan__list>div a p{padding-top: 1.2rem;font-size: 1.6rem;color:var(--color-n);line-height: 1.4}
.plan__list>div .img{box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 12px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;}
.plan__list>div h3{
	font-family: "Caveat", cursive;
	font-weight: 300;
white-space: nowrap;
	font-size: 3.5rem;
	color:var(--color-g);
	margin-bottom: -1.3rem;
	letter-spacing: 0;
	position: relative;
	z-index: 1;
}
@media print, screen and (min-width: 800px) {
.plan__list>div{
	width:22.3%; 
	margin-bottom:4.1rem;
}
}
@media screen and (max-width:799.99px) {
.plan__list>div{
	width:47.5%; 
	margin-bottom:3.5rem;
}
	
}
/*------------------------------
クッキー
------------------------------*/
.cookie-consent {
  position: fixed;
  bottom: -250px;
  left: 0;
  width: 95%;
  padding: 1.5rem 2.5%;
  font-size: 1.5rem;
  background: rgba(0, 0, 0, 0.9);
  visibility: visible;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  transition: 0.5s;
  z-index: 12;
}
.cookie-consent.is-show {
  bottom: 0;
}
.cookie-text {
  color: var(--color-w);
}
.cookie-agree {
  color: var(--color-w);
  background: var(--color-o);
  padding: .5em 1.5em;
}
.cookie-agree:hover {
  cursor: pointer;
  background: var(--color-w);
  color: var(--color-o);
}
.cc-hide2 {
  animation: hide 1s linear 0s;
  animation-fill-mode: forwards;
}
@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@media screen and (min-width:800px) {
  .cookie-consent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
  }
  .cookie-text {
    padding-right: 1rem;
  }
}
@media screen and (max-width: 799.99px) {
  .cookie-consent {
    flex-direction: column;
    width: 95%;
    text-align: center;
  }
  .cookie-text {
    margin-bottom: 1em;
    text-align: left;
  }
  .cookie-agree {
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
    padding: .5em 1.5em;
  }
}
/*-------------------------------------------
表示切り替え
-------------------------------------------*/
@media screen and (min-width:460.1px) {
  .no_pc_x {
    display: none !important;
  }
}
@media screen and (min-width:640.1px) {
  .no_pc_m {
    display: none !important;
  }
}
@media screen and (min-width:800px) {
  .no_pc {
    display: none !important;
  }
}
@media screen and (max-width:799.99px) {
  .no_sp {
    display: none !important;
  }
}
@media screen and (max-width:640px) {
  .no_sp_m {
    display: none !important;
  }
}
@media screen and (max-width:460px) {
  .no_sp_x {
    display: none !important;
  }
}