@charset "UTF-8";
span.green {color:#008000;}
span.vermilion   {color:#ef454a;}
span.orange   {color:#FF6633;}
span.emerald   {color:#30a980;}
span.skyblue   {color:#00bfff;}
span.pink   {color:#ffc0cb;}
span.brown   {color:#8b4513;}
span.blue   {color:#0000ff;}

/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}


/*================================================
 *  基本
 ================================================*/
html {
   height: 100%;
}

body {
   font-family:"Hiragino Kaku Gothic Pro",HiraKakuPro-W3,"ヒラギノ角ゴ Pro W3","メイリオ", Meiryo,"ＭＳ Ｐゴシック",verdana,sans-serif;
   color:#333;
   width:100%;
   background-color:#fff;
        -webkit-text-size-adjust: 100%;
}

br {
   letter-spacing:normal;
}

a {
   color:#000;
   text-decoration:none;
}

a:hover {
   color:#FF4F02;
   text-decoration:underline;
}

img {
        max-width: 100%; 
        height:auto;
	vertical-align:bottom;
}

h1,h2,h3,h4,h5,h6 {
   margin:0;
}

h2,h3 {
	font-size: 28px;
	line-height: 40px;
	color: #333333;
	margin-bottom: 20px;
	padding-top: 5px;
	padding-bottom: 5px;
	position: relative;
	display: block;
}

h2 a.more,h3 a.more {
	font-size: 14px;
        font-weight:bold;
        font-family:"Hiragino Kaku Gothic Pro",HiraKakuPro-W3,"ヒラギノ角ゴ Pro W3","メイリオ", Meiryo,"ＭＳ Ｐゴシック",verdana,sans-serif;
	line-height: 20px;
        border-left:1px solid rgb(75,75,75);
        text-align:left;
	text-decoration: none;
	display: block;
	width: 60px;
	position: absolute;
	top: 20px;
	right: 0px;
	letter-spacing: 0px;
	padding-left: 10px;
	padding-right: 10px;
	color: rgb(75,75,75);
}

h2 a.more::after,h3 a.more::after {
        content: url(../img/MORE.png);
        position: absolute;
        right: 10px;
        top: 58%;
        display: inline-block;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        transition: all 0.2s;
}

h2 a.more:hover::after,h3 a.more:hover::after {
        right: 6px;
}

h4 {
	font-size: 20px;
	line-height: 30px;
	color: #333333;
	padding-top: 5px;
	padding-bottom: 5px;
	position: relative;
	display: block;
}

section,
article {
	display: block;
}

.space {clear:both;}

.mincho {font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;}
.pop {font-family: "HG創英角ﾎﾟｯﾌﾟ体";}
.maru-gothic{font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }


/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 870px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

/* ========TEMPLATE LAYOUT======== */
.img_Link_wrap{
        width:100%;
        overflow:hidden;
}

.catch{
        position:relative;
        float:left;
        width:33.3%;
}

.catch p{
        position:absolute;
        color:#fff;
        font-size:1.5em;
        top:50%;
        left:50%;
        -ms-transform: translate(-50%,-50%);
        -webkit-transform: translate(-50%,-50%);
        transform:translate(-50%,-50%);
        margin:0;
        padding:0;

}

.catch p:hover{border-bottom:1px solid #fff;}

.catch p:hover::after {
	font-size: 16px;
	display: block;
	width: 10px;
	line-height: 25px;
	position: absolute;
	top: 0;
	right: -20px;
	content:'≫';
}

.img_Link img{
        width:100%;
        height:auto;
        margin:0;
        padding:0;
        float:left;
}

.chiba_back{
        background-image:url(../img/chiba.png);
	background-repeat: no-repeat;
        width:100%;
        background-size:contain;
        background-position:center center;
        overflow:hidden;
}

.content {
	width: 100%;
        overflow:hidden;
	margin-right: auto;
	margin-left: auto;
}

.content h2{
        font-size:48px;
        width:100%;
        line-height:30px;
        text-align:center;
}

.title{
        width:600px;
        margin:30px auto;
        padding:40px 0 0 0;
        border-top:2px solid #000;
        border-bottom:2px solid #000;
}


.content h2 .subtitle {
    font-size: 0.3em;
    font-weight: bold;
}

.content .news h3 {
        font-size:22px;
        text-align:center;
        color:#444;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #666;
}

.content .news ul li {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #B5A57B;
	font-size: 14px;
        color:#444;
}
.content .news ul li a {
	font-size: 14px;
        color:#444;
	text-decoration: none;
	letter-spacing: 1px;
}

.content .news ul li a:hover {
        color:#444;
	text-decoration: underline;
}

.news ul li span {
        font-size:16px;
        font-family: 'Lato', sans-serif !important;
        margin-right:50px;
        margin-left:10px;
}


.content h3 {
        text-align:left;
}

.news_wrap {
        background:#EEEEEE;
        width:100%;
        margin-top:20px;
        padding-top:10px;
        padding-bottom:10px;
        position:relative;

}

.btn_s {
        position:absolute;
        white-space:nowrap;
        margin-bottom:30px;
        left:50%;
          -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.btn_s a {
        position:relative;
	padding: 0.6em 50px;
	font-size: 14px;
        font-weight:bold;
	border: 1px solid #444;
	text-decoration: none;
	line-height: 16px;
	color: #444;
}

.btn_s:hover a:after {
        right: 18px;
}

.btn_s a:after {
        content: url(../img/right_arrow.png);
        position: absolute;
        right: 24px;
        top: 52.6%;
        display: inline-block;
        width: 16px;
        height: auto;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        transition: all 0.3s;
}


.cont_inner{
        width:96%;
        max-width:980px;
        margin: 0 auto;
	padding-top: 20px;
	padding-bottom: 30px;
}

.cont_inner_L{
        width:96%;
        max-width:1080px;
        margin: 0 auto;
	padding-top: 30px;
	padding-bottom: 30px;
}

.step_bg {
	background-color: #E9FFA5;
        overflow:hidden;
        width;100%;
	background-image: url(../img/bg_light.png);
	background-repeat: no-repeat;
	background-size: cover;
 	margin: 0 -100vw;
 	padding:20px 100vw 10px;
}

.step_bg .wa{
        margin: 15px auto 10px;
        width:500px;
}

.step_bg h3{
        font-size:22px;
        text-align:center;
        margin:0 auto;
        max-width:1080px;
　　　　overflow:hidden;
        border-top:2px dashed green;
        border-bottom:2px dashed green;
}

.step_bg p{
        width:96%;
        max-width:1080px;
        margin:0 auto;
        line-height:30px;
        font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
        


.step3 {
        width:100%;;
        max-width:1080px;
        margin:0 auto;
	overflow:hidden;
        text-align:center;
}

.step3 ul {
	overflow:hidden;
	margin:2% auto; 
        text-align:center;
}
.step3 li {
        display:inline-block;
	list-style:none;
	float:left;
        height:300px;
        background:#fff;
	width:30%;
        margin:0 2.5% 2.5% 2.5%;
        overflow:hidden;
}

.step3 li p{
        width:90%;
        font-size:14px;
        font-weight:normal;
        text-align:left;
        line-height:18px;
        margin:0 5%;
        overflow:hidden;
}

.step3 li a{
        font-family:"Hiragino Kaku Gothic Pro",HiraKakuPro-W3,"ヒラギノ角ゴ Pro W3","メイリオ", Meiryo,"ＭＳ Ｐゴシック",verdana,sans-serif;
        font-weight:normal;
        display:inline-block;
        font-size:14px;
        width:90%;
        margin:10px 5% 0;
        text-align:left;
        color:#000066;
        text-decoration:underline;
}

.step3 li p a{
        width:auto;
        margin:0 3% 0;
}

.step3 li a:hover{
       color:orange;
}

.step3 li:nth-child(2n) {
	margin:0 0 2.5% 0;;
}

.step3 li:nth-child(3n+1) {
	clear:both;
}

.guide h3 {
  position: relative;
  padding: 0.25em 0.5em;
  border-left: solid 2em green;
  border-bottom:2px solid green
}

.guide h3::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  padding: 0em;
  color: white;
  left: -1.45em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

h3.flag::before{
  content: "\f11e";
}

h3.coin::before{
  content: "\f51e";
}

h3.user::before{
  content: "\f007";
}

h3.gift_box::before{
  content: "\f06b";
}

h3.exchange::before{
  content: "\f362";
}

h3.repo::before{
  content: "\f27a";
}

.guide h4 {
        padding-left:20px;
}

.guide p {
        padding-left:40px;
        line-height:25px;
}

.guide p a{
        color:#000088;
}

.d_arrow,.dl_arrow{
        position:relative;
        white-space:nowrap;
        padding-right:26px;
}
.d_arrow::after {
        font-family: "Font Awesome 5 Free";
	font-size: 16px;
	display: block;
	width: 16px;
	line-height: 20px;
	position: absolute;
	top: 1px;
	right: 5px;
        font-weight:900;
	content:'\f13a';
}

.dl_arrow::after {
        font-family: "Font Awesome 5 Free";
	font-size: 16px;
	display: block;
	width: 16px;
	line-height: 20px;
	position: absolute;
	top: 1px;
	right: 5px;
        font-weight:900;
	content:'\f56d';
}

.about {
        width:100%;
        height:auto;
        position:relative;
        padding-bottom:10px;
        border-bottom:1px solid #666;
        margin-bottom:20px;
}

.about:last-child {
        border-bottom:none;
        margin-bottom:0;
}


.facility h3 {
  position: relative;
  background: #fff;
  padding: 0.25em 0.5em;
  border-left: solid 2em green;
  border-bottom:2px solid green
}

.facility h3:before {
  font-family: "Font Awesome 5 Free";
  content: "\f1ad";
  font-weight:900;
  position: absolute;
  padding: 0em;
  color: white;
  font-weight: normal;
  left: -1.40em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.about h4 {
        font-size:18px;
        font-weight:bold;
        text-align:center;
        border-top:2px dashed #666;
        border-bottom:2px dashed #666;
}

.about .prf_img {
        width: 28%;
        height: auto;
        float:left;
        margin:10px 2% 0 2%;
    }

.about .prf_img img{
        width:100%;
        margin: 10px 0 10px 0;
}

.half_box {
        margin:10px 0 0 0;
        padding: 0;
        text-align:center;
        background:#fff;
        position:relative;
        overflow:hidden;
        display:inline-block;
}

table.community{
        table-layout: fixed;
        margin: 0 auto;
        margin-bottom:45px;
        border-collapse: separate;
        border-spacing: 0px 10px;
        width:100%;
        overflow:hidden;
        font-size:12px;
}

table.community th,
table.community td {
        font-size:16px;
        padding: 5px 10px;
        text-align:left;
}

table.community th{
        background: #555;
        vertical-align: middle;
        text-align: left;
        width: 100px;
        min-width: 100px;
        overflow: visible;
        position: relative;
        color: #fff;
        font-weight: normal;
        font-size: 15px;
}

table.community th:after {
        left: 100%;
        top: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        border-color: rgba(136, 183, 213, 0);
        border-left-color: #555;
        border-width: 10px;
        margin-top: -10px;
}
/* firefox */
@-moz-document url-prefix() {
table.community th::after {
        float: right;
        padding: 0;
        left: 30px;
        top: 10px;
        content: " ";
        height: 0;
        width: 0;
        position: relative;
        pointer-events: none;
        border: 10px solid transparent;
        border-left: #555 10px solid;
        margin-top: -10px;
}
}

table.community td {
        background: #f8f8f8;
        min-width:600px;
        overflow:hidden;
        padding-left: 20px;
        line-height:26px;
}

.w_64 {
        width:64%;
        height:auto;
        padding:0 2%;
        float:right;
}

.hp_Link {
        font-size:12px;
        padding:10px 28px 10px 10px;
        position:absolute;
        bottom:15px;
        right:20px;
        border:2px solid #295890;
        color: #295890;
}
        
.hp_Link::after {
	font-size: 16px;
	display: block;
	width: 10px;
	line-height: 32px;
	position: absolute;
	top: 0;
	right: 10px;
	content:'≫';
}

/* ========JOIN/GIFT_PAGE CUSTOMIZE======== */

.join_bg {
	background-color: #E9FFA5;
        overflow:hidden;
        width;100%;
	background-image: url(../img/bg_light.png);
	background-repeat: no-repeat;
	background-size: cover;
 	margin: 0 -100vw;
 	padding:0 100vw 10px;
}

.boxes{
    float:right;
    width:74%;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    margin:0;
    padding:0
    justify-content:space-around;
}

.boxes a:hover{
    text-decoration:none;
    color:#000;
}

@keyframes zoom-in {
  0% {
   transform: scale(.1);
  }
  100% {
    transform: none;
  }
}

@keyframes rotate-right {
  0% {
    transform: translate(-100%) rotate(-100deg);
  }
  100% {
    transform: none;
  }
}

.is-animated {
  animation: .6s zoom-in;
  // animation: .6s rotate-right; 
}


.left_box{
        float:left;
        width:25%;
        min-height:800px;
}         

.cta {
        width:96%;
        margin-left:2%;
        margin-right:2%;
        height:auto;
        background:#222;
        border-radius:5px;
        padding: 5px 0;
}

.cta a{
        background:#222;
        border-bottom:1px solid #333;
        text-decoration:none;
        font-size:12px;
        line-height:50px;
        color:#fff;
        text-align:left;
        padding-left:7%;
        width:93%;
        display:block;
}
.cta a:last-child{
       border-bottom:none;
}
        
.cta a:hover{
       background:#333;
}

.filter a {
        position:relative;
}

.left_box .filter a.active:before{
        content:'';
        position:absolute;
        left:0;
        top:0;
        display:block;
        width:0;
        height:0;
        border-style:solid;
        border-width:15px 15px 0 0;
        border-color: #999 transparent transparent transparent;
}


.Room_guide {
        width:48%;
        height:auto;
        margin:3px 1% 33px 1%;
        overflow:hidden;
        background:#fff;
        text-align:center;
        padding:0 0 0 0;
        position:relative;
}

.Room_guide:hover {
        border:3px solid #669900;
        margin-right:calc(1% - 3px);
        margin-left:calc(1% - 3px);
        margin-top:0;
        margin-bottom:30px;
}


.Room_guide .scale {
        position:relative;
        z-index:101;
        display:block;
        width: 100%;
        height: auto;
        overflow:hidden;
}

.Room_guide .scale img{transition-duration: 0.3s;
}

.Room_guide img:hover {
       -webkit-transform: scale(1.2);
       -moz-transform: scale(1.2);
       -o-transform: scale(1.2);
       -ms-transform: scale(1.2);
       transform: scale(1.2);
}


.box {
        display:inline-block;
        width:100%;
        min-height:240px;
        margin:0;
        padding: 5px 10px 30px 0;
        text-align:center;
        position:relative;
}

.Room_guide:hover::before {
      position: absolute;
      content: '';
      display: block;
      z-index: 100;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: rgba(12, 29, 203, 0.1);
}

.name {
        display:block;
        color:#333;
        width:92%;
        text-align:center;
        line-height:1.5;
        font-size:16px;
        font-weight:bold;
        margin:10px 2% -5px 2%;
        padding: 0;
}

.box table{
	width:98%;
	padding:0 1%;
	margin:0 auto;
}

.box tr {
       display:block;
       text-align:left;
       width:96%;
       font-size:14px;
       margin:0 2% 5px 2%;
       padding:0;
}

.box th{
  position: relative;
  width:60px;
  padding: 6px ;
  background: #333;
  font-size: 13px;
  color: white;
}

.box td{
  font-size: 13px;
  line-height:1.4;
  padding:5px;
}

/* ========CONTACT_PAGE CUSTOMIZE======== */

#contact .guide h3 {
  position: relative;
  padding: 0.25em 0.5em;
  background:#EEEEEE;
  border-left: solid 2em #6B8E23;
  border-bottom:none;
}

h3.plane::before{
  content: "\f1d8";
}


#contact .guide h3::before {
  left: -1.5em;
}

.red{
  color:red;
}

ul.tellist  {
  padding: 0.7em 1em 0.5em 2.3em;
  position: relative;
}

ul.tellist  li {
  line-height: 1.5;
  font-size:0.9em;
  padding: 0.2em;
  list-style-type: none!important;
}

ul.tellist  li:before {
  
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f138";/*アイコンの種類*/
  position: absolute;
  left : 1em;/*左端からのアイコンまでの距離*/
}

#formWrap {margin-bottom:50px; width:100%;}

.report{
  line-height:1.5em; 
}

table.formTable {width:100%;}

table.formTable th, table.formTable td {padding:1em 1em; border:1px solid #dcdcdc;}

table.formTable th {background:#eeeeee; vertical-align:middle; font-weight:bold; width:30%;}

table.formTable td {width:70%;}

input[type="submit"], input[type="reset"], input[type="button"] {
  margin: 20px 10px 0 10px;
}

.blank { height: 26px; }

table.formTable th .red{
  font-weight:bold;
}

input[type="text"] { width: 300px; }

textarea{ width:500px;}

input#submit_button {
    padding: 10px 40px;
    border-radius:2em;
    font-size: 1.1em;
    font-weight:bold;
    background-color: #222;
    color: #fff;
    cursor:pointer;
    border-style: none;
}

input#submit_button:hover {
    opacity:0.9;
}

/* ========REPORT CUSTOMIZE======== */
.repo_wrap {
        width:100%;
        height:auto;
        box-sizing:border-box;
        padding:3%;
        margin:0 0 33px;
        border:1px solid #666;
}
.repo_wrap p,.con-detail p {
        padding:1em;
}

#report h4 {
        font-family:"ＭＳ ゴシック",sans-serif;
        color:	#4682B4;
        font-size:30px;
        font-weight:bold;
        padding-bottom:10px;
        border-bottom:1px solid #444;
}

#report h4 a{
        color:	#4682B4;
}

#report h4 a:hover{
        text-decoration:none;
        opacity:0.8;
}

#report h4 span{
        display:inline-block;
        margin-top:14px;
}

.date {
        font-family:"Hiragino Kaku Gothic Pro",HiraKakuPro-W3,"ヒラギノ角ゴ Pro W3","メイリオ", Meiryo,"ＭＳ Ｐゴシック",verdana,sans-serif;
        font-size:16px;
        color:#444;
}

.photo {
        display:block;
        margin:1em 0;
        max-width:400px;
        max-height:400px;
}

.photo_s {
        display:inline-block;
        margin:1em 0;
        max-width:200px;
        max-height:200px;
}

#report .cont_inner{
	padding-top: 5px;
}

.pager {
    clear:both;
    margin:30px 0;
    text-align:center;
}
 
.pager span {
    margin:5px;
    padding:5px 8px;
    color:#222;
    background:transparent;
    border:1px solid #222;
}
.pager span:hover {
    cursor:pointer;
    color:#fff;
    background:#222;
}
 
.pager span.current {
    color:#fff;
    background:none;
    background:#222;
}

.pager span.current:hover {
    cursor:default;
}
 
.pager span.invalid {
    color:#222;
    background:none;
    border:none;
}

.pager span.invalid:hover {
    cursor:default;
}
 
.pager span.ellipsis {
    color:#fff;
    background:none;
    border:0px;
    background:#222;
}
.pager span.ellipsis:hover {
    cursor:default;
}


.con-detail{
    margin:20px 2em 0;
    padding:2em;
    border-bottom:1px solid #888;
}

.back{
    text-align:center;
    margin:40px 0;
}

.back a{
    padding:1em 3em;
    border:1px solid #444;
    display:inline-block;
    transition: all 0.3s;
}

.back a:hover{
    padding:1em 4em;
    background:#00AA00;
    border:1px solid #00AA00;
    color:#fff;
    text-decoration:none;
}


/* ========HEADER CUSTOMIZE======== */

header {
	position:relative;
        z-index:3;
        height:0;
        background-size:contain;
	background-repeat: no-repeat;
}

#top header{
        padding-top:41.66%;
        background-image:url(../img/top2.png);
}

#top1 header{
        padding-top:31.40%;
        background-image:url(../img/top.png);
}


#join header{
        padding-top:31.40%;
        background-image:url(../img/join.png);
}

#gift header{
        padding-top:31.40%;
        background-image:url(../img/gift.png);
}

#report header{
        padding-top:31.40%;
        background-image:url(../img/report.png);
}

#contact header{
        padding-top:31.40%;
        background-image:url(../img/contact.png);
}

header .h_inner {
        z-index:100;
	position:absolute;
	width:100%;
        height;100px;
        top:5px;
        right:0;
        padding:0;
}

.gnav.nav_fixed {
	position: fixed;
	top: 5px;
}

.logo{
        margin-left:10px;
        z-index:100;
        height:80px;
	position:absolute;
	top:5px;
	left:0;
	vertical-align:top;
	display:inline;
}

.nav_fixed .circle_btn{
        border:1px solid rgba(0,0,0,0.2);
        background: rgba(255,255,255,0.8);
}

.circle_btn {
  display: inline-block;
  text-decoration: none;
  background: #fff;
  width: 80px;
  height: 80px;
  line-height: 80px;
  border-radius: 50%;
  text-align: center;
  vertical-align: middle;
  overflow: hidden;
  transition: 1.0s;
}

.circle_btn:hover {
	color:#fff;
        background: #00CC00;
transform: rotate(360deg);
  -webkit-transform: rotate(360deg);
  -moz-transform: rotate(360deg);
  transition: transform 0.2s ease-out;
  -webkit-transition: -webkit-transform 0.2s ease-out;
  -moz-transition: -moz-transform 0.2s ease-out;
}

/* ========TOPICPATH CUSTOMIZE======== */
#topicPath {
   padding:5px 0;
}

/*================================================
 *  グローバルナビゲーション
 ================================================*/
#top nav{margin-top:5px;}

@media screen and (min-width:871px) {
nav {
        z-index:100;
        width:100%;
	position:absolute;
	top:0;
	left:0;
	vertical-align:top;
	display:inline;
}
nav img{padding-bottom:3px;}

/* 共通 */
nav ul {
        width:500px;
        right:0;
	margin:0;
	padding:5px 20px 0 0;
        position:absolute;
}

nav ul li {
	position:relative;
	margin:0;
	padding:0;
	list-style:none;
        white-space: nowrap;
}

nav ul li a {
	display:block;
	margin:0;
	padding: 0;
	color:#666;
	font-size:14px;
	font-weight:bold;
	line-height:1.3;
	text-decoration:none;
}

nav ul li:hover > a {
	position:relative;
	text-decoration:none;
}


/* 1段目 */
nav ul.gnav > li {
	position:relative;
	width:20%;
	float:left;
	padding:0;
	text-align:center;
	list-style:none;
}
nav ul.gnav > li.subnav > a:after {
	position:absolute;
	content:"";
	top:20px;
	width:0;
	height:0;
	margin-left:10px;
	border:5px solid transparent;
	border-top-color:#fff;
}

.gnav {display:block !important;}

.fixed {
	position:fixed;
	top:0;
	left:0;
}
}
/*================================================
 *  フェードイン設定
 ================================================*/
.fadein {
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha( opacity=0 )";
    transform : translate(0, 30px);
    transition:all 1.0s;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
	-webkit-transform: translate(0, 0);  
    -moz-transform: translate(0, 0); 
	-webkit-transition: 1.0s ease-out;
	-moz-transition: 1.0s ease-out;
	transition: 1.0s ease-out;
}
.fadein.d02 {
	transition-delay:0.2s;
	-webkit-transition-delay:0.2s;
}
.fadein.d04 {
	transition-delay:0.5s;
	-webkit-transition-delay:0.5s;
}
.fadein.d06 {
	transition-delay:0.8s;
	-webkit-transition-delay:0.8s;
}
.fadein.d08 {
	transition-delay:1.1s;
	-webkit-transition-delay:1.1s;
}

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

.fadein.d02,.fadein.d04,.fadein.d06,.fadein.d08 {
	transition-delay:0s;
	-webkit-transition-delay:0s;
}
}


/* 各SNSボタン全体 */
.flowbtn5{
	font-family:'Arial',sans-serif;	
	border-radius: 8px;		
	position:relative;
	display:inline-block;
	width:40px;
	height:40px;
	font-size:20px;
	color:#fff!important;
	text-decoration:none;
	margin-bottom:10px;
}


/*================================================
 *  SNSボタンカスタマイズ
 ================================================*/
/* 各SNSボタン全体 */
.flowbtn5{
	font-family:'Arial',sans-serif;	
	border-radius: 8px;		
	position:relative;
	display:inline-block;
	width:40px;
	height:40px;
	font-size:20px;
	color:#fff!important;
	text-decoration:none;
	margin-bottom:10px;
}

/* アイコンを真ん中に*/
	.flowbtn5 i,.flowbtn5 img {
	position:absolute;
	top:50%;
	left:50%;
	-ms-transform:translate(-50%,-50%);
	-webkit-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
}
/* Twitter */
.fl_tw5{background:#55acee;}
/* Facebook */
.fl_fb5{ background:#3b5998; font-size:25px;}
/* YouTube */
.fl_yu5 {background:#fc0d1c;}
/* YouTube */
.fl_rs5 {background:#FF8C00;}

/* アイコンボタン下テキスト調整 */
.flowbtn5 div{
	font-size:8px;
	color:#666;
	font-weight:bold;	
	position:relative;
	top:40px;
}

/* アイコンボタンにマウスホバーした時の指定*/
.flowbtn5:hover{
	-webkit-transform:translateY(-5px);
	-ms-transform:translateY(-5px);
	transform:translateY(-5px);
	text-decoration:none;
}
/* ulタグの内側余白を０にする */
ul.snsbtn{
	padding:0!important;
        max-width:220px;
	margin-left : auto ;
	margin-right : auto ;
}
ul.snsbtn.i2{ width:140px;}

/* アイコンボタン全体の位置 */
.snsbtn{
	display:flex;
	flex-flow:row wrap;
	justify-content:space-around;
}
/* アイコンボタン同士の余白調整 */
.snsbtn li{
	flex:0 0 0;
	text-align:center!important;
	list-style:none;
        margin-left:0;
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
	position:fixed;
	bottom:20px;
	right:20px;
}
.totop a {
	display:block;
	text-decoration:none;
}
.totop img {
	background:rgba(0,0,0,0.8);
}
.totop img:hover {background:rgba(0,0,0,0.9);}

/* ========MAINCONTENTS CUSTOMIZE======== */
.slides p {
	width:0;
	white-space:nowrap;
	overflow:hidden;
	animation:wider 22s ease infinite;
}
.slides p:nth-of-type(1) {
	background-image:linear-gradient(to right,#fc0,#f33);
}
.slides p:nth-of-type(2) {
	background-image:linear-gradient(to right,#ccf,#33f);
	animation-delay:-1s;
}
.slides p:nth-of-type(3) {
	background-image:linear-gradient(to right,#cfc,#3f3);
	animation-delay:7s;
}
.slides p:nth-of-type(4) {
	background-image:linear-gradient(to right,#cfc,#3f3);
	animation-delay:15s;
}

@keyframes wider {
	0% {width:0;}
	5%,30% {width:100%;}
	45%,100% {width:0;}
}

.crossfade p {
	width:100%;
	opacity:0;
	animation:crossfade 22s ease infinite;
}
@keyframes crossfade {
        0%{
		opacity:0;
	}
	20.83%{
		opacity:1;
	}
	33.33%{
		opacity:1;
	}
	45.83%{
		opacity:0;
	}
	100%{
		opacity:0;
	}
	}

.abs {
	position:relative;
}
.abs p:nth-of-type(n+2) {
	position:absolute;
	top:0;
	left:0;
}

.slider{
position:relative;
overflow:hidden;
background-color:#000;
}
.slider img {
z-index:1;
width:100%;
}
.slider img:nth-of-type(n+2){
z-index:10;
opacity:0;
position:absolute;
top:0;
left:0;
-webkit-animation:overwrap 15s ease infinite;
-moz-animation:overwrap 15s ease infinite;
animation:overwrap 15s ease infinite;
}
.slider img:nth-of-type(1) {
 
}
.slider img:nth-of-type(2) {
 
	animation-delay:5s;
	-webkit-animation-delay:5s;
        -moz-animation-delay:5s;
}
.slider img:nth-of-type(3) {
 
	animation-delay:10s;
	-webkit-animation-delay: 10s;
        -moz-animation-delay:10s;
}
@-webkit-keyframes overwrap {
    0%  {opacity:0;}
    5%,100% {opacity:1;}
	
}
@-moz-keyframes overwrap {
    0%  {opacity:0;}
    5%,100% {opacity:1;}
	
}
@keyframes overwrap {
    0%  {opacity:0;}
    5%,100% {opacity:1;}
	
}

/* ========FOOTER CUSTOMIZE======== */
footer {
	clear:both;
	background:#2e2e2e;
}

.footmenu {
	width:100%;
	padding:10px 0 0 0;
	overflow:hidden;
        color:#fff;
}
.footmenu ul {
	position:relative;
	float:left;
	left:50%;
	margin:0;
	padding:0;
}
.footmenu li {
	position:relative;
	left:-50%;
	float:left;
	list-style:none;
	margin: 5px;
	padding:0 10px;
	font-size:12px;
        line-height:2em;
	text-align:center;
        font-weight:bold;
}

.footmenu a {color:#fff;}
.footmenu a:hover {
        background:#fff;
	color:#222;
	text-decoration:none;
}
.footmenu a:hover li {
        background:#fff;
        border-radius:1em;
}

.copyright {
	clear:both;
	padding:10px 0;
	font-size:11px;
	text-align:center;
        line-height:1.5;
	color:#efede9;
	background:#2e2e2e;
}


/* ========ハンバーガーメニュー======== */
.navwrap{
        position: absolute;
        z-index:9999;
        top:5px;
        right:0;
        width:50px;
        height:40px;
        margin-right:5px;
        padding-top:10px;
        background:rgba(255,255,255,0.8);
        cursor: pointer;
        border-radius:3px;
}

.navwrap.nav_fixed{
	position: fixed;
	top: 5px;
}

#nav-drawer {
  position: relative;
  text-align:center;
        cursor: pointer;
}
@media screen and (min-width:871px) {
.navwrap,#nav-drawer {
    display:none;
  }
}
/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 35px;
  height: 40px;
  vertical-align: middle;
        cursor: pointer;
}

#nav-open::after {
	font-size: 10px;
	display: block;
	position: absolute;
	bottom: 5px;
	left: 7px;
        font-weight:bold;
	content:'メニュー';
}


/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;/*線の太さ*/
  width: 35px;/*長さ*/
  border-radius: 3px;
  background: #666;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;/*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;/*全体に広がるように*/
  right: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;/*最前面に*/
  width: 90%;/*左側に隙間を作る（閉じるカバーを表示）*/
  max-width: 240px;/*最大幅（調整してください）*/
  height: 100%;
  cursor:default;
  background: rgba(255,255,255,0.9);/*背景色*/
  transition: .3s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateX(105%);
  transform: translateX(105%);/*右に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
  display: block;/*カバーを表示*/
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);/*中身を表示（左へスライド）*/
  transform: translateZ(200px);/*右に隠しておく*/
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}



	#nav-content ul{
		display: block;
		width: 90%;
		height: 350px;
		position: absolute;
		top: 0px;
		right: 0px;
		left: 0px;
		margin: auto;
	}
	#nav-content ul a li{
                padding:20px 0;
		margin: -1px auto 0 auto;
		text-align: left;
                border-top:1px solid #006598;
                border-bottom:1px solid #006598;
	}
	#nav-content ul li {
                border:none;
}
	#nav-content ul li img{
                width:100px;
                text-align:center;
                margin-bottom:20px;
}

	#nav-content ul a li{
		display: block; 
		color: #006598;
	}

	#nav-content ul a:hover{
		text-decoration: none; 
                background:rgba(255,255,255,1);)
	}

	#nav-content ul a li:hover{
                background:rgba(245,245,245,0.9);)
	}

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

.content h2{
        font-size:32px;
        width:100%;
        line-height:20px;
        text-align:center;
}

.title{
        width:90%;
        margin:20px auto;
        padding:30px 0 0 0;
        border-top:2px solid #000;
        border-bottom:2px solid #000;
}
.content h2 .subtitle {
    font-size: 0.4em;
    font-weight: bold;
}

#top .content h2{
        margin-bottom:5px;
}

#top .title{
        padding:10px 0 0 0;
        border-top:none;
}


#top .content h2 .subtitle {
    font-size: 0.4em;
    font-weight: bold;
}

h2 a.more,h3 a.more {
        top:14px;
}


h3 {
	font-size: 18px;
	margin-bottom: 10px;
	padding-top: 3px;
	padding-bottom: 3px;
}

h4 {
	font-size: 16px;
	line-height: 25px;
}

.news_wrap {
        margin-top:10px;
        padding-top:0;

}

.news ul li span {
        display:block;
        font-size:16px;
        font-family: 'Lato', sans-serif !important;
        margin-right:0;
        margin-left:0;
        margin-bottom:5px;
}

header {
        background-size:contain;
	background-repeat: no-repeat;
        width:100%;
}


#top header,#top1 header {
        padding-top:58.5%;
        background-image:url(../img/top_sp.png);
}

#join header {
        padding-top:47.2%;
        background-image:url(../img/join_sp.png);
}

#gift header {
        padding-top:47.2%;
        background-image:url(../img/gift_sp.png);
}

#report header {
        padding-top:47.2%;
        background-image:url(../img/report_sp.png);
}

#contact header {
        padding-top:47.2%;
        background-image:url(../img/contact_sp.png);
}

.logo{
        margin-left:3px;
	top:0;
        left:0;
        height:55px;
}

nav {
        display:none;
}


.content .news h3 {
        font-size:16px;
        font-weight:normal;
        text-align:left;
}

.news {
	padding: 0 2%;
}


.content .news ul li a {
	font-size: 14px;
}

.btn_s {
        margin-top:10px;
}



.cont_inner{
	padding-top: 10px;
	padding-bottom: 10px;
}

.cont_inner_L{
	padding-top: 10px;
	padding-bottom: 10px;
}

.step_bg {
        width;100%;
 	padding:10px 100vw 10px;
}

.step_bg .wa{
        margin: 15px auto 10px;
        width:500px;
}

.step_bg h3{
        font-size:16px;
        text-align:center;
        width:98%;
}

.step_bg p{
        width:96%;
        font-size:14px;
        font-weight:normal;
        margin:0 auto;
        line-height:20px;
}
        


.step3 {
        width:98%;
        margin:0 auto;
	overflow:hidden;
        text-align:center;
}

.step3 ul {
	overflow:hidden;
	margin:2% auto; 
        text-align:center;
}
.step3 li {
        display:block;
	float:none;
        height:auto;
	width:98%;
        max-width:400px;
        padding-bottom:20px;
        margin:10px auto;
}

.step_img {
       width:100%;
       display:block;
}

.step3 li:nth-child(2n) {
	margin:5px auto;
}


.guide h4 {
        font-weight:normal;
        padding-left:5px;
}

.guide p {
        font-size:14px;
        padding-left:5px;
        line-height:20px;
}

.guide p a{
        color:#000088;
}

.d_arrow::after,.dl_arrow::after {
	font-size: 14px;
	width: 16px;
	line-height: 16px;
	top: 0;
}
.facility h3{
        margin-bottom:20px;
}

.about h4 {
        font-size:18px;
        font-weight:bold;
        text-align:center;
        border-top:2px dashed #666;
        border-bottom:2px dashed #666;
}

.about .prf_img {
        width: 96%;
        height: auto;
        float:none;
        margin:10px 2% 0 2%;
    }

.about .prf_img img{
        width:100%;
        margin: 10px 0 10px 0;
}
table.community{ border-spacing: 0px 5px; width:100%; overflow:hidden;}
table.community th,.half_box table td {font-size:12px;}
table.community th:first-child,.half_box table td:first-child {width:48px;}
table.community{margin-bottom:40px;}
table.community th{width:48px; min-width:48px;}
table.community td{min-width:700px; overflow:hidden;}


.w_64 {
        width:96%;
        height:auto;
        padding:0 2%;
        float:none;
}

.hp_Link {
        bottom:10px;
}

.left_box{
        clear:both;
        width:92%;
        margin:2% 2% 3%;
        padding:0 2%;
        min-height:0;
}         

.cta {
        width:96%;
        margin-left:2%;
        margin-right:2%;
        margin-bottom:10px;
        height:auto;
        background:#222;
        border-radius:5px;
        padding: 5px 0;
}

.boxes{
       clear:both;
       width:100%;
}

.name {
        font-size:14px;
        margin:5px 2% -5px 2%;
}

.box tr {
       display:block;
       text-align:left;
       width:96%;
       font-size:10px;
       margin:0 2% 5px 2%;
       padding:0;
}

.box th{
  position: relative;
  width:60px;
  padding: 5px 6px ;
  background: #333;
  font-size: 13px;
  color: white;
}

.box td{
  font-size: 13px;
  line-height:1.1;
  padding:5px 10px;
}

/* ========SP_CONTACT_PAGE CUSTOMIZE======== */

#contact .guide h3 {
  line-height:1.5em;
  padding: 0.25em 0.5em;
}

.red{
  font-size:0.9em;
  line-height:1.4em;
}

#formWrap {margin-bottom:50px; width:100%;}

table.formTable {width:100%;}

table.formTable th, table.formTable td {padding:0.8em 2%; box-sizing:border-box;}

table.formTable th {display:block; width:100%; box-sizing:border-box;}

table.formTable td {display:block; width:100%; box-sizing:border-box;}

table.formTable th .red{
  font-size:1em;
  font-weight:normal;
}

input[type="text"] { width: 90%; max-width:300px; }

textarea{ width:96%; max-width:500px;}

.report{
  font-size:0.9em; 
}

.footmenu li {
	list-style:none;
	margin: 0;
	padding:0 10px;
}



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

.Room_guide {
        width:98%;
        max-width:460px;
        margin:3px auto 33px auto;
}

.Room_guide:hover {
        margin-right:auto;
        margin-left:auto;
        margin-top:0;
        margin-bottom:30px;
}

/* ========REPORT CUSTOMIZE======== */
.repo_wrap {
        margin:0 0 18px;
}

.repo_wrap p,.con-detail p {
        padding:0.5em;
}

#report h4 {
        font-size:18px;
        padding-bottom:10px;
}

#report h4 span{
        margin-top:6px;
}

.date {
        font-size:12px;
}

.photo {
        max-width:100%;
        max-height:300px;
}

.photo_s {
        max-width:100%;
        max-height:150px;
}

.con-detail{
    margin:10px 1% 0;
    padding:2%;
}


}

