
@charset "UTF-8";
/*====================================================================

common.css

=====================================================================*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {
 margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}
body { line-height:1;}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { display:block;}
nav ul { list-style:none;}
blockquote, q { quotes:none;} 
blockquote:before, blockquote:after,   
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent;}
/* change colours to suit your needs */
ins { background-color:#ff9; color:#000; text-decoration:none;}
/* change colours to suit your needs */
mark { background-color:#ff9; color:#000;  font-style:italic; font-weight:bold;}
del { text-decoration: line-through;}
abbr[title], dfn[title] { border-bottom:1px dotted;
cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}
/*--------------------------------------------------------------------/
	btn
/--------------------------------------------------------------------*/
/* iOSreset */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
/*--------------------------------------------------------------------/
	format
/--------------------------------------------------------------------*/
*, *:before, *:after{
	box-sizing : border-box;
}
img{
	max-width : 100%;
	height: auto;
	vertical-align : middle;
}
/*--------------------------------------------------------------------/
	body
/--------------------------------------------------------------------*/
html{
	font-size: 100%;
}
body{
	font-size : 14px;
	line-height : 1.57143;
	letter-spacing : 1px;
	font-family: "Noto Sans",Arial, Helvetica, 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-font-smoothing : antialiased;
	-moz-osx-font-smoothing : grayscale;
	width: 100%;
	background: #fff;
}
section:after, article:after{
	content : "";
	clear : both;
	display : block;
}
/* a
----------------------------------------------------------------*/
:link, :visited, :hover, :active{
	text-decoration : none;
}
.tel-link{
	text-decoration : none;
}
/* btn
----------------------------------------------------------------*/
.btn{
	width: 640px;
	height: 120px;
	line-height: 120px;
	background: #000;
	border: solid 1px #000;
	margin: 3rem auto 0;
	color: #fff;
	font-size: 84px;
	font-family: 'Russo One', sans-serif;
	text-align: center;
	transform:skewX(-10deg);
	letter-spacing: 12px;
}
.btn::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #fff;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}

.btn a{
	display: block;
	color: #fff;
}
.btn:hover a{
	color: #000;
}
.btn:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}


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


/*--------------------------------------------------------------------/
	contents(common)
/--------------------------------------------------------------------*/
.tab,.sp,.pc,.min-pc{
	display: none;
}
.l-cont{
	width: 100%;
	max-width: 1280px;
	padding: 0 24px;
	margin: auto;
}

/* Message
---------------------------------------------------------------------*/
#Message{
	margin-top: 4rem;
    padding: 6rem 0 8rem;
	position: relative;
}
.copy-bk{
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	margin: auto;
}
.message_copy{
	font-size: 56px;
	margin-bottom: 2rem;
}
.message_bodycopy{
	font-size: 32px;
	line-height: 2;
}

#Message .btn{
	margin-top: 12rem;
}

/* Point
---------------------------------------------------------------------*/
#Point{
	background: #f2f2f2;
}
.point_box{
	margin-bottom: 3rem;
}
.point_num{
	font-family: "Sawarabi Mincho";
	font-size: 32px;
}
.point_num span{
	font-size: 100px;
	font-family: 'Noto Serif', serif;
	font-style: italic;
}
#Point h2{
	font-family: "Sawarabi Mincho";
	font-size: 34px;
	font-weight: normal;
    margin-bottom: 1rem;
}

#Point .txt-box .txt{
	line-height: 32px;
	font-size: 16px;
	text-align: justify;
    text-justify: inter-ideograph;
    -ms-text-justify: inter-ideograph;
}
#Point .agenda{
	text-align: right;
	font-size: 24px;
	font-weight: 900;
	margin-top: 1rem;
}
#Point .agenda span{
	display: inline-block;
	border-bottom: 6px #000 solid;
}
#Point .agenda span:first-child{
	margin-bottom: 6px;
}


/* Movie
---------------------------------------------------------------------*/
#Movie {
	background: #000;
}

.contents_inner {
  position: relative;
  overflow: hidden;
}
.contents_inner:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 80%;
  margin: 0 -10% 0;
  background: #fff;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-12deg);
  -ms-transform: rotate(-12deg);
  transform: rotate(-12deg);
}
#Movie .l-cont{
	position: relative;
	z-index: 1;
}

#Movie h2{
	font-family: 'Noto Serif', serif;
	font-size: 100px;
	font-weight: normal;
    margin-bottom: 5rem;
    text-align: center;
    position: relative;
}
#Movie h2 span{
	font-size: 32px;
	font-family: "Noto Sans";
	position: absolute;
	bottom: -2rem;
	left: 0;
	right: 0;
}
#Movie iframe{
	background: #f2f2f2;
	width: 100%;
    height: 600px;
}
#Movie .btn{
	background: #fff;
	color: #000;
	border: solid 1px #fff;
}
#Movie .btn::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #000;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
#Movie .btn a{
	color: #000;
}
#Movie .btn:hover a{
	color: #fff;
}
#Movie .btn:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

/* Entry-info
---------------------------------------------------------------------*/
#Entry-info {
	background: #000;
	color: #fff;
	padding-bottom: 140px;
}
#Entry-info h3 {
    font-size: 32px;
    font-family: "Noto Sans";
    text-align: center;
    margin: 0 auto 4rem;
}
#Entry-info ul {
    margin: auto;
    margin-bottom: 8rem;
}
#Entry-info li{
	list-style: none;
	font-size: 24px;
}

#Entry-info li span.num{
	font-family: 'Russo One', sans-serif;
	font-size: 72px;
	font-weight: 900;
	letter-spacing: 8px;
	vertical-align: -14px;
    padding-right: 1rem;
}
#Entry-info li span.bold{
	font-weight: 900;
	font-style: normal;
	padding-right: 2rem;
}

#Entry-info dl{
	font-size: 24px;
	border-top: 1px solid #fff;
	padding: 3rem 0;
	overflow: hidden;
}
#Entry-info .first{
	border-top: none;
}

#Entry-info .btn{
	background: #fff;
	border: solid 1px #fff;
	color: #000;
}
#Entry-info .btn::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #000;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
#Entry-info .btn a{
	color: #000;
}
#Entry-info .btn:hover a{
	color: #fff;
}
#Entry-info .btn:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}



/*--------------------------------------------------------------------/
	footer
/--------------------------------------------------------------------*/
footer{
	background-color: #fff;
}
footer ul {
	text-align: center;
	padding: 3rem 0;
}

footer ul li a{
	color: #000;
	display: block;
	padding: 0 1rem;
	font-size: 16px;
	line-height: 1;
}
footer ul li a:hover{
	color: #999;
	transition: .3s;
}
.copyright{
	font-size: 14px;
	text-align: center;
	margin-bottom: 1rem;
}


@media screen and (min-width: 769px){
/*====================================================================/
/*-------------------------小さいPC--------------------------
/====================================================================*/
html {
	width : 100%;
}

.min-pc{
	display: block;
}

h1{
	background-color: #eaeaea;
	text-align: center;
}
h1 img{
	margin: auto;
}

/* Message
---------------------------------------------------------------------*/
.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition:all 0.5s;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}
#Message .rotation{
	max-width: 1040px;
	margin: auto;
	font-weight: bold;
	transform: rotate(-9deg);
    -ms-transform: rotate(-9deg);
    -moz-transform: rotate(-9deg);
    -webkit-transform: rotate(-9deg);
    -o-transform: rotate(-9deg);
}

/* Point
---------------------------------------------------------------------*/
#Point{
	padding: 160px 0;
}
#Point .l-cont{
	padding: 0 40px;
}

.point_box{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 3rem;
}
.point_box:nth-child(3),
.point_box:nth-child(4){
	align-items: flex-end;
}

.point_box > img{
	width: 50%;
} 
#Point .txt-box{
	width: 45%;
}

#Point .point-box:last-child img.tab.sp {
    margin: auto;
    margin-top: 3rem;
    width: 100%;
}

#Point .btn{
	margin-top: 8rem;
	width: 720px;
    height: 140px;
    line-height: 140px;
}
/* Movie
---------------------------------------------------------------------*/
#Movie {
	margin-top: 120px;
    padding-bottom: 180px;
}

#Movie .btn{
	margin-top: 8rem;
	width: 800px;
	height: 160px;
	line-height: 160px;
}

/* Entry-info
---------------------------------------------------------------------*/
#Entry-info ul {
    margin: auto;
    width: 956px;
    margin-bottom: 8rem;
}
#Entry-info li{
	font-size: 24px;
}
#Entry-info li.li-02{
	padding-left: 2rem;
}
#Entry-info li.li-03{
	padding-left: 4rem;
}
#Entry-info li.li-04{
	padding-left: 6rem;
}
#Entry-info li.li-05{
	padding-left: 8rem;
}
#Entry-info li.li-06{
	padding-left: 10rem;
}
#Entry-info dl{
	display: flex;
	 align-items: center;
}
#Entry-info dl.first{
	padding-top: 0;
}
#Entry-info dt{
	width: 30%;
	padding-left: 10%;
}
#Entry-info dd{
	width: 70%;
}




#Entry-info .btn{
	margin-top: 8rem;
	width: 980px;
	height: 160px;
	line-height: 160px;
	background: #fff;
	border: solid 1px #fff;
	color: #000;
}



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

footer ul li{
	display: inline-block;
	border-left: solid 1px #000;
}
footer ul li:first-child{
	border-left:none;
}

}


@media screen and (min-width: 980px){
/*====================================================================/
/*-------------------------PC--------------------------
/====================================================================*/
html {
	width : 100%;
}


}

@media screen and (max-width: 768px){
/*====================================================================/
/*------------------タブレット＆スマホ共通----------------
/====================================================================*/
html {
	width : 100%;
}
.l-cont{
	padding: 32px;
}
h1 img{
	width: 100%;
}
.pc,.min-pc{
	display: none;
}
.tab{
	display: block;
}
.btn{
	width: 90%;
	min-width: 300px;
	height: 80px;
	line-height: 80px;
	color: #fff;
	font-size: 60px;
}

/* Message
---------------------------------------------------------------------*/
#Message{
	margin-top: 4rem;
    padding: 0 0 8rem;
	position: relative;
	background: url(../images/sp/copy-bk_sp.png) top center;
}
.copy-bk{
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	margin: auto;
}
#Message .rotation{
	padding: 24px;
	font-weight: bold;
	text-align: justify;
    text-justify: inter-ideograph;
    -ms-text-justify: inter-ideograph;
}
.message_copy{
	font-size: 40px;
	line-height: 72px;
}
.message_bodycopy{
	font-size: 20px;
}

#Message .btn{
	width: 50%;
	font-size: 40px;
	margin-top: 6rem;
}


/* Point
---------------------------------------------------------------------*/
#Point{
	background: #f2f2f2;
	padding: 80px 0;
}
.point_num span {
    font-size: 80px;
	border: none;
	position: relative;
}
#Point .agenda span{
	font-size: 20px;
	position: relative;
	border-bottom: none;
}

#Point .agenda span::after{
	content: "";
	width: 112%;
	border-bottom: 6px solid #000;
	position: absolute;
	right:-24px;
	bottom: -6px;
}
#Point img.tab.sp {
    margin: auto;
    margin-top: 3rem;
    width: 100%;
}
#Point .btn{
	width: 60%;
	font-size: 46px;
	height: 90px;
	line-height: 90px;
}
/* Movie
---------------------------------------------------------------------*/
#Movie {
	margin-top: 80px;
    padding-bottom: 100px;
}
#Movie h2{
	font-size: 72px;
}
#Movie h2 span{
	font-size: 24px;
}
.contents_inner:before {
    width: 140%;
    margin: 0px -20% 0;
}
#Movie iframe {
    height: 400px;
}
#Movie .btn{
	width: 70%;
	font-size: 50px;
	height: 100px;
	line-height: 100px;
}

/* Entry-info
---------------------------------------------------------------------*/
#Entry-info h3{
	max-width: 100%;
	font-size: 24px;
    border-bottom: 1px solid #fff;
    border-top: 1px solid #fff;
    padding: 8px 0;
    max-width: 540px;
}
#Entry-info li{
	padding-bottom: 4.5rem;
	margin-bottom:  3rem;
    font-size: 20px;
    min-height: 130px;
}
#Entry-info li span.bold{
	line-height: 2;
}
#Entry-info li .min{
	font-size: 16px;
}
#Entry-info .li-01{
	background: url(../images/sp/flow-01.png) no-repeat 94% bottom;
	background-size: inherit;
}
#Entry-info .li-02{
	background: url(../images/sp/flow-02.png) no-repeat 99% bottom;
	background-size: inherit;
}
#Entry-info .li-03{
	background: url(../images/sp/flow-03.png) no-repeat 100% bottom;
	background-size: inherit;
}
#Entry-info .li-04{
	background: url(../images/sp/flow-04.png) no-repeat 102% bottom;
	background-size: inherit;
}
#Entry-info .li-05{
	background: url(../images/sp/flow-05.png) no-repeat 98% bottom;
	background-size: inherit;
}
#Entry-info .li-06{
	background: url(../images/sp/flow-06.png) no-repeat 100% bottom;
	background-size: inherit;
}
#Entry-info li span.num{
	display: none;
}

#Entry-info dl.first{
	padding-top: 0;
}
#Entry-info dt{
	text-align: center;
	margin-bottom: 1rem;
	color: #b4b4b4;
	font-weight: bold;
}
#Entry-info dd{
	font-size: 14px;
}
#Entry-info dl.first dd{
	line-height: 2;
}
#Entry-info dd.center{
	text-align: center;
}
#Entry-info .btn{
	margin-top: 8rem;
	height: 160px;
	line-height: 160px;
}


/*--------------------------------------------------------------------/
	footer
/--------------------------------------------------------------------*/
footer li{
	padding: 1rem 0;
}

}

@media screen and (max-width: 480px){
/*====================================================================/
/*------------------------スマホ------------------------
/====================================================================*/
	html {
		width : 100%;
		font-size: 87.5%;/*14px*/
	}
	.l-cont{
		padding: 24px;
	}
	.sp{
		display: block;
	}
	#Movie h2 {
	    font-size: 50px;
	}

	.copyright{
		font-size: 12px;
	}



}
