@charset "utf-8";

/* common
---------------------------------------------------- */

body {
}

a:hover{opacity: .8}

img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    width: 100%;
}

.wrapper_s {max-width:1200px;}
.wrapper {max-width:1400px;}
.wrapper_w {max-width:1600px;}
.wrapper_z {max-width:none;}

.wrapper_s,.wrapper,.wrapper_w,.wrapper_z{
	width:100%;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
}

.wrapper_pop_cap {
	width:100%;
	max-width:730px;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
}

main {
    background: #F6F4F0;
    padding-bottom: 2%;
    margin-top: 100px;
}

@media screen and (max-width: 768px) {
main {margin-top: 100px;}
}

ul.btn {
	width:50%;
	margin:3% auto;
}


@media screen and (max-width: 1600px) {
.wrapper_b {
	width:95%;
}
}
@media screen and (max-width: 1280px) {
.wrapper {
	width:95%;
}

article {
	margin-top:120px;
}

}

@media screen and (max-width: 980px) {
.wrapper_s {
	width:95%;
}
    
.wrapper_pop_cap {
	width:90%;
}      
    
article {
	margin-top:170px;
}
}

@media screen and (max-width: 768px) {    
.wrapper,
.wrapper_s {
	width:98%;
}
article {
	padding-bottom:10%;
    margin-top: 25%;
}
.main {margin-top: 5rem;}    
    
}

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

.main .cap {
	font-weight:8px;
}
article {
    margin-top: 120px;
}
}

/* header
---------------------------------------------------- */

header {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    position: fixed;
    z-index: 9999 !important;
    top: 0;
    left: 0;
    background: #F6F4F0;
    align-items: center;
}

@-moz-document url-prefix() {
    header {background: rgba(255,255,255, .7)}
}

.header_inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    
}

.header_inner .logo a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}


.header_inner .logo a p img {
    width: 100%;
    height: 30px;
    margin: 0 10px 0 0;
}

.burger_icon {display: none;}

.header_inner .headerlink_aria {
    display: flex;
    align-items: center;
    margin-top: -2px;
    box-shadow: 3px 3px 5px rgba(0,0,0, .2);
}

.header_inner .headerlink_aria ul {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    list-style: none;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    background: #fff;
}

.header_inner .headerlink_aria ul li {
    position: relative;
    display: flex;
    font-size: 1.3rem;
    font-weight: 300;
    margin: 0 1px 0 0;
}


.header_inner .headerlink_aria ul li a {
    color: #000;
    font-size: 1.5rem;
    font-weight: 400;
}
.header_inner .headerlink_aria ul li p {margin: 0 20px;}
 

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

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

}

/* （HEAD）来場・資料請求ボタン
---------------------------------------------------- */

.formlink ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    max-width: 1100px;
    margin: auto;
}

.formlink ul li {
    margin: 1rem;
    width: 100%;
    max-width: 500px;
    border: 1px solid 666;
    box-shadow: 5px 5px 0px #ccc;
    transition: .3s;
}
F
.request a, .reserve a {
    color: #fff!important;
}

.header_inner .headerlink_aria {
    font-size: 1.5rem;
    line-height: 1.3;
    padding: .3rem 0rem;
    margin: 0;
    letter-spacing: 2px;
    font-weight: 400;
}

.header_inner .headerlink_aria ruby {
    display: block;
    font-size: 1rem;
    text-align: center;
    letter-spacing: 0;
}

/*.menu-trigger {display: none;}*/

.standby {
    position: absolute;
    top:50%;
    bottom: 50%;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 2rem;
    font-weight: 700;
}
    
header {
    height: 100px;
    position: fixed;
    width: 100%;
}
   
.header_inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    width: 100%;
}    
    

.header_inner .logo a {font-size: 3vw;}    
.header_inner .logo a img {
    width: 100%;
    margin: 0 10px 0 0;
    /* height: 25px; */
    max-width: 394px;
    display: block;
}

@media screen and (max-width: 768px) {
.header_inner .logo a img {width: 91%;}     
}
    
/* （HEAD）ハンバーガーボタン
---------------------------------------------------- */    
    
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  box-sizing: border-box;
}
.menu-trigger {
    position: relative;
    width: 50px;
    height: 25px;
    background: none;
    border: none;
    appearance: none;
    cursor: pointer;
    top: -7px;
    right: 0;
}

.menu-trigger:focus:not(:focus-visible) {
  outline: none;
}
.menu-trigger::before,
.menu-trigger::after {
  content: '';
}
.menu-trigger::before,
.menu-trigger::after,
.menu-trigger span {
  position: absolute;
  width: 100%;
  height: 4px;
  background: #333;
  border-radius: 4px;
  transform-origin: 50% 50%;
  transition: .2s;
}
.menu-trigger::before {
  top: 10px;
  left: 0;
  transform: rotate(45deg) scaleX(0);
}
.menu-trigger::after {
  top: 10px;
  right: 0;
  transform: rotate(-45deg) scaleX(0);
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
  left: 0;
  transition-delay: .2s;
}
.menu-trigger span:nth-of-type(2) {
  top: 11px;
  left: 0;
  transition-delay: .2s;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
  left: 0;
  transition-delay: .2s;
}
.menu-trigger.active::before {
  transform: rotate(45deg) scaleX(1);
  transition-delay: .2s;
}
.menu-trigger.active::after {
  transform: rotate(-45deg) scaleX(1);
  transition-delay: .2s;
}
.menu-trigger.active span {
  transform: scaleX(0);
  transition-delay: 0s;
}
.menu-trigger p {
    position: absolute;
    left: 0;
    bottom: -20px !important;
    color: #333 !important;
    font-size: 0.8rem;
    width: 100%;
    text-align: center;
} 
.headerlink_aria {display: none!important;}  

.menu-trigger figure {
    margin: 3rem auto 0;
}

@media screen and (min-width: 480px){
.burger_icon span {
    position: absolute;
    left: 40%;
    width: 20%;
    height: 2px;
    background-color: #333;
}
}


/* グローバルナビ
---------------------------------------------------- */

nav {
    position: fixed;
    width: 100%;
    left: 0;
    top: 100px;
    margin: auto;
    height: 0;
    opacity: 0;
    background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(246,244,240,1) 100%);
    transition: all .5s;
}

nav ul {
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: .5rem 0 !important;
}

nav li {
    width: calc(100% / 7 - 12px);
    position: relative;
    box-sizing: border-box;
    margin: 6px;
    padding: 0;
    text-align: center;
    line-height: 1;
    transition: all .5s;
}

@media screen and (max-width: 1020px){
nav li { width: 30%;}
}    
   

@media screen and (max-width: 768px){
nav li { width: 46%;}
}    
  
nav li:nth-child(even) {border-right: none;}  


nav li:hover {
    transition: all .5s;
}

/*nav li:first-child {border-left: 1px solid rgba(255,255,255, .5);}*/

nav li a {
    min-width: 110px;
    text-decoration: none;
    letter-spacing: 2px;
    padding: 1.6rem 0;
    position: relative;
    text-align: center;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    letter-spacing: 0;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1;
    border: none;
    margin: auto;
    display: none;
}

nav li button{
    position: relative;
    text-align: center;
    font-size: 1.3rem;
    border: none;
    margin: auto;
    line-height: 1.5;
}     

nav li a, nav li button {
    letter-spacing: .2vw;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1;
    margin-bottom: 0;
    color: #000;
    text-shadow: 0 0 3px #9f9f9f;
    margin: 1px;
}

nav li a ruby {
    display: block;
    font-size: .8rem;
    letter-spacing: 1;
    font-weight: 500;
    line-height: 1.5;
    width: 100%;
    margin: 0 auto 6px;
    text-align: center;
} 

nav li.off a {
    pointer-events: none;
    font-weight: 300;
    opacity: .2;
}

nav .active {
    margin: -1px;
    border-image: #fff;
    border-image-slice: 0 0 2 0;
    border-bottom: none;
    pointer-events: none;
    background: #cad9e3;
    
}

nav li a.new::after {
    position: absolute;
    left: 0;
    top: -9px;
    content: "NEW";
    background-color: #d40000;
    color: #fff;
    padding: 0.1rem 0.1rem 0.1rem 0.3rem;
    font-size: .9rem;
    font-weight: 400;
}

.header_inner {padding: 0 1rem;}   

nav.open {
    display: block;
    transform: translateZ(0);
    opacity: 0;
    animation: nav_open .7s 0s forwards;
    transition: all .5s;
}
    
@keyframes nav_open {
    from {transform:translateY(0);opacity: 0; height: 0}
    to{transform:translateY(1);opacity: 1; height: auto} 
}

nav.close {
    animation: nav_close 0.5s 0s forwards;
}
    
@keyframes nav_close {
    from {transform:translateY(1);opacity: 1; height: auto;}
    to {transform:translateY(0);opacity: 0; height: 0;}
} 

nav li:nth-of-type(4) a {letter-spacing: 0}
    
@media screen and (max-width: 1020px) {
nav li a, nav li button {font-size: 2vw;}
}

@media screen and (max-width: 768px) {
nav li a, nav li button {font-size: 3vw;}
}

   
        
.menu-trigger.active {
    background: none;
    border: none;
} 
    
nav li a.new::before {top: 40px;}
nav li a.new::after {top: 0;}    


@media screen and (max-width: 480px) {
nav {top: 6rem;}
}


.navi_c2:hover,
.navi_c2 a {
    /*background: #edebe5;*/
    transition: all .5s;
    color: #000;
}
/*.navi_c2 a.active {background:#fffdf5; transition: all .5s}*/

.navi_c3 a {
    background: #c7ad7f;
    transition: all .5s;
    color: #fff;
}
.navi_c3:hover{background:#c98c50; transition: all .5s}

@media screen and (max-width: 1020px) {
.navi_c3 {width: 60%;}
}

@media screen and (max-width: 768px) {
.navi_c3 {width: 93%;}
}

nav li::before, nav li::after,
nav li span::before,
nav li span::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #666;
}
nav li::before {
  right: 0;
  top: 0;
  height: 1px;
  width: 0%;
  transition: width 300ms;
}
nav li::after {
  right: 0;
  top: 0;
  height: 0%;
  width: 1px;
  transition: height 300ms;
}
nav li span::before {
  left: 0;
  bottom: 0;
  height: 1px;
  width: 0%;
  transition: width 300ms;
}
nav li span::after {
  left: 0;
  bottom: 0;
  height: 0%;
  width: 1px;
  transition: height 300ms;
}
nav li:hover::before {
  width: 100%;
}
nav li:hover::after {
  height: 100%;
}
nav li:hover span::before {
  width: 100%;
}
nav li:hover span::after {
  height: 100%;
}

.off:hover::before {
  width: 0%;
}
.off:hover::after {
  height: 0%;
}
.off:hover span::before {
  width: 0%;
}
.off:hover span::after {
  height: 0%;
}

.res_gnavi1{display: none}

@media screen and (max-width: 1300px) {
.res_gnavi1{display: block}
}
@media screen and (max-width: 1020px) {
.res_gnavi1{display: none}
}

/* nav改修 */
@media screen and (min-width: 769px){
	main {
		margin-top: 200px;
	}
	.menu-trigger {
		display: none;
	}
	nav {
		opacity: 1;
	}
	nav ul {
		background: #fff;
	}
	nav li {
		width: calc(100% / 5 - 12px);
	}
	nav li a {
		padding: 1em 0;
		display: block;
	}
	nav .nav_top {
		display: none;
	}
	nav .nav_request {
		width: 250px;
		position: fixed;
		top: 8px;
		right: 0;
	}
	nav .nav_request a {
		padding: .8em 0;
	}
	nav .navi_map {
		width: 250px;
		position: fixed;
		top: 8px;
		right: 260px;
		box-shadow: inset 0 0 1px #000;
	}
	nav .navi_map a {
		background: #fff;
		padding: .8em 0;
	}
	.header_inner .logo {
		max-width: calc(100% - 250px - 250px - 20px);
	}
}
@media screen and (max-width: 768px) {
	nav .navi_map {
		display: none;
	}
}

/* パンくず
---------------------------------------------------- */

.wrapper_breadcrumb {
	width: 100%;
	max-width: 980px;
	margin: 0 auto 100px;
}

@media screen and (max-width: 768px) {
	.wrapper_breadcrumb {
		margin-bottom:10%;
		padding: 0 10px;
	}
}
.breadcrumb {
	list-style: none;
	max-width: 1170px;
	margin: 0 auto 50px;
    padding: 10px 30px;
    font-size: 12px;
    /*float: left;*/
}
.breadcrumb  li {
    display: inline-block;
}
.breadcrumb li::after {
	content: '>';
	padding: 0 1em;
}    
.breadcrumb li:last-child::after {
	content: none;
}

/* レイアウト
---------------------------------------------------- */

.col2 li{width: calc(100%/2)}
.col3 li{width: calc(100%/3)}
.col4 li{width: calc(100%/4)}

@media screen and (max-width: 768px) {
.col4 {flex-wrap: wrap}    
.col4 li{width: calc(100%/2)}     
}

@media screen and (max-width: 480px) {
.col2,.col3{flex-wrap: wrap}
.col2 li,.col3 li,.col4 li{width: 100%}     
}

.merit {
    width: 96%;
    max-width: 1200px;
    margin: 2vw auto;
    padding: 2rem;
}

@media screen and (max-width: 768px) {
.merit {max-width: 400px;}
}

/* footer
---------------------------------------------------- */

.contact {
    padding: 35px 0;
    background: #e7e7e7;
}

.contact .ttl-main, .contact .en {
    color: #0669a7 !important;
    font-size: 3rem;
}
.contact p {
    margin: 0;
    color: #0669a7;
    font-weight: 400;
    font-size: 2rem;
    text-align: center;
}

@media screen and (max-width: 480px) {  
.contact p {font-size: 5vw;}
}

.contact-list {
    max-width: 950px;
    margin: 4rem auto 3rem;
    display: flex;
    justify-content: center;
}
.contact-list > li {
    width: calc(100%/2 - 2vw);
    margin: 0 8px;
}

@media screen and (max-width: 768px) {   
.contact-list {
    flex-wrap: wrap;
    margin: 3rem auto 0rem;
}
.contact-list > li {
    width: 90%;
    margin: 0 auto 2rem;
}    
}

.contact-list > li:first-child {
    background: #ab6e00;
    border: 1px solid rgba(10, 39, 84, 0.2);
}

.contact-list > li:last-child {
    background: #fff;
    border: 1px solid rgba(10, 39, 84, 0.2);
}

.contact a.btn, .contact a.btn-action, .contact a.btn-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0A2754;
    text-align: center;
    font-weight: bold;
}

.contact a.btn-submit {
    color: #fff;
}

.contact a.btn, .contact a.btn-action, .contact a.btn-submit {
    height: 64px;
    font-size: 2rem;
    border-radius: -2px;
    /* width: 100%; */
}

@media screen and (max-width: 480px) {
.contact a.btn, .contact a.btn-action, .contact a.btn-submit { width: 84vw;}
}

.contact svg {
    margin: 0 8px 0 0;
    width: 24px;
    height: 24px;
    fill: #0A2754;
}

.contact svg:not(:root) {
    overflow: hidden;
}

.contact a.btn-submit svg {
    fill: #fff;
}

.contact a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
}

footer h2 {
    margin: 0% auto 0%;
    font-size: 3.2rem;
    font-weight: 400;
    letter-spacing: 1.1rem;
    text-align: center;
}

footer {padding:0;}
footer .bnr_aria {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

footer .bnr_aria li{padding: 1rem;}
footer .cap{
    padding: 1.5rem 0;
    letter-spacing: 0.1em;
}

footer .company_data{
    width: 100%;
    margin-top: 0px;
    z-index: 999;
}

footer .company_data ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: auto;   
    padding: 2rem 0;
}

footer #footer_bnr {border-bottom: 3px solid #ccc;}

footer .company_data li {padding: 1rem 3rem;}
footer .company_data li img {width: 100%;}
footer .company_data li:first-child {max-width: 730px;}
footer .company_data li:nth-child(2){max-width: 550px;}
footer .company_data li:last-child {max-width: 540px;}
footer .company_data li:last-child figure {
    display: flex;
    justify-content: center;
    align-items: center;
}

footer .company_data li:last-child figure figcaption {min-width: 50px;}   
    
@media screen and (min-width: 769px) {
footer .company_data li:last-child a {pointer-events: none}
}

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

footer .company_data {
    width: 100%;
    margin: 0 auto 2rem;
}      

footer .company_data ul {width: 87%;}
footer .company_data li {padding:1.5rem 1rem; max-width: 96%}
footer .company_data li:first-child img {max-width: 75%;}
}

footer p small {
    text-align: center;
    font-size: 10px;
    width: 100%;
    display: block;
    font-weight: normal;
    letter-spacing: 0.1em;
    padding: 6px 0;
    color: #666;
    margin: 20px auto;
}

footer .f_menu{
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #b8b8b8;
	border-bottom-color: #b8b8b8;
	padding:10px;
}
footer .f_menu ul{overflow: hidden;}
footer .f_menu li a{
	width:11.1111%;
	float:left;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #b8b8b8;
    display: block;
    text-align: center;
    text-decoration: none;
    font-size: 12px;
    line-height: 30px;
}
footer .f_menu li p{
	width:11.1111%;
	float:left;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #b8b8b8;
    display: block;
    text-align: center;
    text-decoration: none;
    font-size: 12px;
    line-height: 30px;
    color: #999999;
}

footer .f_menu li:first-child a{border-left-width: 0px;}
footer .f_menu li:first-child p{border-left-width: 0px;}
footer .f_menu li a:hover{
    color: #d00251;
    text-decoration: underline;
}

@media screen and (max-width: 768px) {   
.tel_aria{width: 100%}
.link_aria {width: 90%;}
}     

.bottomfix{display: none}

@media screen and (max-width: 768px) {    
    
.bottomfix {
    z-index: 9999;
    display: block;
    width: 100%;
    height: auto;
    position: fixed;
    bottom: 0;
} 

.bottomfix div {
    background-color: #fff;
} 
 
.bottomfix ul {
    display: flex;
    justify-content: space-evenly;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    background: #0669a7;
}

.bottomfix li {
    font-size: .8rem;
    padding: 10px 0;
    border-right: 1px solid #fff;
    text-align: center;
    width: 100%;
}  

.bottomfix li p {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 5px;
	height: 2.4em;
	line-height: 1.2;
	text-align: center;
}
    
.bottomfix li a {
    color: #fff!important;
    width: 100%;
}

.bottomfix li i {
    font-size: 2rem;
    text-align: center;
}    
 
.fa, .far, .fas {
    font-weight: 900;
    font-size: 2rem;
}       
}

@media screen and (max-width: 768px) {
footer {padding:0;}
footer .cap{padding-bottom:4%;}
footer .yokoku{padding-bottom:4%;}
footer .yokoku span{
	width:100%;
	float:none;
}
footer .yokoku em{
	width:100%;
	float:none;
	display:block;
	padding:5px;
	margin-bottom:10px;
}
}

.link_aria a p{
    font-size: 12px;
    font-weight: 500;
    padding-bottom: .5rem;
    text-align: center;
    }    
    
.link_aria a p span {color: #999}

.tel_aria a p {text-align: center}        
.tel_aria a p:first-of-type {
    font-size: 12px;
    font-weight: 500;
    padding: 0;
}   
.tel_aria a p:nth-of-type(2){
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4.5rem;
    line-height: 1.1;
    white-space:nowrap
    }
.tel_aria a p:nth-of-type(3) {
    font-size: 10px;
    padding: 0;
} 
.tel_aria a p:nth-of-type(2) img{
    display: block;
    width: 15%;
    margin: 0;
    }
    
@media screen and (max-width: 1300px) {
.link_aria a p{font-size: 1vw;}    
.tel_aria a p:first-of-type {font-size: 1vw;}      
.tel_aria a p:nth-of-type(2){font-size: 6vw;}
.tel_aria a p:nth-of-type(3){font-size: 1vw;}  
}
   
@media screen and (max-width: 768px) {
.link_aria a p{font-size: 2vw;} 
.tel_aria a p:first-of-type {font-size: 2vw;}      
.tel_aria a p:nth-of-type(2){font-size: 8vw;}
.tel_aria a p:nth-of-type(3){font-size: 2vw;}  
}
    
@media screen and (max-width: 480px) {
.link_aria a p{font-size: 2.5vw;} 
.tel_aria a p:first-of-type {font-size: 2.5vw;}      
.tel_aria a p:nth-of-type(2){font-size: 11vw;}
.tel_aria a p:nth-of-type(3){font-size: 2.5vw;}  
}  

/* sp_menu
---------------------------------------------------- */
#sp_menu {
	display:none;
	z-index:999991;
}

#sp_list {
	display:none;
	z-index:999999;
}

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

#sp_menu {
	position:fixed;
	top:0;
	width:100%;
	display:block;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #f7f4f1;
}
#sp_menu  #sp_logo{
	width:82.8125%;
	float:left;
	background-color:#FFFFFF;
}

#sp_menu  #icon_list{
	width:17.1875%;
	float:right;
	background-color:#f7f4f1;
	cursor:pointer;
}

#sp_list {
	position:fixed;
	top:0;
	width:100%;
	height:100%;
	padding:3% 0;
    background: rgba(0,0,0,0.9);
}

#sp_list #sp_close{
	width:50px;
	float:right;
	padding:10px;
	cursor:pointer;
	margin-bottom:10px;
}

#sp_list ul#contents_menu_sp ul{
	clear:both;
}

#sp_list ul#contents_menu_sp li{
	width:50%;
	float:left;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #595959;
}

#sp_list ul#contents_menu_sp li.l1,
#sp_list ul#contents_menu_sp li.l2{
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #595959;
}

#sp_list ul#contents_menu_sp li.l1,
#sp_list ul#contents_menu_sp li.l3,
#sp_list ul#contents_menu_sp li.l5,
#sp_list ul#contents_menu_sp li.l7,
#sp_list ul#contents_menu_sp li.l9,
#sp_list ul#contents_menu_sp li.l11{
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #595959;
}

#sp_list ul#contents_menu_sp li a{
	display:block;
	width:100%;
	padding:15px 0;
}

#sp_list ul#contents_menu_sp li img{width:150px;}


}


/* sp_menu
---------------------------------------------------- */

.Menu {
  position: fixed;
  right: 0;
  top: 0;
  z-index:999;
	background-color:#fff;
  width:100%;
}

.Menu .logo{
	max-width:380px;
	margin:0 auto;
	padding:20px 0;
}
.Menu__nav {
  width:100%;
	display: flex;
	flex-direction: row;
}
li.Menu__nav__item {
	box-sizing:border-box;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-top-color: #3b424f;
	border-right-color: #3b424f;
	border-bottom-color: #3b424f;
}

li.Menu__nav__item:last-child{
	border-right:none;
}

li.Menu__nav__item a, li.Menu__nav__item img {
	width: 100%;
}/*ここ消す*/

.Menu__list {
	position:fixed;
	top:0;
	width:100%;
	height:100vh;
	z-index:999;
	display:none;
	background-color:rgba(0,0,0,0.9);
}

.Menu__list__back {
	position:relative;
	width:100%;
	height:100vh;
}


.Menu__list ul{
	padding:100px 0 0 0;
	position:absolute;
	top:0;
	width:100%;
	overflow:hidden;
}

.Menu__list ul li a{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #d00251;
	line-height:50px;
	font-size:14px;
	color:#FFFFFF;
	text-decoration:none;
	width:42%;
	margin-left:5%;
	text-align:center;
	float:left;
}


.Menu__list ul li p{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #3a3a3a;
	line-height:50px;
	font-size:14px;
	color:#3a3a3a;
	width:42%;
	margin-left:5%;
	text-align:center;
	float:left;
}

.Menu__list .Menu__list__close{
	position:absolute;
	top:20px;
	right:20px;
	width:25px;
	height:25px;
	z-index:999;
}

.Menu__list .Menu__list__close a {
	display: inline-block;
	width: 25px;
	height: 25px;
}

.Menu__list .Menu__list__close a img {
	width: 100%;
	height: 100%;
}

.calendar {
    max-width: 900px;
    margin: 0 auto 40px;
    /* display: none; */
}
.calendar h3 {
    background-color: #d00251;
    color: #ffffff;
    text-align: center;
    font-size: 18px;
    font-weight: normal;
    padding: 10px 0;
    margin-bottom: 10px;
}
.calendar .txt {
    text-align: center;
    font-size: 14px;
    margin-bottom: 10px;
}
.calendar .txt i {
    font-size: 16px;
    vertical-align: middle;
}
.calendar table {
    border-left: solid 1px #333333;
    border-top: solid 1px #333333;
    width: 100%;
    margin-bottom: 5px;
    border-collapse: collapse;
    border-spacing: 0;
}
.calendar table tr {
}
.calendar table th, .calendar table td {
    vertical-align: middle;
    padding: 3px 0;
    border: solid 1px #d0d0d0;
    font-size: 20px;
    width: 12.5%;
    text-align: center;
    background-color: #ffffff;
}
.calendar table th {line-height: 1;padding: 5px 0;}
.calendar table th small{
	font-size: 14px;
}
.calendar table th.sun {
    color: #bc4937;
}
.calendar table th.sat {
    color: #0041a3;
}
.calendar table td {
    font-size: 22px;
    /* padding: 0px 0 5px; */
    background-color: #ffffff;
    color: #333333;
}
.calendar table td:first-child {
    font-size:18px;
}
.calendar table td i {
    vertical-align: text-bottom;
    line-height: 1;
    font-size: 18px;
}
.calendar table td.close {
    background-color: #e7e7e7;
    color: #333333;
}
.calendar table td.full {
    background-color: #e2e2e2;
    font-size: 18px;
}
.calendar table td.full i {
    color: #000000;
}
.calendar table td a i{
    text-decoration:underline;
}
.calendar table td.little a i {
    color: #2367c6;
}
.calendar table td.able a i{
    color: #bc4937;
}

@media screen and (max-width: 768px) {
	.calendar {
			max-width: 900px;
			margin: 0 auto 40px;
			/* display: none; */
	}
	.calendar h3 {
			font-size: 18px;
	}
	.calendar .txt {
			margin-bottom: 5px;
	}
	.calendar .txt i {
			font-size: 16px;
			vertical-align: middle;
	}
	.calendar table {
			border-left: solid 1px #333333;
			border-top: solid 1px #333333;
			width: 100%;
			margin-bottom: 5px;
	}
	.calendar table tr {
	}
	.calendar table th, .calendar table td {
			vertical-align: middle;
			padding: 3px 0;
			font-size: 20px;
			width: 12.5%;
			text-align: center;
	}
	.calendar table th {line-height: 1;padding: 5px 0;}
	.calendar table th small{
		font-size: 10px;
	}
	.calendar table th.sun {
			color: #bc4937;
	}
	.calendar table th.sat {
			color: #0041a3;
	}
	.calendar table td {
			font-size: 22px;
			/* padding: 0px 0 5px; */
			background-color: #ffffff;
	}
	.calendar table td:first-child {
			font-size: 12px;
	}
	.calendar table td i {
			line-height: 1;
			font-size: 18px;
	}
	.calendar table td.close {
			background-color: #e7e7e7;
			color: #333333;
	}
	.calendar table td.full {
			font-size: 14px;
	}
	.calendar table td.full i {
			color: #000000;
	}
	.calendar table td a i{
	}
	.calendar table td.little a i {
			color: #2367c6;
	}
	.calendar table td.able a i{
	}
}


/* フォームボタンエフェクト
---------------------------------------------------- */
.shiny-btn1 {
    display: block;
    position: relative;
    overflow: hidden;
}
.shiny-btn1:hover {
    text-decoration: none;
}
.shiny-btn1::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn1 3s ease-in-out infinite;
}
@-webkit-keyframes shiny-btn1 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

/* フォント色
-----------------------------------------------*/
.f_white {color: #fff!important;}

/* topに戻るボタン
---------------------------------------------------- */
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 1rem;
  bottom: 4rem;
  background: #000;
  opacity: 0.4;
  border-radius: 50%;
	z-index: 9999;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -13px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

@media screen and (max-width: 768px) {
    
#page_top{
  bottom: 80px;
}   
}

/* スクロールフェードイン
----------------------------------*/

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

.anime-fadein {opacity: 0;} 
.fadeInDown {
    animation-name: fadeInDown;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}
@keyframes fadeInDown {
    0% {
        opacity: 0;         
    }
    100% {
    opacity: 1;
    transform: translate(0);
    }
}
 
/*2.上下の動きを指定*/
.updown {transform: translateY(-50px);}
.downup {transform: translateY(50px);}
 
/*3.左右の動きを指定*/
.sect02{overflow: hidden;} /*横スクロールバーを隠す*/
.slide-right {transform: translateX(200px);}
.slide-left {transform: translateX(-50px);}
    
}

/* 横スクロールアイコン */

@media screen and (max-width: 768px) {
.sidescroll {
    position: absolute;
    top: 35vh;
    width: 21%;
    max-width: 200px;
    opacity: 0;
}
.sidescroll_show{animation: side_scroll 1.5s 0s forwards ease-in-out;}    
@keyframes side_scroll{
    0%{opacity: 0; transform: translateX(50%); display: block;}
    50%{opacity: 1; display: block;}
    100%{opacity: 0; transform: translateX(-50%); display: none;}
}  
}

/* エフェクト
--------------------------------*/

body {
  margin:0;
}

.bg {
    animation: slide 3s ease-in-out infinite alternate;
    background-image: linear-gradient(-60deg, #fffafa 50%, #e4f0ff 50%);
    bottom: 0;
    left: -50%;
    opacity: .5;
    position: fixed;
    right: -50%;
    top: 0;
    z-index: -1;
}

.bg2 {
  animation-direction:alternate-reverse;
  animation-duration:7s;
}

.bg3 {
  animation-duration:8s;
}

.content {
  background-color:rgba(255,255,255,.8);
  border-radius:.25em;
  box-shadow:0 0 .25em rgba(0,0,0,.25);
  box-sizing:border-box;
  left:50%;
  padding:10vmin;
  position:fixed;
  text-align:center;
  top:50%;
  transform:translate(-50%, -50%);
}

@keyframes slide {
  0% {
    transform:translateX(-25%);
  }
  100% {
    transform:translateX(25%);
  }
}