@charset 'UTF-8';
/* CSS Document */

@media only screen and (max-width: 768px)
{
    body
    {
        min-width: inherit;
    }
}

@media only screen and (max-width: 1000px)
{
	
	body
    {
    	/* overflow-x: auto; */
	}
	
	div.wrapper {
		min-width: 100%;
		/* overflow-x: auto;  */
	}
}

@media only screen and (max-width: 768px)
{

    /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ common */

    div.inner
    {
        box-sizing: border-box;
        width: 100%;
        min-width: 100%;
		padding: 0 1em;
    }
	
    .default
    {
        display: none;
    }
    .responsive
    {
        display: block;
    }
	
	.responsive-inline-block
    {
        display: inline-block;
    }
	
	.resp_fs1 { font-size: 0.8rem !important; }
	.resp_fs2 { font-size: 1.0rem !important; }
	.resp_fs3 { font-size: 1.2rem !important; }
	.resp_fs4 { font-size: 1.3rem !important; }
	.resp_fs5 { font-size: 1.4rem !important; }
	.resp_fs6 { font-size: 1.8rem !important; }
	.resp_fs7 { font-size: 2.4rem !important; }
	.resp_fs8 { font-size: 3.6rem !important; }
	.resp_fs9 { font-size: 4.8rem !important; }
	
	.resp_w5 { width: 5%; }
	.resp_w10 { width: 10%; }
	.resp_w15 { width: 15%; }
	.resp_w16 { width: 16%; }
	.resp_w20 { width: 20%; }
	.resp_w22 { width: 22%; }
	.resp_w24 { width: 24%; }
	.resp_w25 { width: 25%; }
	.resp_w28 { width: 28%; }
	.resp_w30 { width: 30%; }
	.resp_w32 { width: 32%; }
	.resp_w40 { width: 40%; }
	.resp_w45 { width: 45%; }
	.resp_w49 { width: 49%; }
	.resp_w50 { width: 50%; }
	.resp_w51 { width: 51%; }
	.resp_w55 { width: 55%; }
	.resp_w60 { width: 60%; }
	.resp_w68 { width: 68%; }
	.resp_w70 { width: 70%; }
	.resp_w72 { width: 72%; }
	.resp_w75 { width: 75%; }
	.resp_w76 { width: 76%; }
	.resp_w78 { width: 78%; }
	.resp_w80 { width: 80%; }
	.resp_w84 { width: 84%; }
	.resp_w85 { width: 85%; }
	.resp_w90 { width: 90%; }
	.resp_w95 { width: 95%; }
	.resp_w100 { width: 100%; }
	
	.resp_tc {
		text-align: center;
	}
	
	.resp_tl {
		text-align: left;
	}
	
	.resp_tr {
		text-align: right;
	}
	
	.resp_vt {
		vertical-align: top;
	}
	
	.resp_vm {
		vertical-align: middle;
	}
	
	.resp_vb {
		vertical-align: bottom;
	}
	
	.resp_m_o0 { margin-top: 0 !important; }
	.resp_m_o1 { margin-top: 1% !important; }
	.resp_m_o2 { margin-top: 2% !important; }
	.resp_m_o4 { margin-top: 4% !important; }
	
	.resp_m_l0 { margin-left: 0 !important; }
	.resp_m_l1 { margin-left: 1% !important; }
	.resp_m_l2 { margin-left: 2% !important; }
	.resp_m_l4 { margin-left: 4% !important; }
	
	.resp_m_r0 { margin-right: 0 !important; }
	.resp_m_r1 { margin-right: 1% !important; }
	.resp_m_r2 { margin-right: 2% !important; }
	.resp_m_r4 { margin-right: 4% !important; }
	
	.resp_m_u0 { margin-bottom: 0 !important; }
	.resp_m_u5 { margin-bottom: 5px !important; }
	.resp_m_u10 { margin-bottom: 10px !important; }
	.resp_m_u20 { margin-bottom: 20px !important; }
	.resp_m_u30 { margin-bottom: 30px !important; }
	.resp_m_u40 { margin-bottom: 40px !important; }
	.resp_m_u50 { margin-bottom: 50px !important; }
	.resp_m_u60 { margin-bottom: 60px !important; }
	.resp_m_u80 { margin-bottom: 80px !important; }
	
	.fl,
	.fr {
		float: none;
	}
	
	.resp_fl {
		float: left;
	}
	
	.resp_fr {
		float: right;
	}
	
	.resp_center {
		margin-right: auto !important;
		margin-left: auto !important;
	}
	
	.google-maps {
		position: relative;
		padding-bottom: 75%;
		height: 0;
		overflow: hidden;
	}
	
	.google-maps iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100% !important;
		height: 100% !important;
	}

	.movieWrap {
		position: relative;
		padding-bottom: 56.25%;
		padding-top: 30px;
		height: 0;
		overflow: hidden;
	}
	 
	.movieWrap iframe,
	.movieWrap object,
	.movieWrap a {
		position: absolute;
		top: 0;
		left: 0;
		width: 100% !important;
		height: 100% !important;
	}
	
	/* table.deco-tb.form -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

	

	
	
	
	/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- table.resp_block */

	table.resp_block {
		width: 100%;
		border: none;
		
	}
	
	table.deco-tb.resp_block {
		border: none;
		border-bottom: 3px solid #f0f0f0;
	}
	
	table.resp_block thead {
		display: none;
	}
	
	table.resp_block tr {
		display: block;
		border: none;
		/* margin-bottom: 1em;
		padding: 1em; */
		
		/* border-radius: 5px; */
	}
	
	table.resp_block.stamp tr {
		display: block;
		border: none;
		margin-bottom: 1em;
		border: 1px solid #ccc;
		padding: 1em;
		
		/* border-radius: 5px; */
	}

	table.resp_block.stamp tr th,
	table.resp_block.stamp tr td {
		border: none;
	}
	

	table.resp_block th {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 0;
	}

	table.resp_block td {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 0;
		border: none;
		margin-bottom: 0.5em;
	}
	
	table.resp_block tr td:last-child {
		margin-bottom: 0;
	}
	
	table.resp_block tr td:first-child {
		border-top: none;
	}
	
	 table.resp_block.stamp td:before {
		content: attr(data-text)"";
		display: block;
		width: 100%;
		font-weight: bold;
		/* padding-top: 1em; */
		/* background: #f8f8f8; */
		/* border: 1px solid #e9ecef; */
		border-left: none;
		border-right: none;
		/* padding: 0; */
		box-sizing: border-box;
		/* margin-bottom: 0.5em; */
	}	
	
	
	
	
	
	
	
	
	/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------cell combine セルを結合するばあい */
	
	table.resp_block td.border-top-0 {
		display: none;
	}
	
	table.resp_block tr.cellcombine {
		margin-bottom: 0;
		border-top: none;
		border-bottom: none;
		border-radius: 0;
	}
	
	table.resp_block tr.cellcombine:nth-child(2n) {
		background: #f8f8f8;
	}
	
	table.resp_block tr.cellcombine.first {
		border-top: 1px solid #eee;
		border-radius: 5px 5px 0 0;

	}
		
	table.resp_block tr.cellcombine.last {
		border-bottom: 1px solid #eee;
		border-radius: 0 0 5px 5px;
		margin-bottom: 2em;
	}
	
	
	
	
	
	
	
	/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ responsive-type-outer */
	
	div.responsive-type-outer {
		overflow-x: scroll;
    	-webkit-overflow-scrolling: touch;	
	}
	
	div.responsive-type-outer table.deco-tb {
		table-layout: auto;
		white-space: nowrap;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
    /* -------------------------------------------------------- header */

    header
    {
       
    }
	
	header div.pref {
		float: none;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
		padding: 0.5em 0;
	}
 
    header div.logo {
		display: none;
	}

	header div.sns {
		float: none;
		text-align: center;
		padding: 0;
		
		margin-right: inherit;		
	}
	
	
	
	
	
	
	section.main-visual {
		height: calc(100vh - 100px) !important;
		padding-top: 0;
		min-height: inherit;
	}
	
	
	section.main-visual div.inner {
	    /* padding-top: 90%; */
	}
	
	section.main-visual div.sand {
		top: 10%;
		left: 50%;
		position: absolute;
		transform: translate( -50%, 0);
		-webkit-transform: translate( -50%, 0);
	}
	
	section.main-visual div.sand img {
		height: 40vh !important;
		max-width: none;
		width: auto;
		/* max-width: 400px; */
		margin-left: auto;
		margin-right: auto;
		
		display: block;
		
	}
	
	section.main-visual div.copy {
		/* left: inherit;
		position: relative;
		top: inherit;
		transform: none;
		z-index: 2;
		
		line-height: 1.5;
		padding-top: 2em;
		text-align:center; */
		
		width: 100%;
		max-width: 300px;
		height: auto;
		/* top: 50%; */
	}
	
	section.main-visual div.copy h2 {
		font-size: 2.4rem;
	}

	section.main-visual div.logo {
		/* bottom: 5%; */
		bottom: inherit;
		top: 45%;
		left: 50%;
		position: absolute;
		transform: translateX(-50%) translateY(-50%);
		-webkit-transform: translateX(-50%) translateY(-50%);
		z-index: 1;
		/* width: 70%; */
		/* max-width: 300px; */
		width: 100%;
		height: auto !important;
		text-align: center;
	}
 
	section.main-visual div.logo img {
		height: inherit;
		max-width: none;
		/* width: 100%; */
	
		width: 100%;
	max-width: 400px;
		height: auto !important;
		margin-left: auto;
		margin-right: auto;
	}
	
	section.main-visual div.schedule {
		bottom: auto;
		top: 70%;
		left: 0;
		position: absolute;
		transform: none;
		z-index: 1;
		width: 100%;
	}
	
	section.main-visual div.schedule img {
		max-width: 100%;
	}

	
	 /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ common */
	
	div.wrapper {
		box-sizing: border-box;
		font-size: 1.6rem;
		line-height: 1.8;
		overflow: hidden;
	}
	
	
	
	section h2 {
		font-size: 2.8rem;
		line-height: 1.5;
		font-weight: bold;
		margin-bottom: 1em;
		text-align: center;
		
		white-space: nowrap;
		width: 100%;
		box-sizing: border-box;
	}
	
	section div.title h2 {
		background: #fff none repeat scroll 0 0;
		border-radius: 10px;
		display: inline-block;
		font-size: 2.6rem;
		line-height: 1.5;
		padding: 1em 0.5em;
	}
	
	section div.title h2::before {
		
		top: 0;
		transform: translate(-50%, -50%);
	}
	
	section div.title h2::after {
		
		top: 0;
		transform: translate(-50%, -50%);
	}
		   
	section div.sub-title {
		font-size: 2.0rem;
		font-weight: bold;
		text-align: center;
	}
	
	
	section.stamp-rally h3,
	section.photo-contest h3 {
	
		font-size: 2rem;
	}
	
	section.goods h3,
	section.other h3 {
		font-size: 2rem;
		line-height: 1.5;
	}
	
	h4 {
		font-size: 1.8rem;
		font-weight: bold;
	}

	
	
	nav ul {
		display: block;
		height: auto;
		table-layout: inherit;
		width: 100%;
		
		padding-bottom: 1em;
	}
	
	
	nav ul li {
		display: block;
		position: relative;
		vertical-align: middle;
		width: 49%;
		float: left;
	}
	
	nav ul li a {
		padding-bottom: 0;
	
	}
	
	nav ul li a div.title {
		height: 8vw;
		/* position: relative; */
	}
	
	
	nav ul li a div.title span {
		left: 50%;
		position: absolute;
		top: inherit;
		transform: none;
		width: 100%;
		
		font-size: 4vw;
		white-space: nowrap;
		transform: translate( -50%, 0);
		-webkit-transform: translate( -50%, 0);
		
	}
	
	
	section.what div.sub-title span.fs8 {
		font-size: 3.0rem;
		color: #ec6c00;
	}

	
	
	section.what div.inner::before {
		/* background: rgba(0, 0, 0, 0) url("../img/main-visual-alola.png") no-repeat scroll 0 0 / 200px 300px;
		content: "";
		height: 600px;
		left: -100px;
		overflow: visible;
		position: absolute;
		top: 0;
		width: 200px;
		z-index: -1; */
	}
	section.what div.inner::after {
		/* background: rgba(0, 0, 0, 0) url("../img/main-visual-sand.png") no-repeat scroll 0 0 / 200px 300px;
		content: "";
		height: 600px;
		overflow: visible;
		position: absolute;
		right: -100px;
		top: 0;
		width: 200px;
		z-index: -1; */
	}
		
	
	
	
	
	
	
	
	section.what div.character-profile div.profile-information {
		float: none;
		width: 100%;
	}
	
	section.what div.character-profile div.profile-information div.figure {
		margin-right: 0;
		max-width: 100%;
		padding: 0.5em 0;
		position: relative;
		width: 100%;
	}
	
	section.what div.character-profile div.profile-information div.figure img {
		width: 70%;
		margin-left: auto;
		margin-right: auto;
	}
	
	section.what div.character-profile div.profile-information div.description {
		width: 100%;
	}
	
	section.what div.character-profile div.profile-information div.description div.name {
		font-size: 3rem;
		line-height: 1.5;
		white-space: nowrap;
		text-align: center;
	}
	
	
	section.what div.character-profile div.commentary-description {
		box-sizing: border-box;
		float: none;
		padding: 0 1em;
		width: 100%;
	}
	
	section.what div.outbox {
		position: relative;
		height: auto !important;
	}
	
	section.what div.outbox {
		position: relative;
		 text-align: left;
	}
	
	section.what div.outbox .inbox {
		position: relative;
		top: 0;
		left: 0;
		transform: none;	
	}
	
	
	
	
	section.stamp-rally div.figure {
   		width: 100%;
	}
	
	section.stamp-rally div.prize-wrap {
		float: none;
		margin-right: 0;
		width: 100%;
	}
	
	section.stamp-rally div.prize-wrap.center {
		float: none;
		margin-right: 0;
		width: 100%;
	}
		
	section.stamp-rally div.trigger {
		width: 90%;
	}
	
	table.deco-tb.stamp {
		/* width: 90%; */
	}
	
	div.onsen-name {
		/* width: 90%; */
	}
	
	p.description {
		/* width: 90%; */
	}


	section.photo-contest div.prize-wrap {
		float: none;
		margin-right: 0;
		width: 100%;
	}
	
	
	
	

	section.goods div.goods-wrap div.thumbnail {
		
		float: none;
		/* height: 300px; */
		margin-right: 0;
		width: 100%;
		
		margin-bottom: 10px;
	}
	
	
	section.goods div.goods-wrap div.wrap {
		float: none;
		width: 100%;
	}
		
	section.other ul.deco-list.other li::before {		
		top: 5px;
		left: 0;
		
	}	
	
	section.other div.other-article div.other-figure {
		/* height: 300px; */
		width: 100%;
	}
	
	section.other div.other-article div.wrap {
		width: 100%;
	}
	
	
	footer div.banner {
		width: 100%;
		max-width: 468px;
	}
	
	footer div.banner img {
		width: 100%;
		max-width: 468px;
	}
	
	
	
	
	
	
		
}