@charset "utf-8";
/* CSS Document */
@font-face {font-family: 'noto-cjk-jp';
	src: url("../fonts/NotoSansCJK-VF.ttf");
}

html {
	height: -webkit-fill-available;
	box-sizing: border-box;
}


body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
img{width:100%;border:0;}
.clear{clear: both;}

/* -------------------------------
 　共通_フォントと見出し
---------------------------------*/

body{
	font-family: "noto-cjk-jp",sans-serif;
	font-weight: 400;
	-webkit-text-size-adjust:100%;
	overflow-x: hidden;
	overflow-y: scroll;
	color: #333333;
	font-size: 17px;
	background: #fff;
	width: 100%;
	letter-spacing: 0.1rem;
}

h1,h2,h3,h4,h5{
	font-size:100%;
	letter-spacing: 0.1rem;
	padding-bottom: 0;
}

p{
	overflow: hidden; 
	font-family: "noto-cjk-jp",sans-serif;
	font-weight: 500;
}

p span.font_red{
	color: #FF0033;
}

.font20 {
	font-size: 2.0rem;
}

.font15 {
	font-size: 1.5rem;
}	
	
.font11 {
	font-size: 1.1rem;
}

.font09 {
	font-size: 0.9rem;
}

.font08 {
	font-size: 0.8rem;
}

.font07 {
	font-size: 0.7rem;
}

.font05 {
	font-size: 0.5rem;
}

.fontD70000{
	color: #d70000;
}



/*---------link--------------*/

a {
	position: relative;
	text-decoration: none;
	cursor: pointer;
}

a:hover,p a:hover{
	color: #555555;
	text-decoration: none;
	transition: 0.2s;
	cursor: pointer;
}

a:hover img{
	opacity: 0.5;
	transition: 1.5s;
	cursor: pointer;
}
.active{
	font-color: rgba(35,24,21,0.3);
	text-decoration:none;
}

a:active, a:focus,input:active, input:focus{outline:0;}


/*-------------------------------
 g_wrap
-------------------------------*/
#g_wrap{
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

#g_wrap {
    position: relative;
    min-height: 100vh;
    background-size: contain;
    background-attachment: fixed;
    background-repeat: repeat-y;
    background-position: top center;
    z-index: 1;
}

/*#g_wrap.backGround  {
  background-image: url("../../images/header_bg_sp.png");
}*/

@media screen and (min-width:1025px){
	
#g_wrap {
    position: relative;
    min-height: 100vh;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: top center;
    z-index: 1;
}	
	
#g_wrap.backGround  {
  background-image: url("../../images/main_visual_bg_pc.png");
}
}
/*-------------------------------
 cont_wrap
-------------------------------*/
#cont_wrap{
	max-width: 750px;
	height: auto;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	z-index: 2;
	background-color: #fff6cf;
}


@media screen and (min-width:751px){
#cont_wrap{
	max-width: 1000px;
}
}

/*-------------------------------
  wrapper
-------------------------------*/

.wrapper{
	width: 100%;
	height: auto;
	padding: 3rem 2rem;
}

/*-------------------------------
  button
-------------------------------*/
.button{
    position: relative;
	overflow: hidden;
	text-decoration: none;
	display: inline-block;
	width: 98%;
	background-color: #f5863b;
	border-radius: 500px;
    text-align: center;
    outline: none;  
    transition: ease .2s;
}

.button_s{
    position: relative;
	overflow: hidden;
	text-decoration: none;
	display: inline-block;
	width: 100%;
	background-color: #f5863b;
	border-radius: 500px;
    text-align: center;
    outline: none;  
    transition: ease .2s;
	padding:7px 0 15px 0;
	z-index: 7;
}	

.outlineButton{
	/*padding: 25px 0;*/
	padding: 25px 0;
	border: solid 5px #FFFFFF;
	box-shadow: 3px 3px 10px 0px rgba(255,255,255,0.75) inset,-3px -3px 10px 0px rgba(0,0,0,0.75) inset;
}

.button span,.button_s span {
	position: relative;
	z-index: 10;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color:#333;
}

.button:hover span,.button_s:hover span{
	color:#fff;
}

.button span img,.button_s span img{
	/*width: 70%;*/
    width: 74%;
	margin: 0 auto 0 2rem;
}

@media screen and (min-width:751px){
footer > .floatingButtonWrap{
    max-width: 724px;
  }

footer > .floatingButtonWrap a:hover img{
		opacity: 0.8;
	}
	
.outlineButton{
    padding: 15px 0;	
	}
	
.button span img{
	width: 70.5%;
	margin: 0 auto;
}
.button_s span img{
	width: 80.5%;
	text-align: right;
}	
}

/*----------ボタン色変化 ブラウン----------*/

.bgskew_brown::before {
  content: '';
  position: absolute;
  top: 0;
  left: -150%;
    /*色や形状*/
  background: #ffc12d;
  width: 120%;
  height: 110%;
  transform: skewX(-25deg);
}

/*hoverした時のアニメーション*/
.bgskew_brown:hover::before {
  animation: skewanime .5s forwards;/*アニメーションの名前と速度を定義*/
	z-index: 1;
}

@keyframes skewanime {
  100% {
    left:-10%;/*画面の見えていない左から右へ移動する終了地点*/
  }
}


/*-------------------------------
  scroll_box
-------------------------------*/

.terms{
	margin: auto;
	background-color: #e07d2e;
	width: 100%;
	max-width: 800px;
	padding: 1rem 0;
	z-index: 3;
}

@media screen and (min-width:751px){
.terms{
	margin: auto;
	background-color: #e07d2e;
	width: 100%;
	max-width: 800px;
	padding: 1rem 0;
	z-index: 3;
}
}
	
.terms .inner{
  border: solid 1px #FFFFFF;
  border-radius: 30px;
  padding: 1% 3%;
  width: 97%;
  margin: auto;
	z-index: 10;
}

.scroll-content p.ttl{
  color: #FFFFFF;
  font-size: clamp(1rem, 0.92rem + 0.17vw, 1.125rem);
  margin-bottom: 10px;
}

@media screen and (max-width:750px){
.scroll-content p.ttl{
  font-size: clamp(0.78rem, 0.616rem + 0.82vw, 1rem);
}
}

.scroll-content p.text{
    color: #FFFFFF;
	font-size: clamp(0.781rem, 0.721rem + 0.13vw, 0.875rem);
	margin-bottom: 30px;
}

@media screen and (max-width:750px){
.scroll-content p.text{
	font-size: clamp(0.625rem, 0.532rem + 0.46vw, 0.75rem);
	line-height: clamp(1.125rem, 1.032rem + 0.47vw, 1.25rem);
}
}

.terms ul{
  margin-bottom: 20px;
}

.scroll-content ul li{
  color: #FFFFFF;
  font-size: clamp(0.781rem, 0.721rem + 0.13vw, 0.875rem);
}

@media screen and (max-width:750px){
.scroll-content ul li{
	font-size: clamp(0.625rem, 0.532rem + 0.46vw, 0.75rem);
	line-height: clamp(1.125rem, 1.032rem + 0.47vw, 1.25rem);
}
}

.simplebar-content{
  padding: 30px 20px 30px 10px !important;
}
.scroll-box {
  /* width: 100%;
  height: 450px;
  padding: 0 30px;
  padding-right: 50px;
  overflow-y: scroll; */
}
.scroll-content {
  width: 100%;
  height: 300px;
  padding: 30px 30px;
  padding-right: 45px;
  overflow-y: none;
	overflow-x: hidden;
  border: none;
}
/* .simplebar-content-wrapper {
  scrollbar-width: auto;
  -ms-overflow-style: auto;
}
.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  display: initial;
  width: initial;
  height: initial;
} */
.scroll-box::-webkit-scrollbar {
  background-color: #e07d2e;
  width: 10px; 
  height: 10px; 
}
.scroll-box::-webkit-scrollbar-thumb {
  /* background-color: #fff; */
  /* border-radius:30px;
  width: 50px;
  height: 50px; */
}
.simplebar-track {
  /* つまみの長さ */
  /* height: 100px;
  background: #fff;
  border-radius: 5px;
  max-width: 372px; */
}
.simplebar-scrollbar::before {
  background: #CCCCCC !important;
  opacity: 1;
  z-index: 100;
  height: 5rem;
  margin-top: 10px;
}
.simplebar-scrollbar.simplebar-visible:before {
  opacity: 1 !important;
  transition-duration: 0.2s;
}
.simplebar-track.simplebar-vertical {
  width: 15px !important;
  height: auto;
}
/* .simplebar-scrollbar {
  height: 10px;
  background: #fff;
  border-radius: 5px;
  top: 0;
} */


/*-------------------------------
  footer
-------------------------------*/
	
footer{
	background: #e07d2e;
	padding-top: 1rem;
	margin: auto;
	margin-top: -2px;
	text-align: center;
	position: relative;
	color: #FFFFFF;
}

.snsIcon{
	width: 55%;
	height: auto;
	margin: 0 auto;
	padding-bottom: 0.8rem;
	color: #fff;
	z-index: 3;
}

.snsIcon ul{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 41px;
	text-align: center;
}

.snsIcon ul li img{
	max-width: 72px;
	text-align: center;
}

@media screen and (min-width: 751px){
.snsIcon{
	width: 38%;
}

.snsIcon ul{
	grid-column-gap: 41px;
}
	
.snsIcon ul li img{
	max-width: 64px;
}	
}

@media screen and (max-width: 550px){
	footer{
	padding: 0rem;
}
	
	.snsIcon{
	width: 65%;
	padding: 0rem;	
}
	.snsIcon ul li img{
	max-width: 55px;
}	
}

footer > .infoWrap{
	width: 65%;
	padding: 3rem 0 1.5rem 0;
	margin: 0 auto;
	z-index: 5;
}

    .headline {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      box-sizing: border-box;
    }

    .dots {
      flex: 1;
      height: 8px;
      background-image: radial-gradient(circle, #ffffff 2px, transparent 0);
      background-repeat: repeat-x;
      background-size: 8px 10px;
      background-position: center;
    }

    .title {
      padding: 0 0.7rem;
      font-size: 1.4rem;
      white-space: nowrap;
		font-weight: bold;
    }

footer .ttl{
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 1.6rem;
}
footer .mail{
	font-size: 1.6rem;
	padding-top: 1rem;
}

footer .period{
  font-size: 1.2rem;
  padding-top: 1rem;
}

footer .day{
  font-size: 1rem;
	padding-bottom: 1.6rem;
}

footer .caution{
  font-size: 0.9rem;
	line-height: 1.4rem;
}

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

footer > .infoWrap{
	width: 83%;
	padding: 1.5rem 0;
}	

footer .ttl{
  font-size: 1.4rem;
	padding:1.5rem 0 0.2rem 0;;
	margin: 0;
}	
	
.title {
	font-size: 1rem;
}	
	
footer .mail{
	color: #FFFFFF;
	font-size: 0.8rem;
	padding-top: 0.3rem;
}

footer .period{
	font-size: 0.8rem;
	padding-top: 0;
}
		
footer .day{
	font-size: 0.8rem;
	padding-top: 0;
	padding-bottom: 0.3rem;
}	
	
footer .caution{
  width: 88%;
  font-size: 0.7rem;
  margin: 0 auto;
	margin-top: -1rem;
}
}

#copyrightWrap{
	width: 85%;
	margin: 0 auto;
	padding: 3rem 0;
}

#copyrightWrap p{
	font-size: 0.8rem;
	color: #FFFFFF;
	text-align: center;
}

@media screen and (max-width: 550px){
#copyrightWrap{
	width: 82%;
}

#copyrightWrap p{
	font-size: 0.6rem;
	line-height: 1rem;
}
}


/*-------------------------------
改行とインデント
-------------------------------*/

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

.css_br::before {
	content: "\A" ;
	white-space: pre ;
}
}

@media only screen and (min-width: 481px) {
.css-br_l::before {
  content:"\A";
  white-space: pre-wrap;
}

}

@media only screen and (max-width: 959px) {
.css-br_a::after {
  content:"\A";
  white-space: pre;
}
}
@media only screen and (max-width: 550px) {
.css-br_a::after {
  content:"\A";
  white-space: pre;
}
	
.css-br_b::before {
  content:"\A";
  white-space: pre;
}
}

/*-------------------------------
   none
-------------------------------*/

.logo b,
li b,
li a b,
h1 b,
h2 b,
h3 b,
h4 b,
p b{
	display:none;
}
	
/*-------------------------------
clear fix
-------------------------------*/
/* for modern brouser */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
/* IE7,MacIE5 */
.clearfix {
  display: inline-block;
}
/* WinIE6 below, Exclude MacIE5 \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}	
