@charset "utf-8";
/* CSS Document */

/*------------------
　 　top-base
-------------------*/
#top{
	background: #fff;
}
#top_main{
	background: #fff;
}
@media screen and (max-width: 1400px) { 
#top{
	border-top: 5px solid #b71d1d;
}
}

/*------------------
　 　visual
-------------------*/
#wrap_mainvisual {
    text-align: center;
    margin-bottom: 0;
    padding: 0;
    overflow: hidden;
  /* background: url("../images/bg_top_main.jpg");*/
	background: #640000;
}
#wrap_mainvisual img{
    width: 100%;
    max-width: 1400px;
}
#wrap_mainvisual h1{
    margin: 0;
}
@media screen and (max-width: 1400px) { 
img.visual {
    width: 100%;
}
}

@media screen and (max-width: 1200px) { 
#wrap_mainvisual img.visual{
    width: 100%;
}
#wrap_mainvisual .cover img{
display: none;
}
}

@media screen and (max-width: 1100px) { 
#wrap_mainvisual {
    height: auto;
    padding-top: 0;
}
#wrap_mainvisual img{
width: 100%;
}
}

/*------------------
     top main
-------------------*/
#wrap_top_main{
    background: #0060b9;
    padding: 50px 0 50px;
}
@media screen and (max-width: 1100px) { 
.container {
    padding: 0;
}
}
/*------------------
      se01
-------------------*/
#se01{
    background: #69c5bf;
    background: #e9dccb;
    padding: 50px 0;
}
#se01 .content{
    padding: 50px;
}
@media screen and (max-width: 550px) { 
#se01 .content {
    padding: 20px;
}
}

/*----------------------
    se01　お知らせ
----------------------*/
#wrap_topinfo{
	padding:50px 0;
}
#wrap_topinfo .wrapper{
    margin: 0 auto 0;
	background:rgba(255, 255, 255, 0.88);
    padding: 20px 30px 30px;
	border:1px solid #fff;
	border-radius:5px;
	max-width: 900px;
}
#se01 h2#ttl_info{
	margin:0 0 10px;
    padding: 0;
    font-size: 1.4rem;
    text-align: center;
}
dl#top_info{
	padding:10px 30px;
	margin: 0 auto 0;
	max-height:230px;
    overflow:auto;
}
dl#top_info dt {
   float:left;
   width:8em;
   padding-top:6px;
   padding-bottom:0;
   padding-right:0;
   display:inline-block;
}
dl#top_info dd {
   display:block;
   line-height:1.5;
   border-bottom: 1px dotted #76acbd;
   padding:8px 10px 8px 8em;
}
@media only screen and (max-width: 550px) {
#wrap_topinfo .wrapper {
    padding: 20px 10px 20px;
}
#wrap_topinfo{
	padding:0;
}
#se01 h2#ttl_info {
    font-size: 1.2rem;
    margin: 0;
}
dl#top_info {
    padding: 10px;
    font-size: 0.9rem;
}
dl#top_info dt {
   float:none;
   padding: 0;
}
dl#top_info dd {
   display:block;
   padding:0;
   margin-top: -2px;
}
}

/*------------------
      se01
-------------------*/
/*#se01 h2{
    margin: 0 0 20px;
    text-align: center;
    color: #0089b3;
    font-size: 1.8rem;
}*/
#se01 h2.top_about{
    margin: 0 0 20px;
    text-align: center;
    color: #0089b3;
    font-size: 1.8rem;
}
#se01 h2 .kana{
    font-size: 1.2rem;
}
#se01 .top_msg{
    margin: 0 auto 50px;
    max-width: 600px;
}
@media screen and (min-width: 1101px) { 
#se01 .content{
    position: relative;
}
#se01 .content #e1{
    position: absolute;
    left:30px;
    top: 100px;
    z-index: 3;
}
p.top_pic {
    margin: 0 -50px 50px;
    text-align: center;
}
#se01 .content #e2{
    position: absolute;
    right: 30px;
    top: 100px;
    z-index: 3;
}
}
@media screen and (max-width: 1100px) { 
.wrap_chara {
    overflow: hidden;
    margin-bottom: 50px;
}
#se01 .content #e1 {
    width: 45%;
    float: left;
    text-align: center;
}
#se01 .content #e1 img{
    margin: 0 auto 0;
    width: 100%;
    max-width: 175px;
}
#se01 .content #e2 {
    width: 45%;
    float: right;
    padding-top: 20px;
}
#se01 .content #e2 img{
    margin: 0 auto 0;
    width: 100%;
    max-width: 182px;
}
}
@media screen and (max-width: 780px) {
#se01 .content {
    padding: 50px 20px;
}
#se01 h2.top_about{
    font-size: 1.6rem;
}
#se01 h2 .kana{
    font-size: 1.2rem;
}
}
@media screen and (max-width: 550px) {
#se01 .content {
    padding: 30px 20px 20px;
}
#se01 h2.top_about{
    font-size: 1.5rem;
}
#se01 h2 .kana{
    font-size: 0.9rem;
}

}
@media screen and (min-width: 550px) {
.sma_pic{
    display: none;
}
}
@media screen and (max-width: 550px) {
.pc_pic{
    display: none;
}
.wrap_chara {
    margin-bottom: 0;
}
.sma_pic{
    margin-bottom: 30px;
}
}

/*------------------
      se02 guest
-------------------*/
.bx_guest {
    text-align: center;
    margin: 0 auto 50px;
    max-width: 460px;
}
.bx_guest .pic{
    margin: 0 0 10px;
}
.bx_guest .txt{
    text-align: left;
    font-size: 0.9rem;
    max-width: 370px;
    margin: 0 auto;
    line-height: 1.5;
}
@media screen and (max-width: 550px) {
.bx_guest .txt{
    font-size: 0.75rem;
    width: 80%;
}
}
@media screen and (min-width: 900px) {
.wrap_kinen{
display: flex;
}
}
.bx_kinenhin{
text-align: center;
}

/*------------------
      se02 動画
-------------------*/
#se02{
   /* background: #06525e;
    background: #47afa8;*/
	background: #bfa886;
    padding: 50px 0;
    text-align: center;
    color: #fff;
}
video {
    background: #000;
}
/*------------------
      se02 魅力
-------------------*/
h2.top_teiken{
    font-size: 1.8rem;
    text-align: center;
    margin: 0 0 20px;
    line-height: 1.6;
}
.wrap_tok{
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    margin: 0 0 20px;
}
.wrap_tok .bx_tok{
    margin: 0 10px;
    width: 30%;
}
.wrap_tok .bx_tok img{
    width: 100%;
}
.wrap_tok .bx_tok h3{
    color: #fff;
    text-align: center;
    font-weight: 600;
    font-size: 1.4rem;
    margin: 0 0 10px;
}
.wrap_tok .bx_tok p.txt_tok{
    margin: -15px 0 5px;
	line-height: 1.5;
	min-height: 50px;
}
@media only screen and (max-width: 900px) {
.wrap_tok .bx_tok p.txt_tok {
    font-size: 0.9rem;
}
}
@media only screen and (min-width: 781px) and (max-width: 800px) {
.wrap_tok .bx_tok p.txt_tok {
    font-size: 0.8rem;
}
}
@media only screen and (max-width: 780px) {
h2.top_teiken {
    font-size: 1.6rem;
}
.wrap_tok {
    display: inherit;
}
.wrap_tok .bx_tok {
    width: 80%;
    max-width: 315px;
    margin: 0 auto 10px;
}
.wrap_tok .bx_tok p.txt_tok {
    font-size: 1.0rem;
    margin-top: -10px;
}
}
@media screen and (max-width: 550px) {
h2.top_teiken {
    font-size: 1.2rem;
}
}

/*------------------
      se02 activity
-------------------*/
/*
.bx_act {
    background: #fff;
    border: 3px solid #000;
    padding: 20px 50px;
    margin: 0 auto 20px;
    width: 95%;
}
.bx_act ul{
    margin: 0;
    padding: 0;
    overflow: hidden;
}
.bx_act ul li{
color: #000;
    font-weight: 600;
    font-size: 1.4rem;
    list-style: none;
    display: inline-block;
    float: left;
    margin-left: 1em;
    padding: 0;
    margin: 0 1em 10px 0;
    border-bottom: 2px dashed #bb653b;
    width: 30%;
}
@media only screen and (max-width: 900px) {
.bx_act {
    padding: 20px 20px;
}
.bx_act ul li {
    font-size: 1.1rem;
    width: calc(50% - 1em);
}
}
@media only screen and (max-width:480px){
.bx_act {
    padding: 20px 10px;
}
.bx_act ul li {
    font-size: 0.95rem;
}
}
*/

/*------------------
      se03 story
-------------------*/
#se03{
    background: #e9f5ff; 
    background: url(../images/top/bg_se03.png) center top no-repeat;
}
.toumei{
background-color: rgb(0 0 0 / 64%);
  padding: 50px 0;
}
#se03 .content {
    margin: 0 auto 0;
    color: #fff;
    /*background: #ffffffdb;
    border: 1px solid #fff;*/
}
#se03 .content .bx_story{
    max-width: 780px;
    margin: 0 auto 0;
    overflow: hidden;
}
#se03 .content .bx_story h2{
    margin: 0 0 20px;
    font-size: 1.6rem;
    line-height: 1.8;
    color: #fff;
}
.bx_story .sig{
    display: block;
    float: right;
    width: 15em;
    line-height: 1;
    margin-top: 2em;
}
.bx_story .sig p{
    line-height: 1;
    margin: 10px;
}
@media only screen and (max-width:780px){
#se03 .content .bx_story h2 {
    font-size: 1.3rem;
}
}
@media only screen and (max-width:550px){
#se03 .content .bx_story h2 {
    font-size: 1.2rem;
}
}
@media only screen and (max-width:480px){
#se03 .content .bx_story h2 {
    font-size: 1.1rem;
    line-height: 1.6;
}
#se03 .content .bx_story p {
    line-height: 1.5;
}
}
@media only screen and (max-width:600px){
br.pc{
    display: none;
}
}

/*------------------
      se04
-------------------*/
#se04{
    background: #fff;
    padding: 50px 0;
}
.wrap_link{
overflow: hidden;
}
.wrap_link .bx_link {
    background: #e7e7e7;
    width: calc(25% - 20px);
    float: left;
    margin: 0 20px 20px 0;
}
.wrap_link .bx_link .inner{
    padding: 8px;
}
.wrap_link .bx_link .pic{
    margin: 0 0 10px; 
}
.wrap_link .bx_link img{
   /* width: 100%;*/
    overflow: hidden;
    margin: 0;
    width: 360px;
    max-width: 100%;
}
.wrap_link .bx_link h4{
    font-size: 1.0rem;
    font-weight: 600;
    text-align: center;
    margin: 0;
    color: #000;
}

/* 調整 */
@media only screen and (max-width: 1100px) {
p.top_pic {
    width: 100%;
}
p.top_pic img{
    width: 100%;
}
}

@media only screen and (max-width: 780px) {
.wrapper {
    width: 96%;
}
#wrap_topinfo {
    padding: 0;
}

#se03 .content .bx_story {
    padding: 0 20px;
}
}

/*------------------
     ページリンク
-------------------*/
/*
@media only screen and (min-width:781px) and (max-width: 900px) {
.wrap_link {
    margin-left: 20px;
}
.wrap_link .bx_link {
    width: calc(33.3% - 20px);
    margin: 0 20px 20px 0;
}
}
*/
@media only screen and (max-width: 780px) {
.wrap_link {
    margin-left: 20px;
}
.wrap_link .bx_link {
    width: calc(50% - 20px);
    margin: 0 20px 20px 0;
}
}

@media only screen and (max-width:480px){
.wrap_link {
text-align: center;
}
.wrap_link {
    margin-left: 10px;
}
.wrap_link .bx_link {
    width: calc(50% - 10px);
    margin: 0 10px 20px 0;
}
.wrap_link .bx_link h4 {
    font-size: 0.8rem;
}
}

/* 動画リンクボタン */
.btn_movie{
text-align: center;
margin: 0;
}
.btn_movie a{
	margin: 0 auto 20px;
    display: inline-block;
    background: #4abccb;
    text-decoration: none;
    padding: 5px 1em;
    border-radius: 8px;
    color: #fff;
}

/* ゲスト2024年 */
.wrap_guest3{
	display: flex;
	 justify-content: center;
	margin: 0 auto 40px;
}
@media only screen and (max-width:550px){
.wrap_guest3{
	display: inherit;
	margin: 0 auto 10px;
	text-align: center;
}
.wrap_guest3 img{
	max-width: 300px;
	width: 100%;
}
}

.wrap_present{
text-align: center;
margin: 0 auto 50px;
}

/* youtube 追加 */
.wrap_youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 30px;
}
.wrap_youtube iframe {
  width: 100%;
  height: 100%;
}

/* レンタル案内 */
.wrap_rental{
	font-weight: 600;
}
.link_rental a {
	display: block;
    background: #a30110;
    max-width: 300px;
	padding: 5px 10px;
    margin: 0 auto;
    border-radius: 5px;
    text-decoration: none;
    color: #fff;
    border: 1px solid #fff;
}
@media only screen and (max-width:1083px){
	br.pc1083{
		display: none;
	}
}