@charset "utf-8";
@import url("root.css");


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/*-----*RESET CSS*-----*/
*:where(:not(iframe, canvas, img, svg, video):not(svg *)){all: unset;display: revert;}
*,*::before,*::after{box-sizing: border-box;}
ol,ul{list-style: none;}
img{width: 100%;vertical-align: bottom;}


.clearfix {	zoom: 100%; min-height: 1px;}
.clearfix:after {
content: " ";
display: block;
clear: both;
height: 0;
visibility: hidden;
}

* html .clearfix {
height: 1px; /*/*/}/**/



/*-----*RESET CSS*-----*/

* {
	font-size: 1rem;
    line-height: 140%;
    word-break: break-all;
}

a:hover {
    cursor: pointer;
}

a:hover img {
	opacity: 0.85;/*--IE,FF対応--*/
	filter: alpha(opacity=85);
	-ms-filter: "alpha( opacity=85)";
}
h1,h2{font-family: "HG明朝E", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
font-weight: normal;}

h3,h4,h5{font-weight: bold;}
h2 { font-size: 2.25rem }
h2 strong { font-size: 100% }
h3 { font-size: 1.375em !important }
h3 strong { font-size: 100% }
h4 { font-size: 1.25rem }
h4 strong { font-size: 100% }
h5 { font-size: 1.125rem }
h5 strong { font-size: 100% }
p { font-size: 1rem;}


@media screen and (min-width:1025px){
h2 { font-size: 2.625rem }
h3 { font-size: 1.5rem }
h4 { font-size: 1.375rem }
h5 { font-size: 1.25rem }
	
}
@media screen and (max-width:768px){
h2 { font-size: 2rem }
}


@media screen and (max-width:599px){
h2 { font-size: 1.75rem }
h3 { font-size: 1.25rem !important }
h4 { font-size: 1.125rem }
h5 { font-size: 1rem }
p { font-size: 1rem;}
}


/***************************************
---------------- PARTS ----------------
***************************************/
html, body{
        margin: 0;
        padding: 0;
        width:100%;
        height:100%;
 }
body {
	counter-reset: number 0;
    color: var(--base-color02);
    background: var(--base-color03);
	font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	position: relative;
	overflow-x: hidden;
}




.btnshine{
    position: relative;
    text-decoration: none;
    outline: none;
    overflow: hidden;
}
.btnshine::before {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    transform: skewX(-25deg);
}
.btnshine:hover::before {
    animation: shine 0.7s;
}
@keyframes shine {
    100% { left: 125%; }
}

.container {
      width:94%;
    max-width: 1000px;
    margin: auto;
    padding: 50px 0;
    display: flex;
    flex-wrap: wrap;
}
@media screen and (min-width:1025px){
    .container {
      width: 100%;
    }
}
@media screen and (max-width:768px){
    .container {
 padding: 30px 0 40px;
    }
}

.container.wide {
    max-width: 1200px;
}




@media screen and (min-width:769px){
    .sp { display:none; }
}
@media screen and (max-width:768px){
    .pc { display:none; }
    .sp { display:block !important; }
}

.home .container{
	width:94%;
    max-width: 1000px;
    margin: auto;
    padding: 50px 0 50px;
    display: flex;
    flex-wrap: wrap;
}
.home .container_w {
	display: flex;
    flex-wrap: wrap;
	width:94%;
    max-width: 1200px;
    margin: auto;
    padding: 0px 0 0px;
}



@media screen and (min-width:1025px){
.home .container {
      width: 100%;
	padding: 70px 0 60px;
    }

}
@media screen and (max-width:768px){
.home .container {
 padding: 40px 0 40px;
    }
}
@media screen and (max-width:768px){
.home .container {
 padding: 30px 0 30px;
    }
}

.container h2 {
    width: 100%;
	margin-bottom: 30px;
    text-align: center;
	
    line-height: 1.0;
    color: var(--base-color02);
}


/***************************************
-------------- PAGENATION --------------
***************************************/

#pagination {
    width: 100%;
    margin: var(--sp-space) auto;
}
#pagination ul {
    display: flex;
    align-items: center;
    justify-content: center;
}
#pagination li {
    margin-right: 7px;
    margin-left: 7px;
    line-height: 1.5;
}
#pagination li a {
    display: flex;
    font-size: calc(var(--sp-fontsize_p) * 0.8);
    color: var(--base-color01);
    border: 1px solid var(--base-color01);
    width: min(10vw, 48px);
    height: 42px;
    padding-top: 3px;
    align-items: center;
    justify-content: center;
}
#pagination li.active a {
    background: var(--base-color01);
    color: var(--base-color03);
}



/******************************************
HEADER
***************************************/
header {
  /*position: absolute;
  top: 0px;*/
  position: fixed;
  top: 0;
  width: 100%;
  margin: 0px auto 0;
  padding: 0px 0 0px;
  z-index: 9999;
  height: 80px;
	background-image: url("../img/hbg.png");
	background-repeat: repeat-x;
	background-position: center top; 
  background-color: var(--base-color03);
  box-shadow: 2px 2px 4px -2px rgba(0, 0, 0, .15);
}

header .inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  width: 98%;
  max-width: 1170px;
  height: 80px;
  margin: 0rem auto 0rem;
  text-align: left;
	
}

header .inner article {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 90%;
}

header .inner article h1 a {
  display: block;
  font-size: 30px !important;
  font-weight: 600;
  margin-top: 0rem;
  color: inherit;
}

header .inner article h1 a:hover {
  color: inherit;
}

header .inner article h1 a img {
	display: block;
	width: 100%;
	max-width: 300px;
	height: auto;
}
header .inner article:nth-child(1)  {
	display: block;
	width: 100%;
}
header .inner article:nth-child(1) p {
	display: none !important;
	width: 100%;
	letter-spacing: -1px;
}


header .inner article:nth-child(2) {
  display: none;
  justify-content: flex-end;
}


/*-------------------------------*/

header .inner article .contact_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100px;
}

header .inner article .contact_box li.Bana {
	display: flex;
	justify-content: flex-end;
}

header .inner article .contact_box li.Bana img {
 /* display: block;
  width: 100%;
  max-width: 300px;
  height: auto;*/
}

header .inner article .contact_box li.Tel {
  padding-right: 10px;
}

header .inner article .contact_box li.Tel dl {
  display: block;
  padding: 0;
  text-align: center;
}
header .inner article .contact_box li.Tel dt {
  font-family: "Roboto", sans-serif !important;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 2.3rem;
  text-align: center;
  padding: 0 !important;
  white-space: nowrap;
  color: var(--base-color02);
  letter-spacing: -1px;
}

header .inner article .contact_box li.Tel dt::before {
  content: "";
  background: url("../img/icon_phone.png") no-repeat center;
  background-size: contain;
  width: 100%;
  min-width: 36px;
  max-width: 36px;
  height: 36px;
  margin-right: 5px;
	margin-top: -3px;
}
header .inner article .contact_box li.Tel dd {
text-align: center;
	font-weight: 500;
}



header .inner article .contact_box li.Tel dd.time {
  font-size: 14px;
	text-align: left;
	margin-left: -5px;
	white-space: nowrap;
}

@media only screen and (min-width: 1025px) {
  header {
    height: auto;
    position: static !important;
	  box-shadow: 0px 0px 5px rgba(0, 0, 0, .45);
  }
  header .inner {
    height: auto;
	  min-height: 120px;
  }
  header .inner article:nth-child(2) {
    display: flex !important;
  }
  header .inner article {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
  }
  header .inner article:nth-child(1) {
    width: 55%;
  }
  header .inner article:nth-child(2) {
	  display: flex;
	  justify-content: flex-end;
    width: 45%;
    padding-right:0%;
  }
header .inner article h1 a img {
	display: block;
	width: 100%;
	max-width: 370px;
	height: auto;
}
header .inner article:nth-child(1) p {
	display: block !important;
	width: 100%;
}
}

@media only screen and (max-width: 599px) {
  header {
    height: 60px;
  }
  header .inner {
    height: 60px;
  }
  header .inner article h1 {
    width: 84%;
    min-width: auto;
  }
  header .inner article h1 a {
    font-size: 20px !important;
  }
	
header .inner article h1 a img {
	display: block;
	width: 90%;
	max-width: 220px;
	height: auto;
}
}
/*--------------------
追尾バナー
---------------------*/
.fixed-btn {
  position: fixed;
  right: 0;
  bottom: 220px;
  z-index: 11
}

@media only screen and (max-width:1024px) {
  .fixed-btn {
    display: block;
    z-index: 9;
    top: auto;
    bottom: 0;
    width: 100%;
	  border-top: 1px solid var(--base-color03);
  }
}

@media only screen and (max-width:1024px) {
  .fixed-btn dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-height: 80px;
  }
}

@media only screen and (max-width:599px) {
  .fixed-btn dl {
    max-height: 60px;
  }
}

.fixed-btn dl dt {
  display: none
}

@media only screen and (max-width:1024px) {
  .fixed-btn dl dt {
    width: 100%;
    display: none;
    background-color: #c52828;
    font-size: 16px;
    line-height: 1.375;
    letter-spacing: .1em;
    text-align: center;
    color: #fff;
    padding: 5px;
    padding: 1.5625vw
  }
}

@media only screen and (max-width:1024px) and (max-width:1024px) {
  .fixed-btn dl dt {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: .05em
  }
}

.fixed-btn dl dd {
  background-position: left center;
  background-repeat: no-repeat;
  width: 120px;
  height: 170px;
  background-size: 100%;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-duration: .3s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(.645, .045, .355, 1);
  -webkit-transform: translateX(64px);
  transform: translateX(64px)
}

.fixed-btn dl dd.fixed-btn-shop {
  width: 128px;
  height: 200px;
}

.fixed-btn dl dd.fixed-btn-line {
  width: 128px;
  height: 200px;
}

.fixed-btn dl dd.fixed-btn-mail {
  width: 128px;
  height: 200px;
}


.fixed-btn dl dd br {
  display: none;
}

@media only screen and (max-width:768px) {
  .fixed-btn dl dd br {
    display: block;
  }
}

@media only screen and (max-width:1024px) {
  .fixed-btn dl dd {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    /*width: 33.33%;*/
    width: 28%;
    height: 80px;
    height: 12.5vw;
  }
  .fixed-btn dl dd.fixed-btn-shop {
    /*width: 33.33%;*/
    /*width: 28%;*/
	width: 40%;
    height: 80px;
  }
  .fixed-btn dl dd.fixed-btn-line {
    /*width: 33.33%;*/
    /*width: 28%;*/
	width: 40%;
    height: 80px;
  }
	
  .fixed-btn dl dd.fixed-btn-mail {
    /*width: 33.33%;*/
    /*width: 28%;*/
	width: 40%;
    height: 80px;
  }
  .fixed-btn dl dd.fixed-btn-tel {
    /*width: 33.33%;*/
    /*width: 28%;*/
	width: 40%;
    height: 80px;
  }
	.fixed-btn dl dd.fixed-btn-top {
    width: 16%;
   /* width: 50%;*/
    /*width: 16%;*/
	width: 20%;
    height: 80px;
  }
}

@media only screen and (min-width:1025px) {
  .fixed-btn dl dd:hover {
    -webkit-transform: translateX(47px);
    transform: translateX(47px)
  }
}

.fixed-btn dl dd a {
  display: block;
  height: 100%;
  position: relative
}

.fixed-btn dl dd a:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 5px;
  right: 1.5625vw;
  margin-top: -3px;
  margin-top: -.9375vw;
  width: 6.5px;
  width: 2.03125vw;
  height: 10.5px;
  height: 3.28125vw;
  background-size: 100%;
  background-repeat: no-repeat
}

@media only screen and (min-width:1025px) {
  .fixed-btn dl dd .inner, .fixed-btn dl dd.fixed-btn-line i {
    display: none;
  }
  /*PCでは画像のみの場合*/
}

@media only screen and (max-width:1024px) {
  .fixed-btn dl dd .inner {
    display: flex;
	  flex-flow: column wrap;
    justify-content: center;
    align-items: center;
    width: auto;
    height: 80px;
    font-size: 1rem;
    line-height: 1.0;
    letter-spacing: .05em;
    padding: 0px 0px 0px 0;
    color: #fff;
    font-weight: 500;
  }
  .fixed-btn dl dd .inner::before {
    display: block;
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 40px;
    height: 40px;
	margin-bottom: 5px;
  }
}

@media only screen and (max-width:768px) {}

@media only screen and (max-width:599px) {
  .fixed-btn dl dd .inner {
    font-size: .75rem;
    height: 60px;
  }
 .fixed-btn dl dd .inner::before {
    display: block;
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 30px;
    height: 30px;
	margin-bottom: 5px;
  }
}


/*---------------SHOP ----------------*/

.fixed-btn dl dd.fixed-btn-shop {
  background-image: url(../img/bg-side-shop.png);
  background-size: 128px 200px;
  background-color:  var(--base-color01);
  border-radius: 5px 0 0 5px;
  margin-bottom: 10px;
box-shadow: 1px 1px 2px rgba(0, 0, 0, .3);
}

@media only screen and (max-width:1024px) {
  .fixed-btn dl dd.fixed-btn-shop {
    background-image: none;
    background-color: var(--base-color01);
    border-radius: 0px 0px 0 0px;
    margin-bottom: 0px;
	  box-shadow: 1px 1px 2px rgba(0, 0, 0, .0);
  }
  .fixed-btn dl dd.fixed-btn-shop a:after {
  }
  .fixed-btn dl dd.fixed-btn-shop .inner::before {
    background-image: url("../img/fixed-btn-shop.png");
	/*  width: 40px;
    height:40px;*/
  }
}

.fixed-btn dl dd.fixed-btn-shop i {
  background: url(../img/fixed-btn-line.png) no-repeat;
  background-size: contain;
}

.fixed-btn dl dd.fixed-btn-shop .free {
  color: var(--base-color01)
}
@media only screen and (max-width:599px) {
  .fixed-btn dl dd.fixed-btn-shop .inner::before {
    background-image: url("../img/fixed-btn-shop.png");
	 /* width: 38px;
    height:38px;*/
  }
}



/*---------------LINE ----------------*/

.fixed-btn dl dd.fixed-btn-line {
  background-image: url(../img/bg-side-line.png);
  background-size: 128px 200px;
  background-color: var(--sub-color02);
  border-radius: 5px 0 0 5px;
  margin-bottom: 10px;
box-shadow: 1px 1px 2px rgba(0, 0, 0, .3);
}

@media only screen and (max-width:1024px) {
  .fixed-btn dl dd.fixed-btn-line {
    background-image: none;
    background-color: var(--sub-color02);
    border-radius: 0px 0px 0 0px;
    margin-bottom: 0px;
	  box-shadow: 1px 1px 2px rgba(0, 0, 0, .0);
  }
  .fixed-btn dl dd.fixed-btn-line a:after {
  }
  .fixed-btn dl dd.fixed-btn-line .inner::before {
    background-image: url("../img/fixed-btn-line.png");
	/*  width: 40px;
    height:40px;*/
  }
}

.fixed-btn dl dd.fixed-btn-line i {
  background: url(../img/fixed-btn-line.png) no-repeat;
  background-size: contain;
}

.fixed-btn dl dd.fixed-btn-line .free {
  color: #008d17
}
@media only screen and (max-width:599px) {
  .fixed-btn dl dd.fixed-btn-line .inner::before {
    background-image: url("../img/fixed-btn-line.png");
	 /* width: 38px;
    height:38px;*/
  }
}


/*---------------MAIL ----------------*/

.fixed-btn dl dd.fixed-btn-mail {
	display: none;
  background-image: url(../img/bg-side-mail.png);
  background-size:128px 200px;
  background-color: var(--sub-color01);
  border-radius: 5px 0 0 5px;
	margin-bottom: 10px;
	box-shadow: 0px 0px 4px rgba(0, 0, 0, .3);
}

@media only screen and (max-width:1024px) {
  .fixed-btn dl dd.fixed-btn-mail {
	  display: block;
    background-image: none;
    background-color:var(--base-color01);
    border-radius: 0px 0px 0 0px;
	 box-shadow: 0px 0px 4px rgba(0, 0, 0, .0);
	  border-left: 1px solid #FFF;
  }
  .fixed-btn dl dd.fixed-btn-mail a:after {
  }
  .fixed-btn dl dd.fixed-btn-mail .inner::before {
    background-image: url("../img/fixed-btn-mail.png");
  }
}

.fixed-btn dl dd.fixed-btn-mail i {
  background: url(../img/fixed-btn-mail.png) no-repeat;
  background-size: contain;
}



/*---------------TEL ----------------*/

.fixed-btn dl dd.fixed-btn-tel {
  display: none
}

.fixed-btn dl dd.fixed-btn-tel i {
  background: url(../img/fixed-btn-tel.png) no-repeat;
  background-size: contain;
}

@media only screen and (max-width:1024px) {
  .fixed-btn dl dd.fixed-btn-tel {
    display: block;
    background-color: var(--base-color01);
	   border-left: 1px solid #FFF;
  }
  .fixed-btn dl dd.fixed-btn-tel .inner::before {
    background-image: url("../img/fixed-btn-tel.png");
  }

}
/*---------------TOP----------------*/

.fixed-btn dl dd.fixed-btn-top {
  display: none
}


@media only screen and (max-width:1024px) {
  .fixed-btn dl dd.fixed-btn-top {
    display: block;
    background-color: var(--base-color02);
	   border-left: 1px solid #FFF;
		
  }
  .fixed-btn dl dd.fixed-btn-top .inner::before {
    background-image: url("../img/fixed-btn-top.png");
  }

}


/*------------------------------------*/
.btn_links {
  width: 100%;
  padding: 25px 0 0px;
}
.btn_links.left {
  width: auto;
  padding: 0px 0 0px;
}

.btn_links a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  max-width: 360px;
  height: auto;
  margin: auto;
  padding: 4px;
  font-weight: 500;
  line-height: 1.0;
  color: var(--base-color03);
  background: rgb(209, 160, 0);
  background: linear-gradient(0deg, rgba(209, 160, 0, 1) 0%, rgba(252, 244, 104, 1) 50%, rgba(209, 160, 0, 1) 100%);
  text-align: center;
  border-radius: 5px;
  transition: .7s;
  box-shadow: 1px 2px 3px rgba(0, 0, 0, .5);
}
.btn_links a span {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 3px;
  padding: 12px 17px 12px;
  font-size: 1.25rem;
  background: rgb(226, 200, 69);
  background: linear-gradient(180deg, rgba(226, 200, 69, 1) 0%, rgba(209, 167, 28, 1) 50%);
  text-shadow: 0px 0px 3px rgba(0, 0, 0, .60);
}
.btn_links a:hover {
  color: var(--base-color03);
  background: rgb(209, 160, 0);
  background: linear-gradient(0deg, rgba(209, 160, 0, 1) 0%, rgba(252, 244, 104, 1) 50%, rgba(209, 160, 0, 1) 100%);
}
.btn_links a:hover span {
  background: rgb(226, 200, 69);
  background: linear-gradient(0deg, rgba(226, 200, 69, 1) 0%, rgba(209, 167, 28, 1) 50%);
}
.btn_links a::after {
  display: block;
  font-family: "Font Awesome 5 Free";
  content: "\f0a9";
  font-weight: 600;
  position: absolute;
  right: 16px;
  margin-top: 1px;
  text-shadow: 0px 0px 3px rgba(0, 0, 0, .60);
}
@media screen and (max-width: 599px) {
  .btn_links a {
    width: 90%;
    font-size: 1rem !important;
  }
  .btn_links a span {
    width: 100%;
    font-size: 1rem !important;
  }
}

/*------------------------------*/

.btn_links.base a {
color: var(--base-color03);
background: rgb(29,32,136);
background: linear-gradient(0deg, rgba(29,32,136,1) 0%, rgba(0,112,250,1) 50%, rgba(29,32,136,1) 100%);
}


.btn_links.base a span {
	 background: rgb(10,45,163);
background: linear-gradient(180deg, rgba(10,45,163,1) 0%, rgba(21,15,119,1) 100%); 
}

.btn_links.base a:hover {
color: var(--base-color03);
background: rgb(29,32,136);
background: linear-gradient(0deg, rgba(29,32,136,1) 0%, rgba(0,112,250,1) 50%, rgba(29,32,136,1) 100%);
}
.btn_links.base a:hover span {
 background: rgb(10,45,163);
background: linear-gradient(0deg, rgba(10,45,163,1) 0%, rgba(21,15,119,1) 100%); 
}
/*---------------------*/

.btn_links.base2 a {
color: var(--base-color01);
background: var(--base-color04);
	border-color: var(--base-color04);
}


.btn_links.base2 a span {
}

.btn_links.base2 a:hover {
color: var(--base-color04);
background: var(--base-color01);
border-color: var(--base-color01);
}

/*---------------------*/




.btn_links.faq a {
	background: transparent;
	border: 1px solid #FFF;
}


.btn_links.faq a span {
  background: transparent;
}

.btn_links.faq a:hover {
color: var(--base-color03);
background: transparent;
}

/*---------------------*/


.btn_links.access{
	padding: 0px 0 0px;
}

.btn_links.access a {
    width: 100%;
	padding:1px 3px 3px;
	max-width: 460px;
	 box-shadow: 1px 1px 3px rgba(0, 0, 0, .30);
	border-radius: 8px;
	border: none;
	color:  var(--base-color03);
	 background: rgb(125,0,0);
background: linear-gradient(0deg, rgba(125,0,0,1) 0%, rgba(225,0,25,1) 50%, rgba(125,0,0,1) 100%); 
  }
.btn_links.access a span {
	display: flex;
	justify-content: center;
	align-items: center;
    width: 100%;
	padding: 20px 15px 20px;
	border-radius: 5px;
	font-size: 1.5rem;
	 background: rgb(225,0,25);
background: linear-gradient(180deg, rgba(225,0,25,1) 0%, rgba(125,0,0,1) 100%); 
}
.btn_links.access a span:hover{
	 background: rgb(225,0,25);
background: linear-gradient(0deg, rgba(225,0,25,1) 0%, rgba(125,0,0,1) 100%); 
}


.btn_links.access a span::before {
    content: "";
    display: inline-block;
    background-image: url("../img/icon_mail3.png");
    background-repeat: no-repeat;
    background-position: center left;
    background-size: contain;
    width:30px;
    height: 23px;
    margin-right: 10px;
	margin-top: 5px;
}
.btn_links.access a span:hover::before {
    background-image: url("../img/icon_mail3.png");
}
.btn_links.access a::after {
	display: none;
}

@media screen and (max-width: 1199px) {
	.btn_links.access a span {
		font-size: 1.375rem;
	}
}


@media screen and (max-width: 599px) {

.btn_links.access a span {
	padding: 15px 10px 15px;
	font-size: 1.125rem !important;
	}
.btn_links.access a span::before {
	width:25px;
    height: 23px;
	margin-top: 0px;
	}
}
/*---------------------*/

.btn_links.access_btn{
	padding: 0px 0 0px;
}

.btn_links.access_btn a {
    width: 100%;
	padding:3px 3px 3px;
	max-width: 460px;
	border-radius: 5px;
	background:  var(--sub-color01);
	border: 2px solid var(--base-color01);
	color: var(--sub-color01);
	 box-shadow: 1px 1px 2px rgba(0, 0, 0, 0);
	
  }
.btn_links.access_btn a span {
    width: 100%;
	padding: 5px 10px 5px !important;
	border-radius: 3px;
	background:  var(--base-color01);
	border: 0px solid var(--base-color01);
	font-weight: 600;
}
.btn_links.access_btn a span:hover{}


.btn_links.access_btn a span::before {
   display: inline-block;
	  font-family: "Font Awesome 5 Free";
  content: "\f5a0";
  font-weight: 600;
    margin-right: 5px;
	color: var(--sub-color01);
	letter-spacing: 0;
}

.btn_links.access_btn a::after {
	display: none;
}
@media screen and (max-width: 599px) {


}
/*---------------------*/
.btn_links.info {
	display: none;
}

.btn_links.info a {
	display: block;
	max-width: 200px;
	background: var(--base-color04) ;
	color: var(--base-color01);
	border: 1px solid var(--base-color01);
	 box-shadow: 1px 1px 2px rgba(0, 0, 0, 0);
	padding: 10px 10px 11px;
  font-size: 1rem;
  }
.btn_links.info a:hover {
	background: var(--base-color01) ;
	color: var(--base-color03);
}
.btn_links.info a::after {
	display: none;
}
@media screen and (max-width: 599px) {
.btn_links.info {
	display: block;
  }
.btn_links.info a::before {
  display: inline-block;
	font-family: "Font Awesome 5 Free";
	content: "\f0da";
	font-weight: 600;
	margin-right: 5px;
	font-size: 80%;
	margin-top: -3px;
}
}
/*---------------------*/
.btn_links.dl_link a {
	max-width: 600px;
	background: var(--base-bgcolor03) ;
	color: var(--base-color02);
	 box-shadow: 1px 1px 2px rgba(0, 0, 0, .15);
	padding: 15px 10px 14px;
  font-size: 1rem;
	line-height: 160%;
	border: 1px solid;
  }

.btn_links.dl_link a br {
	display: none;
	}

@media screen and (max-width: 599px) {
.btn_links.dl_link a {
    width: 100%;
   font-size: 16px;
  }
.btn_links.dl_link a br {
	display: block;
	}
}
/*-----------------------------------*/

.btn_links.contact{
	display: flex;
	align-items: center;
	padding: 0px 0 0px;	
	max-width: 260px;
	margin: 0;
	
}

.btn_links.contact a {
	display: flex;
	align-items: center;
    width: 90%;
	padding:1rem .5rem;
	font-size: 1.25rem;
	max-width: 260px;
	min-width: 260px;
	background: var(--sub-color01);
	border: 2px solid  var(--sub-color01);
	border-radius: 5px;
	 box-shadow: 1px 1px 1px rgba(0, 0, 0, .4);
	
  }


.btn_links.contact strong {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	font-size: 1.25rem;
}

.btn_links.contact strong::before {
	display: block;
	content: "";
	background-image: url("../img/icon_mail2.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	max-width: 40px;
	height: 24px;
	margin-right: .5rem !important;
	
	
}


.btn_links.contact a:hover{
	box-shadow: 3px 3px 2px rgba(0, 0, 0, .4);
	background: var(--sub-color01);
	border: 2px solid  var(--sub-color01);
}

.btn_links.contact a::after {
	display: none;
}
@media screen and (max-width: 599px) {
.btn_links.contact a {
    width: 90%;
	padding: 20px 15px 22px;
	font-size: 1.125rem;
	max-width: 490px;
	 box-shadow: 1px 1px 2px rgba(0, 0, 0, 0);
	border-radius: 8px;
  }	
}
/*---------------------*/


.btn_links.chirashi{
	padding: 0px 0 0px;
	
}

.btn_links.chirashi a {
    width: 90%;
	padding: 0px 0px 0px;
	font-size: 1.25rem;
	max-width: 206px;
	min-width: 206px;
	 box-shadow: 1px 1px 1px rgba(0, 0, 0, .4);
	border-radius: 5px;
	background: var(--base-color04);
	border: 2px solid  var(--base-color04);
  }
.btn_links.chirashi a img {
	display: block;
	width: 100%;
	max-width: 186px !important;
	height: auto;
	margin: 0 auto 0;
}


.btn_links.chirashi a:hover{
	box-shadow: 3px 3px 2px rgba(0, 0, 0, .4);
	background: var(--sub-color01);
	border: 2px solid  var(--sub-color01);
}

.btn_links.chirashi a::after {
	display: none;
}
@media screen and (max-width: 599px) {
.btn_links.chirashi a {
    width: 90%;
	padding: 20px 15px 22px;
	font-size: 1.125rem;
	max-width: 490px;
	 box-shadow: 1px 1px 2px rgba(0, 0, 0, 0);
	border-radius: 8px;
  }	
}
/*---------------------*/



.txt_links{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
}


.txt_links a,
.txt_links span{
	font-size:  inherit;
	font-weight: inherit;
	display: flex;
	align-items: center;
	justify-content: center;
}

.txt_links a{
	padding: 10px 5px 0px; 
	color: var(--base-color02);
	background-color: transparent;
	border-bottom: 1px solid;
	margin-right: 0;
}


.txt_links span{
	width: 100%;
	padding: 10px 15px 10px; 
	color: var(--base-color03);
	background: var(--base-color01);

}


.txt_links a::after,
.txt_links span::after{
	display: block;
	  font-family: "Font Awesome 5 Free";
  content: "\f138";
  font-weight: 600;
	right: 16px;
}
.txt_links a::after{
	color: var(--base-color02);
}

.txt_links span::after{
	color: var(--base-color03);
}

.txt_links a:hover{
	color: var(--base-color01);

}

.links{
	font-size:  inherit;
	font-weight: inherit;
	color: var(--base-color01);
	text-decoration: underline;
}
.links:hover{color: var(--sub-color01);}

/*--------------------------------*/
.flex_box{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto 0;
}
.flex_box li{
}

.flex_box.cl2 li,
.flex_box.cl3 li{
	width: 49%;
}

.flex_box.cl1 li{
	width: 49%;
	margin: 0 auto 0;
}

.wide_img_box{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 0;
	margin-top: 20px
}

.wide_img_box li:nth-child(1){
	display: block;
}
.wide_img_box li:nth-child(2){
	display: none;
}

.flex_box li img,
.wide_img_box li img{
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto 0;
}

.flex_box li img{
	max-width:490px;
}
.wide_img_box li img{
	max-width:100%;
}

@media screen and (min-width: 1025px) {

.flex_box.cl3 li{
	width: 32%;
}
}

@media screen and (max-width: 768px) {
	
.flex_box.cl2 li,
	.flex_box.cl3 li{
	width: 100%;
	margin-top: 20px
}
.flex_box.cl2 li:nth-child(1),
.flex_box.cl3 li:nth-child(1){
		margin-top: 0px
		
	}
	
.wide_img_box li:nth-child(1){
	display: none !important;
}
.wide_img_box li:nth-child(2){
	display: block !important;
}
.wide_img_box li img{
	max-width:768px;
}
}


.max_w {
	display: block;
	width: auto;
	max-width: 100%;
	margin: 0 auto 0;
}
	
/*----------------------------*/
.txt_link_dl{
	text-decoration: underline;
	color: var(--base-color01);

}

.txt_link_dl:hover{
	text-decoration: underline;
	color: var(--base-color01);
}


#takuhai .txt_link_dl{
	color: var(--pway-color03);

}

#takuhai .txt_link_dl:hover{
	text-decoration: underline;
	color: var(--pway-color03);
}



/*----------------------------*/
.sp_none {}
.tb_none {}
@media screen and (max-width: 768px) {
.tb_none {
	display: none;
	}
}
@media screen and (max-width: 599px) {
.sp_none {
	display: none;
	}
}
/*--------------------------------*/
.flex_txt_block{
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin: 30px auto 0 ;
}
.wd15{width: 15%;}
.wd20{width: 25%;}
.wd30{width: 30%;}
.wd40{width: 40%;}
.wd58{width: 58%;}
.wd68{width: 68%;}
.wd78{width: 73%;}
.wd88{width: 83%;}
@media only screen and (max-width: 767px) {
.wd20,
.wd30,
.wd40,
.wd58,
.wd68,
.wd78{width: 100%;
	}
}

.flex_txt_block dt{}
.flex_txt_block dd{
}
.flex_txt_block dd p{
	margin-top: 0 !important;
	line-height: 180%;
}

.flex_txt_block dt img{
	display:block;
	max-width: 100%;
	margin: 0px auto 10px;
	
}
.flex_txt_block.imgL dt{
	order: 1;
}
.flex_txt_block.imgL dd{
	order: 2;
	padding-left: 2rem;
}

.flex_txt_block.imgR dt{
	order: 2;
}
.flex_txt_block.imgR dd{
	order: 1;
	padding-right: 2rem;
}

@media only screen and (max-width: 767px) {
.flex_txt_block dt{
	margin-bottom: 10px;
	}
.flex_txt_block.imgL dd{
	padding-left: 0rem;
}	
.flex_txt_block.imgR dt{
	order: 1;
}
.flex_txt_block.imgR dd{
	order: 2;
	padding-right: 0rem;
}
	
}

/*--------------------------------*/
/***************************************
-------- img_title ---------
***************************************/
h2.img_title,
.page_wrap h2.img_title{
	padding-bottom: 0px;
	border-bottom: 0;
	font-size: 1.5rem;
	letter-spacing: 3px;
	display: block;
	width: 100%;
	max-width: 900px;
	margin: 0% auto 3%;
	height: 170px;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	margin-bottom: 15px;
	background-color: transparent;
}
#top_greeting h2.img_title{
	height: 170px;
	background-image: url("../img/index/greeting_title_img.png");
}
#items h2.img_title{
	height: 100px;
	background-image: url("../img/index/items_title_img.png");
}
#achievement h2.img_title{
	height: 100px;
	background-image: url("../img/index/achievement_title_img.png");
}
#trip_purchase h2.img_title{
	height: 150px;
	background-image: url("../img/index/purchase_title_img.png");
}

h2.img_title img{
	display: none;
}
@media screen and (max-width: 899px) {
#top_greeting h2.img_title{
	height: 130px;
}
#items h2.img_title{
	height: 80px;
}
#achievement h2.img_title{
	height: 80px;
}
#trip_purchase h2.img_title{
	height: 130px;
}
}

@media screen and (max-width: 768px) {
h2.img_title{
margin-bottom: 10px;
}
}


@media screen and (max-width: 599px) {
h2.img_title {
	padding-bottom: 0px;
	border-bottom: 0;
	letter-spacing: 0px;
	line-height: 140%;
	background: none;
	height: auto;
}
h2.img_title img{
	display: block;
	width: 96%;
	margin: 0 auto 0;
	filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.2));
}
#top_greeting h2.img_title img{
	filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.0));
	}
	
	
h2.img_title{
	background: none  !important;
	height: auto !important;
}
}

@media screen and (max-width: 479px) {
h2.img_title img{
	display: block;
	width: 100%;
	}
}


/*-------------------------------------------*/

h2.img_stitle{
	padding-bottom: 0px;
	border-bottom: 0;
	font-size: 1.5rem;
	display: block;
	width: 96%;
	max-width: 490px;
	margin: 0% auto 3%;
	margin-bottom: 20px !important;
	filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.2));
}

@media screen and (max-width: 599px) {

}

/*----------------------------------------*/
p.rmess,
.page_wrap p.rmess{
	display: block;
	width: 100%;
	font-size: 1.125rem !important;
	font-weight: 500;
	text-align: center !important;
	line-height: 160%;
	margin: 0 auto 2rem !important;
	border-top: 0px solid var(--base-color01);
	padding-top: 15px;
}

	p.rmess strong {
		font-size: 120% !important;
		color: var(--base-color01);
	}
@media screen and (min-width: 1025px) {
p.rmess {
	font-size: 1.125rem !important;
}

}
@media screen and (max-width: 767px) {
p.rmess,
.page_wrap p.rmess{
	font-size: 1rem !important;
	margin: 0rem auto 1.5rem;
	padding-top: 10px;
	line-height: 140%;
}
}
@media screen and (max-width: 599px) {
p.rmess,
.page_wrap p.rmess {
	font-size: 1rem !important;
	margin: 0rem auto 1.5rem !important;
	padding-top: 10px;
}
}



@media screen and (max-width: 479px) {
p.rmess {
	font-size: 1rem !important;
	}
}


/*----------------------------*/
p.mess_txt,
.page_wrap p.mess_txt{
	font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック", "Yu Gothic", sans-serif;
font-weight: bold;
	display: block;
	width: 100%;
	font-size: 1.5rem !important;
	text-align: center !important;
	line-height: 160%;
	margin: 0 auto 2rem !important;
	border-top: 0px solid var(--base-color01);
	padding-top: 15px;
}
p.mess_txt strong,
.page_wrap p.mess_txt strong {
		font-weight: inherit;
		font-size: inherit;
	}
@media screen and (min-width: 1025px) {
p.mess_txt {
	font-size: 1.75rem !important;
}

}
@media screen and (max-width: 767px) {
p.mess_txt,
.page_wrap p.mess_txt{
	font-size: 1.25rem !important;
	margin: 0rem auto 1.5rem;
	padding-top: 10px;
	line-height: 140%;
}
}
@media screen and (max-width: 599px) {
p.mess_txt,
.page_wrap p.mess_txt {
	font-size: 1.125rem !important;
	margin: 0rem auto 1.5rem !important;
	padding-top: 10px;
}
}



@media screen and (max-width: 479px) {
p.mess_txt {
	font-size: 1.125rem !important;
	}
}

/*----------------------------*/

p.mess_stxt,
.page_wrap p.mess_stxt{
	font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック", "Yu Gothic", sans-serif;
font-weight: bold;
	display: block;
	width: 100%;
	font-size: 1.25rem !important;
	text-align: center !important;
	line-height: 160%;
	margin: 0 auto 2rem !important;
	border-top: 0px solid var(--base-color01);
	padding-top: 15px;
}
p.mess_stxt strong,
.page_wrap p.mess_stxt strong {
		font-weight: inherit;
		font-size: inherit;
	}
@media screen and (min-width: 1025px) {
p.mess_stxt {
	font-size: 1.375rem !important;
}

}
@media screen and (max-width: 767px) {
p.mess_stxt,
.page_wrap p.mess_stxt{
	font-size: 1.125rem !important;
	margin: 0rem auto 1.5rem;
	padding-top: 10px;
	line-height: 140%;
	text-align: left !important;
}
}
@media screen and (max-width: 599px) {
p.mess_stxt,
.page_wrap p.mess_stxt {
	font-size: 1.125rem !important;
	margin: 0rem auto 1.5rem !important;
	padding-top: 10px;
}
}



@media screen and (max-width: 479px) {
p.mess_stxt {
	font-size: 1.125rem !important;
	}
}


.box_area p.mess_stxt {
	margin-bottom: 10px !important;
}




/*----------------------------*/


.mb0{
	margin-bottom: 0rem !important;
}

.mb5{
	margin-bottom: .5rem !important;
}

.mb10{
	margin-bottom: 1rem !important;
}
.mb15{
	margin-bottom: 1.5rem !important;
}

.mb20{
	margin-bottom: 2rem !important;
}

.mt0{
	margin-top: 0rem !important;
}

.mt5{
	margin-top: .5rem !important;
}

.mt10{
	margin-top: 1rem !important;
}

.mt20{
	margin-top: 2rem !important;
}

/*-------------------------------*/
.txt_center {
	text-align: center;
}
.txt_middle {
	font-size: 120%;
	font-weight: 500;
}




