@charset "UTF-8";
main {
	margin: 0;
	width: 100%;
	}

/*ページ内リンクずれ
---------------------------------------------------------------------------*/
html {
scroll-padding-top: 100px;
}


/*スライド
---------------------------------------------------------------------------*/
.rslides_box{
max-width: 100%;
margin: 0 auto;
overflow:hidden;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.rslides img,
#metaslider_54 img,
#metaslider_57 img{
width: 100vw;
max-width: 100%;
height: auto;
margin: auto;
object-fit: cover;
}

/* スマホ */
.rslides_box .slsp .text{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.rslides_box .slsp .text img {
width:250px;
height: auto;
}


/*スクロールボタンの指定
---------------------------------------------------------------------------*/
 .scroll {
	 position: absolute;
	 width: 100%;
	 bottom: 0;
	 text-align: center;
}
 .scroll a {
	 position: relative;
	 display: inline-block;
	 font-size: 80%;
	 color: #fff;
	 text-decoration: none;
	 padding: 0 0 50px;
}
 .scroll a:before {
	 content: "";
	 position: absolute;
	 width: 25px;
	 height: 25px;
	 left: 0;
	 right: 0;
	 bottom: 25px;
	 margin: auto;
	 border-bottom: 1px solid #fff;
	 border-right: 1px solid #fff;
	 transform: rotate(45deg);
	 animation: move 2s infinite;
}
/*矢印をアニメーションする*/
 @keyframes move {
	 0% {
		 transform: rotate(45deg) translate(0, 0);
	}
	 20% {
		 transform: rotate(45deg) translate(10px, 10px);
	}
	 40% {
		 transform: rotate(45deg) translate(0, 0);
	}
}
/*	 info
/* ------------------------------------- */	
.info_bg {
padding: 0 6%;
text-align: left;
display: flex;
margin: 0 auto;
box-sizing:border-box;
}
.info_02 {
margin: 0 0 0 auto;
}
.info_02 img{
  width: 262px;
	height: auto;
	padding: 50px 0
}


.info_box_0:after{content: "";
display: block;
clear: both}
.info_box_l{
text-align: left;
}
.info_box_l a {
display: block;
margin: 0;
text-decoration:none;
}
.info_box2{
width: 100%;
padding: 45px;
}
.info_box a p {
color: #fff;
}
.info_box a h5 {
color: #fff;
}
@media screen and (min-width: 768px) {
.info_box_0{
display:flex;
padding: 0;
width: 100%}
.section-two-h3{
font-size: 180%;
line-height: 1.5;
font-weight: normal;
margin: 0;
padding: 50px 5px 0 0;
writing-mode: vertical-rl;
text-orientation: mixed;
border-right: #fff 1px solid;
}
}
@media screen and (max-width: 767px) {
.info_02 {
display: none
}
.info_box2{
padding: 30px 0 50px 0;
}
.section-two-h3{
font-size: 150%;
font-weight: normal;
margin: 0;
padding: 50px 0 5px 0;
border-bottom: #fff 1px solid;display: table;
}
}

/*	 content 共通
/* ------------------------------------- */
.m01 h3 {
	margin: 3% 0;
	font-size: 150%;
	margin-bottom: 30px;
	letter-spacing: 0.2em;
	line-height: 1.5
}
.content01 section,
.content02 section,
.content03 section,
.content04 section{
display: block;
	max-width: 100%;
  padding: 30px 6%;
  margin: auto;
}
.column_img_r img,
.column_img_l img{
  width: 100%;
	height: auto;
}
.column_t_l p,
.column_t_r p{
  font-size: 16px;
  line-height: 1.8;
	text-align: justify;
}
.content02 .m01 p {
  display: inline-block;
  font-weight:normal;
  margin: 0 auto 30px;
  padding: 0 0 5px 0;
	font-size: 130%;
	line-height: 1.3;
	border-bottom: solid 1px #ff9900;
	color: #ff9900
}
.content03 .m01 p {
  display: inline-block;
  font-weight:normal;
  margin: 0 auto 20px;
  padding: 0 0 5px 0;
	font-size: 120%;
	line-height: 1.3;
	border-bottom: solid 1px #000;
	color: #000
}
.content04 .m01 p {
  display: inline-block;
  font-weight:normal;
  margin: 0 auto 20px;
  padding: 0 0 5px 0;
	font-size: 120%;
	line-height: 1.3;
	border-bottom: solid 1px #fff;
	color: #fff
}
.m01 p span{
	font-size: 140%;
	line-height: 1.4;
	margin-right: 5px
}


/*	 content01
/* ------------------------------------- */
.content01,
.content03{
	width: 100%;
	background: #ff9900;
	overflow: hidden;
	color: #000;
	padding: 40px 0;
}

.content01	{
	background-image:url('../img/top/honoo.png'); background-repeat:no-repeat; background-position:center bottom;
	background-size: 100% auto;
}
.reverse{
  flex-direction: row-reverse;
}
@media screen and (min-width: 768px) {
/*共通*/
.m01 h3 {
font-size: 180%;
}
.content01 section,
.content02 section,
.content03 section,
.content04 section{
display: flex;
justify-content: space-between;
}
.column_t_l p,
.column_t_r p  {
	font-size: 18px;
	line-height: 2;
}
/*右側へ要素を広げる（2カラム）*/
.column-outside-right{
    flex: 1;
    margin-right: calc(50% - 50vw);
    margin-left: 6%;
}
/*左側へ要素を広げる（2カラム）*/
.column-outside-left{
    flex: 1;
    margin-left: calc(50% - 50vw);
    margin-right: 6%;
}

/*content01*/
.column_t_l{
  width: 60%;
}
.column_img_r{
  width: 40%;
}
.content01	{
	background-size: 60% auto;
}
}
@media screen and (max-width: 767px) {
/*共通*/
.content01 section,
.content02 section,
.content03 section,
.content04 section{
  display:block;
}
.column-outside-right{
margin-right: calc(50% - 50vw);
margin-bottom: 40px
}
.column-outside-left{
margin-left: calc(50% - 50vw);
margin-bottom: 40px
}
}


/*	 content02
/* ------------------------------------- */
.content02	{
	width: 100%;
	background: #000;
	overflow: hidden;
	color: #fff;
	padding: 40px 0;
}
@media screen and (min-width: 768px) {
.column_img_l{
  width: 60%;
}
.column_t_r{
  width: 40%;
}
.content02 .column_t_l{
  width: 40%;
}
.content02 .column_img_r{
  width: 60%;
}
}


/*	 content04
/* ------------------------------------- */
.content04	{
	width: 100%;
	background: #000060;
	overflow: hidden;
	color: #fff;
	padding: 40px 0;
	background-image:url('../img/top/cont04_2.png'); background-repeat:no-repeat; background-position:left bottom;
	background-size: 60% auto;
}
@media screen and (max-width: 767px) {
.content04	{
	padding: 40px 0 200px 0;
	background-image:url('../img/top/cont04_2.png'); background-repeat:no-repeat; background-position:left bottom;
	background-size: 120% auto;
}
}



/*	 下線矢印のボタン
/* ------------------------------------- */	
/*black*/
.button-black a {
  font-size: 19px;
  color: #000;
  font-weight: bold;
  display: block;
  position: relative;
  box-sizing: border-box;
  max-width: 200px;
  text-align: left; 
  padding: 4px 16px 4px 0;
  margin: 30px 0 0 0;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}

.button-black a::before {
  content: "";
  display: block;
  position: absolute;
  width: 200px;
  height: 1px;
  background: #000;
  bottom: 0;
  transition: all 0.3s;
}

.button-black a::after {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 1px;
  background: #000;
  rotate: 40deg;
  right: -3px;
  bottom: 10px;
  transition: all 0.3s;
}

.button-black a:hover::after,
.button-black a:hover::before,
.button-orange a:hover::after,
.button-orange a:hover::before,
.button-white a:hover::after,
.button-white a:hover::before{
  translate: 20px 0;
  transition: all 0.3s;
}

/*orange*/
.button-orange a {
  font-size: 19px;
  color: #ff9900;
  font-weight: bold;
  display: block;
  position: relative;
  box-sizing: border-box;
  max-width: 200px;
  text-align: left; 
  padding: 4px 16px 4px 0;
  margin: 30px 0 0 0;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}

.button-orange a::before {
  content: "";
  display: block;
  position: absolute;
  width: 200px;
  height: 1px;
  background: #ff9900;
  bottom: 0;
  transition: all 0.3s;
}

.button-orange a::after {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 1px;
  background: #ff9900;
  rotate: 40deg;
  right: -3px;
  bottom: 10px;
  transition: all 0.3s;
}


/*white*/
.button-white a {
  font-size: 19px;
  color: #fff;
  font-weight: bold;
  display: block;
  position: relative;
  box-sizing: border-box;
  max-width: 200px;
  text-align: left; 
  padding: 4px 16px 4px 0;
  margin: 30px 0 0 0;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}

.button-white a::before {
  content: "";
  display: block;
  position: absolute;
  width: 200px;
  height: 1px;
  background: #fff;
  bottom: 0;
  transition: all 0.3s;
}

.button-white a::after {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 1px;
  background: #fff;
  rotate: 40deg;
  right: -3px;
  bottom: 10px;
  transition: all 0.3s;
}


/*	 schedule
/* ------------------------------------- */	
.schedule {
	padding: 8%;
	text-align: left;
}
.schedule_m {
	font-size: 130%;
	text-align: center;
}
.schedule p {
	font-size: 100%;
}
.sct {
	margin: 20px 0px;
}
.design01 {
 width: 100%;
 text-align: center;
 border-collapse: collapse;
 border-spacing: 0;
line-height:1.5em;
word-break: break-all;
margin-bottom: 30px;
table-layout: fixed;
}
.design01 th {
 padding: 20px 5px;
 border: solid 1px #ff9900;
 color: #ff9900;
 font-weight: normal;
 font-size: 110%
}
.design01 td {
 padding: 20px 5px;
 border: solid 1px #ff9900;
 font-weight: normal
}
@media screen and (max-width: 767px) {
.design01 th {
 padding: 15px 5px;
}
.design01 td {
 padding: 15px 5px;
}
}

/*	 link
/* ------------------------------------- */	
.link {
	background: #ff9900;
	padding: 8%;
	text-align: center;
	box-sizing: content-box;
}
.link img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/*	 box
/* ------------------------------------- */	
.box_nuri {
padding: 2.5em 3.5em;
margin: 2em 0 0 0;
background: #ff9900;/*背景色*/
color: #000;
}
.box_nuri p,
.box_waku p{
margin: 0; 
padding: 0;
}
.box_waku {
padding: 2em;
margin: 0;
border: 1px solid #000;
}
h4.midasi {
color: #000;
font-size: 1.4em;line-height: 1.6em;
margin-bottom: 20px;
padding: 0 0 0 .7em;
border-left: 3px solid #000;
}
@media screen and (max-width: 767px) {
.box_nuri {
padding: 2em;
}
h4.midasi {
font-size: 1.2em;line-height: 1.2em;
}
.box_waku{
padding: 1em;
font-size: 90%
}
}


/* ------------------------------------- */
/*	 resposive768
/* ------------------------------------- */
@media screen and (min-width: 768px) {
/*	 schedule
/* ------------------------------------- */	
.schedule {
	padding: 40px 8%;
}
.schedule_m {
	font-size: 170%;
	text-align: center;
}
.sct {
	margin: 20px 0px;
}
}
/* ------------------------------------- */
/*	 resposive980
/* ------------------------------------- */
@media screen and (min-width: 992px) {
/*	 schedule
/* ------------------------------------- */	
.schedule {
	padding: 60px 8%;
}
/*	 special
/* ------------------------------------- */	
.link {
	padding: 40px 0;
}
.link img{
	width: 980px
}
}
