@charset "UTF-8";
html{
  scroll-behavior: smooth;
}
body{
  width:100%;
  margin:0 auto;
  text-align:center;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  }
a{
  cursor:pointer
}
img{
	vertical-align:top;
  height: auto;
  width:100%;
}
p{
  margin:0;
  color:#000;
}
.top_text{
  font-size:24px;
  text-align:center;
  width:800px;
  margin: 10px auto;
  line-height:1.7em;
}
.sp p{
  text-align:left; 
  width:100%;
}
.omotyapack_text{
  color:#fff;
  font-size:23px;
  text-align:left;
  width:950px;
  margin: 10px auto;
  line-height: 1.6em;
}
.omotyapack_text_sp{
  color:#fff;
}

header{
  width: 100%;
  margin:20px 0px;
}
.logo img{
  width:200px;
}

.menu-list img{
  height:30px;
}


a {
  color: #fff;
　text-transform: uppercase;
}

h1{
  display:none;
}
h3{
  font-size:23px;
}
h4{
  font-size:28px;
  color:#fa4141;
  border-bottom: solid 3px #fa4141;
}
h6{
  font-size:21px;
  line-height:38px;
  font-weight:100;
  margin:0;
}
#outline01{
  background-color:#fff;
  margin-top:-1px;
  background-image:url(../img/background.png);
  background-position: top center;
  background-repeat: repeat-y;
  background-size:200px auto;
  max-width:1200px;
}
#outline01_sp{
  background-color:#fff;
  background-image:url(../img/sp_background.png);
  background-position: top right;
  background-repeat: repeat-y;
  background-size:contain;
}
#outline01-01{
  background-color:#d88336;
  margin-top:-100px;
  background-image:url(../images/obi02.jpg);
  background-position: top center;
  background-repeat: repeat-x;
  height:119px;
}
#outline02{
  background-color:#e7e1d7;
}
#outline02_sp{
  background-color:#e5dfd5;
}
#outline03{
  background-color:#8e7bb2;
}
#outline03_sp{
  background-color:#8877a9;
}
#outline04{
  background-color:#fff;
  max-width:1200px;
}
#outline05{
  background-color:#e7e1d7;
}
.wrapper{
  max-width:100%;
  margin:0 auto;
  text-align:center;
  overflow: hidden;
  max-width:1080px;
}
.fv{
  width:100%;
  margin:0 auto;
  text-align: center;
  background-color: #fff;
}
.fv img{
  vertical-align:top;
  width:100%;
}
.content1{
  width:100%;
  margin:0 auto;
  text-align: center;
  padding-top:11%;
}
.section1{
  width:100%;
  margin:0 auto;
  text-align: center;
  padding:1%;
}
.section1 img{
  width:100%;
  margin:0 auto;
  text-align: center;
}
.content2{
  
}
.content3{
  padding-top:11%;
}
.content4{
  margin-top:11%;
  padding-bottom:11%;
}
.content5{
  padding-top:11%;
  padding-bottom:11%;
}
.content6{
  padding-top:11%;
  padding-bottom:11%;
}
.section6 h3{
  padding-bottom:5%;
}
.section6{
  width:100%;
  margin:0 auto;
  text-align: center;
  margin-top:2%;
}
h2 {
  font-size:35px;
  line-height:61px;
  position: relative;
  height: 60px;
  margin: 2em 50px 1em;
  /*padding: 0 2rem;*/
  text-align: center;
  color: #fff;
  background: #fa4141;
}
h2:before,
h2:after {
  position: absolute;
  top: 0;
  display: block;
  height:0;
  content: '';
  border: 30px solid #fa4141;
}
h2:before {
  left: -40px;
  border-left-width: 15px;
  border-left-color: transparent;
}
h2:after {
  right: -40px;
  border-right-width: 15px;
  border-right-color: transparent;
}
h2 span {
  position: relative;
  display: block;
}
.section2,.section3,.section4,.section5{
  width:100%;
  margin:0 auto;
  text-align: center;
  margin-top:2%;
}
.section2 img,.section3 img,.section4 img,.section5 img,.section6 img{
  width:100%;
  margin:0 auto;
  text-align: center;
}
.footer.pc{
  padding:20px 50px 10px 50px;
  background-color: #fff;
  text-align: center;
}
.footer.sp{
  padding:20px 50px 10px 50px;
  background-color: #fff;
  text-align: center;
}
.float{
  text-align:right;
  position:relative;
  margin-top:-57%;
  left:50%;
}
/* 画面幅が768px以上の場合、横スクロールを解除 
@media screen and (min-width: 768px) {
  .horizontal_scroll {
    overflow-x: inherit;
    padding: 0 8px 6px;
  }  
  a{
    width:100%;
    max-width:320px;
  }
}
*/
.pc {
  display: block !important;
  margin-left: auto;
  margin-right: auto;
  /*min-width:1080px;*/
}

/*
.sp { display: none !important; }
@media only screen and (max-width: 640px) {
  .pc { display: none !important; }
  .sp { display: block !important; }
}

@media screen and (max-width: 430px) {
  h3{
    font-size:18px;
    letter-spacing:-1px;
  }
  a img{
      margin:0 auto;
      text-align:center;
      width:100%;
  }
  img{width:100%;}
  .horizontal_scroll > li {
    width: 100%;
    min-width: 320px;
  }
  .section2 img{
    width:95%;
  }
  .section4 img,.section5 img{
    width:78%;
    margin-top:2%;
  }
  .section3 img{
    width:95%;
  }
  .slider_ttl{
    padding-top:11%;
  }

  .horizontal_scroll{
    padding-bottom:13%;
  }
  table{
    margin-top:5%;
    width:95%;
  }
  .gaiyou{
    margin-top:8%;
  }
  td{
    font-size:15px;
  }
}
*/
.myrow{
  display:-webkit-flex;display:flex;
}
.myrow1{
  display:-webkit-flex;
  display:flex;
}
.myrow2{
  display:-webkit-flex;display:flex;
}
.mycol-1{
  flex:1;
  text-align:left;
}
.mycol-1 p{
  text-align:left;
}
.mycol-1 h5{
  font-size:18px;
  letter-spacing: 1.3px;
  text-align:left;
  margin:0;
}
.mycol-2{
flex:1;
margin:0 auto;
}
.mycol-2 img{
}
.mycol-3{
  flex:1;
}
.mycol-3 p{
  text-align:left;
  line-height:28px;
}
.mycol-3 h6{
  color:#ff0000;
  font-size:31px;
  margin-top:7%;
  font-weight:bold;
}
.mycol-4{
  flex:4;
}
@media screen and (max-width:640px){
  header{
    padding:0;
  }
  .myrow{
    -webkit-flex-direction:column;flex-direction:column;
  }
  .mycol-3 h6{
    margin-top:0;
  }
  .mycol-3 h6{
    font-size:23px;
    letter-spacing: -1px;
  }
  .section4 .myrow{
    width:80%;
    margin:0 auto;
    padding:3%;
  }
  .price p{
    font-size:18px;
  }
  .float{
    left:33%;
    width:80%;
  }
}
.arrow{
  margin:0 auto;
  width: 0px;
  border-color: #000;
  border-style: solid;
  border-width: 30px;
  border-left-color: transparent;
  border-bottom-color: transparent;
  border-right-color: transparent;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
.mycol-5{flex:1;}
.mycol-6{flex:2;}
.contents_menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 30px 0;
}
.menu_item {
  width: calc(100% / 3 - 30px);
  text-align: center;
}
.menu_item_sp {
  width: calc(100% / 3 - 2px);
  text-align: center;
}
.pack_obi{
  margin-bottom:-100px;
  z-index: 1;
}
.pack_obi_sp{
  margin-bottom:-5px;
  z-index: 1;
}
.black_obi{
  z-index: 1;
  border-bottom:60px solid #000;
}
.pd_10_20{
  padding:10px 20px;
}
.pd_10_40{
  padding:10px 40px;
}
.pd_20{
  padding:20px;
}
.sp_castle{
  margin-top:30px;
}
.sp_eventmain{
  margin-bottom:20px;
}
.info_sp{
  border:#d7bd9c solid 6px;
}

.column_02{
  display: flex;
}
.column_02 .column_in{
  width: 50%;
  text-align:center;
}

.column_in p{
  margin:0 auto;
}

.pc .content_text_small{
  text-align:left;
}

.pc .content_text{
  font-size:34px;
  margin-top:40px;
  text-align:left;
  width: 497px;
}

.pc .content_text_red{
  color:#b20d23;
  font-size: 24px;
  margin-top:20px;
  line-height:1.5em;
  text-align:left;
  width: 450px;
}

.pc .content_text_small{
  font-size:18px;
  margin-top:30px;
  margin-bottom:30px;
  line-height:2em;
}

.pc .content_text_access{
  font-size:18px;
  margin-top:10px;
  margin-bottom:20px;
  line-height:1.5em;
  text-align:left;
  width:450px;
}

.subtitle{
  margin:30px 0;
}

.access_title{
  font-size:20px;
  margin-top:30px;
}

.sp .content_text{
  font-size:20px;
  text-align:left;
  margin:30px 0px;
  display: inline-block;
}

.sp .content_text_red{
  color:#b20d23;
  font-size:11px;
  text-align:left;
  margin:10px 10px 0px 10px;
  line-height:1.5em;
  text-align:left;
  display: inline-block;
}

.sp .content_text_small{
  font-size:11px;
  text-align:left;
  margin-bottom:20px;
  line-height:2em;
}

.sp .content_text_access{
  font-size:11px;
  text-align:left;
  margin:10px 10px;
  line-height:1.5em;
  display: inline-block;
}
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
::before , ::after {
	box-sizing: inherit;
}
button {
	margin: 0;
	padding: 0;
	outline: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	vertical-align: middle;
	text-align: inherit;
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
}
/**************** 以下、ハンバーガーボタンのスタイリング ****************/
.btn {
	/* ボタンの配置位置  */
	position: fixed;
	top: 32px;
	right: 16px;
	/* 最前面に */
	z-index: 10;
	/* ボタンの大きさ  */
	width: 48px;
	height: 48px;
}
/***** 真ん中のバーガー線 *****/
.btn-line {
	display: block;
	/* バーガー線の位置基準として設定 */
	position: relative;
	/* 線の長さと高さ */
	width: 100%;
	height: 4px;
	/* バーガー線の色 */
	background-color: #000;
	transition: .2s;
}
/***** 上下のバーガー線 *****/
.btn-line::before , .btn-line::after {
	content: "";
	/* 基準線と同じ大きさと色 */
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #000;
	transition: .5s;
}
.btn-line::before {
	/* 上の線の位置 */
	transform: translate(-24px, -14px);
}
.btn-line::after {
	/* 下の線の位置 */
	transform: translate(-24px, 14px);
}
/***** メニューオープン時 *****/
.btn-line.open {
	/* 真ん中の線を透明に */
	background-color: transparent;
}
.btn-line.open::before , .btn-line.open::after {
	content: "";
	background-color: #333;
	transition: .2s;
}
.btn-line.open::before {
	/* 上の線を傾ける */
	transform: rotate(45deg);
}
.btn-line.open::after {
	/* 上の線を傾ける */
	transform: rotate(-45deg);
}
/**************** ここまで、ハンバーガーボタンのスタイリング ****************/
/**************** 以下、メニューのスタイリング ****************/
.menu {
	/* メニューを縦に */
	display: flex;
	flex-direction: column;
	/* メニューの位置マイナス指定で画面外に */
	right: -70%;
	width: 70%;
	height: 100vh;
	background-color: #fff;
	color: #efefef;
	transition: .3s;
}
.menu-list {
	/* メニューテキスト位置をリスト内中心に */
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.menu-list:hover {
	background-color: rgba(255, 255, 255, .5);
	color: #333;
	cursor: pointer;
	transition: .3s;
}
/***** メニューオープン時位置0にして画面内に *****/
.menu.open {
	position: absolute;
	right: 0;
}
/* 600px以上はハンバーガーボタン非表示、ヘッダー固定 */
@media screen and (min-width: 640px) {
	.btn {
		display: none;
	}
	.menu {
		/* メニューを横に */
		display: flex;
		flex-direction: row;
		top: 0;
		right: 0;
		width: 100%;
		height: 100px;
	}
}
/* 640px以下 */
@media screen and (max-width: 640px) {
	.menu {
    position: fixed;
	}
  .logo img{
    width:100px;
  }
  .menu-list{
    width: 70%;
    margin: 0 auto;
  }
  .menu-list img{
    height:100%;
  }
}
/**************** ここまで、メニューのスタイリング ****************/

/* 2カラム */
*, *:before, *:after {
	box-sizing: border-box;
}
.col_2{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
  color: #FFF; /* 文字の色 */
  text-align: center; /* 内容は中央配置 */
}
.col_2 > div{
	width: 50%;
	padding: 10px;
}
@media screen and (max-width: 640px) {
	.col_2 > div{
		width: 100%;
	}
}