._pc {
    display: block;
}

._sp {
    display: none;
}

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

.container-site {
    max-width: 1150px;
    margin: auto;
    padding: 0 20px;
    position: relative;
}
html, body {
  scroll-padding-top: 60px;
}

@media (max-width:767px) {
    ._pc {
        display: none;
    }

    ._sp {
        display: block;
    }
}

main {
    max-width: 1680px;
    margin: auto;
    min-width: 1110px;
}

@media (max-width:767px) {
    main {
        max-width: 100%;
        min-width: auto;
    }
}

header {
    padding: 10px 0;
    position: sticky;
    top:0;
    background:#fff;
    z-index: 1000;
}
header .logo {
    margin:0;
}
.btn-line {
	margin-left: 20px;
}
.entry {
    padding: 50px 0;
    background: url(../img/bg_other.png) repeat top left;
}

.entry-header {
    margin-bottom: 30px;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    color:#987216;
    font-size: 32px;
}

.entry-btn {
    text-align: center;
    height:100%;
}
.entry-btn a {
	height:100%;
}

.entry-btn a ._pc {
    margin:auto;
}

.entry-btn a:hover {
    opacity: .7;
}

.onayami {
    background: #f0f0f0;
}

.visual {
    width: 100%;
    min-width: 1110px;
    overflow: hidden;
}

.visual-image {
    position: relative;
    left: 50%;
    margin-left: -683px;
}

.visual-image1680 {
    position: relative;
    left: 50%;
    margin-left: -840px;
}

@media (max-width:767px) {
    .visual {
        min-width: auto;
    }

    .visual-image,
    .visual-image1680 {
        left: 0;
        margin: 0;
    }
}

.mokuji {
    background: #bbd4f9;
    padding: 50px 0 40px;
}

.mokuji-header {
    margin-bottom: 30px;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 32px;
}

.mokuji-btn {
    height: 100%;
    padding-bottom: 20px;
}

.mokuji-btn a {
    height: 100%;
    background: #66ae36;
    padding: 10px;
    text-align: center;
    font-size: 28px;
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.mokuji-btn a span {
    font-size: 20px;
}

.mokuji-btn a:hover {
    opacity: .7;
}

.event {
    background: url(../img/bg_other.png) repeat left top;
}

.event-container {
    padding: 30px 0;
}

.event-list {
    margin-bottom: 40px;
}

.event-list ._pc {
    margin: 0 auto;
}

.present {
    padding: 50px 0 80px;
    background-image: url(../img/present-bg.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    text-align: center;
}

.present ._pc {
    margin: auto;
}

.present .entry-btn {
    margin-top: 30px;
}

.jisseki {
    background: #f4f7fd;
}

.jisseki-graph {
    padding: 30px 0;
}

.jisseki-graph ._pc {
    margin: auto;
}

.voice {
    padding: 0 0 50px;
    background-image: url(../img/voice-bg.jpg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
}

.voice-header {
    margin-bottom: 30px;
}

.voice-header ._pc {
    margin: auto;
}

.voice-content {
    max-width: 1110px;
    margin: auto;
	margin-bottom: 15px;
    padding: 30px;
    background: rgba(255, 255, 255, .9);
	border:2px solid #ffa0a3;
	border-radius: 4px;
}
.voice-content-prime {
	border:5px dotted #ffa0a3;
	padding-bottom:10px;
}
.voice-content-prime .f-cont-ttl {
	background: #a00;;
}
.voice-content-prime .f-cont-p {
	width:180px;
}
.voice-content-prime .readmore-content {
	height:auto;
	max-height: inherit;
}
.voice-content-prime .readmore-label {
	display: none;
}

.voice-name span {
    font-size: 120%;
}

.voice-q {
    font-size: 20px;
    background: #fdf3f6;
    padding: 10px 20px;
    color: #66ae36;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
}

.voice-a {
    padding: 20px 20px 30px;
}

.voice-list {
    position: relative;
}

.voice-list label {
    position: absolute;
    z-index: 1;
    bottom: 0;
    width: 100%;
    height: 100px;
    /*グラデーションで隠す高さ*/
    cursor: pointer;
    text-align: center;
    background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
}

.voice-list input:checked+label {
    background: inherit;
}

.voice-list label:after {
    line-height: 2.5rem;
    position: absolute;
    z-index: 2;
    bottom: 20px;
    left: 50%;
    width: 200px;
    content: '続きを読む';
    transform: translate(-50%, 0);
    color: #ffffff;
    border-radius: 20px;
    background-color: rgba(27, 37, 56, 1);
}

.voice-list input {
    display: none;
}

.voice-list-inner {
    overflow: hidden;
    height: 460px;
    transition: all 0.5s;
}

.voice-list input:checked+label {
    display: none;
}

input:checked~.voice-list-inner {
    height: auto;
    transition: all 0.5s;
}

.serif-header {
    padding: 50px 0;
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column-reverse;
}

.serif-header .ja {
    font-size: 48px;
    color: #3666ae;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
}

.serif-header .en {
    font-size: 36px;
    color: #3666ae;
    font-family: 'Times New Roman', serif;
    opacity: .2;
    margin-bottom: 10px;
}

.faq-content .faq-q dt {
    width: 66px;
    height: 66px;
    background: #3666ae;
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    line-height: 1;
}

.faq-content .faq-q dl {
    display: flex;
    background:#3666ae;
}

.faq-content .faq-q dd {
    flex: 1;
    margin: 0;
    padding: 10px 30px;
    display: flex;
    align-items: center;
    font-size: 18px;
    background: #ebeff7;
    color: #3666ae;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
}

.faq-content .faq-a {
    margin-bottom: 30px;
}

.faq-content .faq-a dl {
    display: flex;
}

.faq-content .faq-a dt {
    width: 66px;
    height: 66px;
    background: #66ae36;
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    line-height: 1;
}

.faq-content .faq-a dd {
    flex: 1;
    padding: 0 30px;
}

.message-name {
    font-family: 'Noto Serif JP', serif;
}

.message {
    padding: 30px 0 50px;
}

.message h3 {
    margin-bottom: 40px;
}

.message h3 span {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    color: #3666ae;
    border-bottom: 1px solid;
    line-height: 1.7;
    font-size: 28px;
}

.message-txt {
    padding-left: 30px;
}

.movie-wrap {
    max-width: 860px;
    margin: auto;
}

.movie {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.movie iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.youtube {
    padding: 50px 0;
    background: #f4f7fd;
}

.hamamatsu {
    padding: 30px 0;
}

.foot-school {
    padding-left: 30px;
}

.hamamatsu figure {
    margin-bottom: 0;
}

.foot-school h2 {
    font-size: 32px;
    margin-bottom: 20px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
}

.foot-station {
    margin-bottom: 10px;
}

.foot-station span {
    color: #3666ae;
    padding-right: 5px;
}

.foot-tel span {
    font-size: 28px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
}
.foot-tel a {
    color:inherit;
    text-decoration: none;
}
.copyright {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    padding: 10px;
    background: #3666ae;
    color: #fff;
    font-size: 12px;
    text-align: center;
}



@media screen and (max-width:767px) {
    header {
        padding: 0;
    }
        .header-inner .logo img {
        width:60vw;
    }
	.header-inner .logo {
		display: flex;
		align-items: center;
	}
	.header-inner .logo .btn-line {
		width:40px;
		display: inline-block;
	}
    .entry-header {
        font-size:4.7vw;
		margin-bottom: 20px;
    }
    .entry {
        padding: 30px 0;
    }
    .mokuji {
        padding:30px 0 20px;
    }
    .mokuji-header {
        font-size:22px;
    }
    .mokuji-btn a {
        font-size:20px;
		align-items: flex-start;
		padding-left: 30px;
    }
    .mokuji-btn a span {
        font-size: 14px;
    }
    .mokuji-btn {
        padding-bottom: 5px;
    }
    .event-container {
        padding: 10px 0 1px;
    }
    .event-list {
        margin-bottom: 20px;
    }
    .present {
        padding: 10px 0 40px;
    }
    .present .entry-btn {
        margin-top: 10px;
    }
    .jisseki-graph {
        padding: 5px 0 30px;
    }
    .voice {
        padding:0px 0 40px;
    }
    .voice-content {
        padding: 20px;
    }
    .voice-photo {
        display: flex;
        align-items: center;
    }
    .voice-photo figure {
        width:50%;
        margin-right: 15px;
    }
    .voice-photo .voice-name {
        flex:1;
        font-size:14px;
    }
    .voice-q {
        font-size: 16px;
    }
    .voice-a {
        padding: 10px 20px 20px;
    }
    .voice-list-inner {
        height: 340px;
    }
    .serif-header .ja {
        font-size: 32px;
    }
    .faq-content .faq-q dt,
    .faq-content .faq-a dt {
        width: 40px;
        height: 40px;
        font-size: 22px;
    }
    .faq-content .faq-a dl {
        display: block;
    }
    .faq-content .faq-a dt {
        float: left;
        margin:0 20px 10px 0;
    }
    .faq-content .faq-a dd {
        padding:0;
    }
    .faq-content .faq-q dd {
        font-size:16px;
        padding: 10px 10px 10px 20px;
    }
    .message-txt {
        padding: 10px 0 0;
    }
    .message h3 {
        margin-bottom: 24px;
    }
    .message h3 span {
        font-size: 22px;
    }
    .foot-school {
        padding:20px 0 0;
    }
    .serif-header {
        padding: 50px 0 30px;
    }
    .message-photo {
        display: flex;
        align-items: center;
    }
    .message-photo figure {
        width:50%;
    }
    .message-photo .message-name {
        padding-left: 15px;
        flex:1;
    }
	.voice-content-prime .readmore-label {
	display: table;
	}
	.voice-content-prime .readmore-content {
    height: 60px;
    max-height: 60px;
	}
	.voice-content-prime .f-cont-p-sp {
		width:100px;
	}
}

.entry-phone {
    background:#f1f1f1;
    padding:30px 20px;
    text-align: center;
}
.entry-phone-ttl {
    font-size:24px;
    color: #987216;
    margin-bottom: 20px;
}
.entry-phone-ttl span {
    font-size:80%;
}
.entry-phone-phone {
    font-size:24px;
    margin-bottom: 0;
}
.entry-phone-phone i {
    color:#987216;
    padding-right: 10px;
}
.epp-name {
    padding-right: 20px;
}
.epp-name small {
	font-size:16px;
	padding-left: 15px;
}
.epp-phone {
    font-size:32px;
    color:#0d6efd;
}
.epp-phone:hover {
    text-decoration:none;
}
.method-header {
    text-align: center;
    font-size:20px;
    font-weight: bold;
    padding:30px 0;
}
.method-ttl {
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    color:#eb5527;
    font-size:24px;
}
.method-list {
    padding-bottom: 20px;
}
.method {
    padding:0 0 50px;
}
.f-cont-ttl {
	background: #7e2b43;
	color:#fff;
	font-weight:bold;
	display: flex;
	line-height: 1;
	justify-content: space-between;
	flex-direction: column;
}
.f-cont-ttl .f-un {
	font-size:30px;
}
.f-un::before {
	content: '';
    width: 32px;
    height: 32px;
    margin-right: 5px;
    position: relative;
    top: 3px;
    background: url(../img/sakura.svg) no-repeat center center;
    background-size: cover;
    display: inline-block;
}
.f-cont-ttl .f-c {
	font-size:20px;
}
.f-cont-ttl-u {
	padding:10px;
	display: flex;
    align-items: flex-end;
}
.f-k {
	margin-left:20px;
	background: #f4d0bf;
	padding:3px 5px;
	line-height: 1;
	font-size:16px;
	color:#992131;
	border:1px solid #992131;
}
.f-name {
	background: #cfa628;
	font-size:16px;
	display: flex;
	align-items: center;
	color:#5a3425;
	padding: 5px 20px;
}
.f-name-s {
	margin-top: 4px;
	font-size:12px;
}
.f-cont-copy {
	padding:20px 0px 20px 0px;
	font-weight: bold;
	color:#a10e26;
	font-size:22px;
	line-height: 1.4;
	display: flex;
	align-items: center;
}
.f-cont-header-wrap {
    display: flex;
}
.f-cont-header {
    flex:1;
}
.f-cont-p {
    width: 120px;
    margin: 0px 30px 20px 0;
}
.f-cont-p figure {
	margin-bottom: 0;
}

.comment-text {
	font-size:14px;
}
.no-ttl .comment-text {
	margin-top: 20px;
}
.readmore {
	position:relative;
}
.readmore-content {
    position: relative;
    overflow: hidden;
    height: 60px;
	max-height: 60px;
}
.readmore-content::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    content: "";
    /*以下お好み グラデーションの色と高さ 高さはreadmoreのheight以下にすること*/
    height: 30px;
    background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
  }
/* 続きを読むボタン */
.readmore-label{
    display: table;
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    margin: 0 auto;
    z-index: 2;
    padding: 5px 30px;
    background-color: #ff7777;
    border-radius: 10px;
    color: #FFF;
    cursor: pointer;
  }
  .readmore-label:before{
    content: '続きを読む';
  }
  
  .readmore-check{
    display: none;
  }
  /*チェック時にボタンを非表示*/
  .readmore-check:checked ~ .readmore-label{
    position: static;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    /* 「続きを読む」を押した後、元に戻す必要がない場合は、上のオプションを消してこの1行だけにする */
    /* display: none; */
  }
  .readmore-check:checked ~ .readmore-label:before{
    content: '閉じる';
  }
  /*チェック時に高さを自動に戻す*/
  .readmore-check:checked ~ .readmore-content{
    height: auto;
	 max-height:30em;
	  transition:.5s ease;
  }
  /*チェック時グラデーション等を削除*/
  .readmore-check:checked ~ .readmore-content::before {
    display: none;
  }
  .f-cont-p-sp {
    display: none;
  }
  .foot-btn {
    text-align: center;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 90;
    box-shadow: 0 -5px 5px rgba(0, 0, 0, 0.1);
  }
  
  .foot-btn-content {
    background: #f6f2dc;
  }
  
  .foot-btn-btn {
    padding: 10px 0;
  }
  
  .foot-btn-btn a {
    box-shadow: 0 10px 0px #7a0202;
    border-radius: 6px;
    transition: opacity 0.5s ease;
  }
  
  .foot-btn-btn a:hover {
    position: relative;
    top: 5px;
    box-shadow: 0 6px 0 #7a0202;
    opacity: 0.8;
  }
  
  .foot-btn-btn img {
    border-radius: 6px;
    margin: auto;
  }
  
  .foot-btn-msg span {
    font-size: 18px;
  }
  
  footer {
    padding-bottom: 160px;
  }
  .footer-logo {
    padding:30px 0;
    text-align: center;
  }
  
  address dl {
    font-size: 18px;
    display: flex;
	  flex-wrap: wrap;
  }
address dt,
address dd {
		white-space: nowrap;
	margin-bottom: 0;
}
  address a {
    color:#0d6efd;
  }
address a:hover {
    text-decoration: none;
}
  .global ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
	padding:5px 0;
}
.global {
	width: 100%;
	max-width: 560px;
	background: #fff;
	position: fixed;
	top: 76px;
	right: 0;
	bottom: 0;
	z-index: 100;
	background: #214373;
	box-shadow: -5px 0 5px rgba(0, 0, 0, .2);
	transform: translateX(110%);
	transition: all .4s ease;
}

.global-inner {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	height: 100%;
}

.nav-open .global {
	transform: translateX(0);
}

.nav-open::before {
	content: '';
	display: block;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, .5);
	position: fixed;
	z-index: 10;
}

.global a {
	display: block;
	padding: 10px 20px;
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	position: relative;
    text-decoration: none;
}

.global a::after {
	content: '';
	display: inline-block;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -5px;
}

.global a:hover {
	text-decoration: none;
}

.global .sep {
	background: #205197;
}

.global .sep span {
	color: #fff;

	padding: 10px 0 5px 20px;
	display: inline-block;
}

.global ul ul {
	padding-left: 20px;
	border-top: 1px solid rgba(255, 255, 255, .1);
}

.trigger_wrap {
	cursor: pointer;
	z-index: 600;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 60px;
	height: 56px;
	cursor: pointer;
}

.fixnav .trigger_wrap {
	height: 54px;
}

.trigger {
	position: relative;
	display: block;
	margin: auto;
	width: 32px;
	height: 22px;
	cursor: pointer;
}

.trigger span,
.trigger:after,
.trigger:before {
	position: absolute;
	display: block;
	width: 100%;
	height: 3px;
	background: #333;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.trigger:after,
.trigger:before {
	content: '';
}

.trigger span {
	top: 10px;
}

.trigger:before {
	top: 0;
}

.trigger:after {
	bottom: 0;
}

.nav-open .trigger span {
	opacity: 0;
}

.nav-open .trigger:after {
	bottom: 9px;
	background: #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.nav-open .trigger:before {
	top: 10px;
	background: #333;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.entry-btn-txt a {
	display: flex;
    padding: 15px 25px;
    align-items: center;
    background: #00a600;
    color: #fff;
    text-decoration: none;
    font-size: 24px;
    font-weight: 500;
    position: relative;
    font-family: 'Noto Serif JP', serif;
    justify-content: center;
}
.entry-btn-txt.entry-btn-shiryo a {
	background:#bc0000;
}
.entry-btn-txt a::after {
	content: '\f105';
	font-family: FontAwesome;
	border: 1px solid #fff;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	line-height: 21px;
	margin: -12px 0 0;
	padding: 0 0 0 2px;
	position: absolute;
	right: 10px;
	top: 50%;
}
.entry-btn-txt a i {
	font-size:32px;
	position:absolute;
	right:30px;
	top:50%;
	transform:translateY(-50%);
}
  @media screen and (max-width:767px) {
    .f-cont-ttl-u {
        flex-wrap: wrap;
    }
    .f-k {
        margin:10px 0 0 40px;
    }
    .f-cont-p {
        display: none;
    }
    .f-cont-p-sp {
        display: block;
        width:60px;
    }
    .f-cont-sp {
        display: flex;
    }
	  .no-ttl .f-cont-sp {
		  float: left;
    margin: 20px 20px 10px 0;
	  }
    .f-cont-copy {
        flex: 1;
    font-size: 18px;
    padding-left: 20px;
    }
    .f-cont-ttl .f-un {
        font-size: 24px;
    }
    .method-header {
        font-size: 14px;
        padding: 10px 0 20px;
    }
    .method-ttl {
        font-size:20px;
    }
    .method-txt {
        font-size:12px;
    }
    .method {
        padding: 0 0 10px;
    }
    .entry-phone-ttl {
        font-size: 20px;
    }
    .entry-phone-ttl span {
        display: inline-block;
    }
    .entry-phone-phone {
        font-size: 18px;
    }
    .epp-phone {
        font-size: 22px;
    }
    .global { 
        top:56px;
    }
    address dl {
        font-size: 14px;
        display: flex;
        flex-direction: column;
    }
    address dd span {
        display: none;
    }
	  .entry-btn-txt a {
    padding: 10px 35px 10px 10px;
    font-size: 17px;
	  }
	  .epp-name small {
    padding-left: 0px;
    padding-bottom: 10px;
    display: inline-block;
	}
  }

.header-btn {
	padding:10px 0;
}
.header-btn .logo {
	margin:0;
}
.header-btn .header-inner .header-btn-wrap {
	display: flex;
	align-items:center;
}
.header-btn-list {
	padding:0 15px;
}
.has-header-btn {
	transform:translateY(-100%);
	transition:transform .5s ease;
}
.is-scroll .has-header-btn {
	transform:translateY(0);
}
.event-entry {
	background: #f5f5f5;
	padding:30px 30px 10px;
}
.event-entry-list {
	margin-bottom: 40px;
}
.event-place {
	color:#987216;
	font-weight: bold;
	font-size:20px;
	margin-bottom: 5px;
}
.event-date {
	font-family:'Noto Serif JP',serif;
}
.event-date span.date {
	font-size:40px;
}
.event-date span.kaijo {
	display: none;
}
.event-date span.event-time {
	font-size:20px;
}
.event-kaijo {
	font-size: 18px;
}
.event-entry .entry-btn {
	margin-top: 10px;
}
a:hover .hover {
	opacity:.9;
}
@media screen and (max-width:767px) {
	.header-btn .logo img {
    width: 60vw;
	}
	.header-btn .header-inner {
		flex-direction: column;
		align-items: flex-start;
	}
	.header-btn-list {
	padding:10px 5px 0;
	}
	.header-btn .header-inner .header-btn-wrap {
		margin:0 -5px;
	}
	.event-entry-list {
		margin-bottom: 10px;
	}
	.event-place {
	font-size:16px;
	margin-bottom: 0px;
}
	.event-date span.date {
	font-size:28px;
}
.event-date span.event-time {
	font-size:14px;
}
.event-kaijo {
	font-size: 16px;
}
	.event-entry .entry-btn {
	margin-top: 5px;
}
	.event-date span.kaijo {
		display: inline-block;
		color:#987216;
		font-family: var(--bs-font-sans-serif);
		font-weight: bold;
		margin-left: 10px;
	}
	.event-entry .entry-header {
		margin-bottom: 10px;
	}
}