@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;
    }
	
	.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;
		margin-left: auto;
	}
	
	.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: 1px solid #e5e4d6;
	}
	
	table.resp_block thead {
		display: none;
	}
	
	table.resp_block tr {
		display: block;
		border: none;
		/* margin-bottom: 2em; */
		/* border: 1px solid #e9ecef;
		padding: 1em;
		
		border-radius: 5px; */
	}

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

	table.resp_block td {
		display: block;
		width: 100%;
		box-sizing: border-box;
		border: none;
		margin-bottom: 1em;
		padding-top: 0;
	}
	
	table.resp_block tr td:last-child {
		margin-bottom: 0;
	}
	
	table.resp_block tr td:first-child {
		border-top: none;
	}
	
	table.resp_block 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 0.5em;
		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
    {
        width: 100%;
    }
	
	header > div.inner {
		height: auto;
        padding: 0;
		max-height: none;
	}
	
    header div.top
	{
		display: none;
	}
	
	header div.logo {
		float: none;
		padding: 0.5em 0 0.5em 0.5em;
	}
	
	header div.logo a img,
	footer div.logo a img
	{
		width: 85%;
		height: auto;
		display: block;
	}

    /* -------------------------------------------------------- header ul.utility */
	
	header>div.inner.clearfix>div.fr {
		float: none;
	}

	header ul.utility {
		background: #f0f0f0;
    }

	header ul.utility {
		width: 100%;
		text-align: center;
    }

	header ul.utility li a {
		font-size: 1.1rem;
		white-space: nowrap;
		padding: 0 0.2em;
	}
	
	header ul.utility li a::before {
		border: none;
		content: "";
		height: auto;
		left: 0;
		margin: 0;
		position: relative;
		top: 0;
		transform: none;
		width: auto;
	}
    
	/* -------------------------------------------------------- header nav */

    header nav
    {
        left: 0;

        overflow: visible;

        width: 100%;
    }

    header nav div.inner
    {
        width: 100%;
        padding: 0;
    }

    header nav ul
    {
        display: block;
        overflow: hidden;

        width: 100%;
        max-height: 0;
        margin: 0 auto;

        transition: all .5s ease-in-out;
    }

    header nav ul.active
    {
        max-height: 1000px;
    }

    header nav ul li
    {
        font-size: 1.6rem;

        display: block;

        /* border-bottom: 1px solid #e6e6e6; */
		height: 100%;
    }
	
	header nav ul li:first-child
    {
        /* border-top: 1px solid #e6e6e6; */
    }
	
    header nav ul li:last-child
    {
        border-bottom: none;
    }

    header nav ul li a
    {
        font-weight: bold;

        position: relative;

        display: block;

        box-sizing: border-box;
        width: 100%;
		height: 100%;
        padding: 18px 20px;

        text-align: left;
		
		font-size: 1.6rem;
    }

    header nav ul li a:after
    {
        position: absolute;
        top: 50%;
        right: 15px;
		left: inherit;

        display: block;

        width: 5px;
        height: 5px;
        margin-top: -5px;

        content: '';
        transition: all .2s ease-in-out;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);

        border-top: 2px solid #f35955;
        border-right: 2px solid #f35955;
		
        background: none;
    }

    header nav ul li:first-child a::before
    {
        position: relative;
        top: auto;
        left: 0;

        width: auto;
        height: auto;
        margin-top: 0;

        content: '';

        background: none;
    }    
	
	/*
    header nav ul li a::after
    {
        position: relative;
        z-index: 9999;
        bottom: 0;
        left: 0;

        width: 0;
        height: auto;

        content: '';

        background: none;
    }
	*/

    nav ul li a:hover::after {
        left: inherit;

        width: 5px;
		border-right: 2px solid #f75651;
		border-top: 2px solid #f75651;
    }
	
	nav ul li.current a
	{
		color: #333;
	}
	
	nav ul li.current:after
	{
		position: relative;
		content: "";
		bottom: 0;
		width: auto;
		height: 0;
		left: 0;
		background: none;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
	}
	
    /* -------------------------------------------------------- menuButton */

    header div.menuButton
    {
        position: absolute;
		top: 0;
		right: 0;

        display: block;

        width: 40px;
        height: 40px;

    }

    header div.menuButton div.menu-trigger
    {
        display: block;

        cursor: pointer;
    }

    header div.menuButton div.menu-trigger > div
    {
        position: relative;

        display: block;

        width: 40px;
        height: 40px;
        margin: 0 auto;
    }

    header div.menuButton div.menu-trigger > div div.label
    {
        font-size: 1.0rem;
        font-weight: bold;

        position: absolute;

        box-sizing: border-box;
        width: 40px;

        color: #f35955;
		
		bottom: -0.5em;
		text-align: center;
    }

    header div.menuButton div.menu-trigger > div div.label::before
    {
        content: 'MENU';
    }

    header div.menuButton div.menu-trigger > div div.label.open::before
    {
        content: 'CLOSE';
    }

    header div.menuButton div.menu-trigger > div div.hamburger
    {
        position: relative;

        width: 40px;
        height: 40px;
    }

    header div.menuButton span
    {
        position: absolute;
        left: 0;

        display: inline-block;

        box-sizing: border-box;
        width: 20px;
        height: 2px;

        transition: all .4s;

        background: #f35955;
    }

    header div.menuButton span:nth-of-type(1)
    {
        top: 13px;
        left: 10px;
    }

    header div.menuButton span:nth-of-type(2)
    {
        top: 19px;
        left: 10px;
    }

    header div.menuButton span:nth-of-type(3)
    {
        bottom: 13px;
        left: 10px;
    }

    header div.menuButton.active span:nth-of-type(1)
    {
        -webkit-transform: translateY(6px) rotate(-45deg);
                transform: translateY(6px) rotate(-45deg);
    }

    header div.menuButton.active span:nth-of-type(2)
    {
        opacity: 0;
    }

    header div.menuButton.active span:nth-of-type(3)
    {
        -webkit-transform: translateY(-6px) rotate(45deg);
                transform: translateY(-6px) rotate(45deg);
    }

    /* ie9 */
	/*
    html.ie9 header div.menuButton
    {
        position: relative;

        display: block;

        width: 100%;
        height: 40px;

        background: #003e6c;
    }

    html.ie9 header div.menuButton div.menu-trigger > div div.hamburger
    {
        background: url(../img/menubutton.png) no-repeat;
        background-position: center;
        background-size: 20px 20px;
    }

    html.ie9 header div.menuButton.active div.menu-trigger > div div.hamburger
    {
        background: url(../img/menubutton_active.png) no-repeat;
        background-position: center;
        background-size: 20px 20px;
    }

    html.ie9 header div.menuButton span
    {
        display: none;
    }
	*/
	
	
	 /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ common */
	
	section {
		padding: 30px 0;
	}
	
	section div.title h2 img {
    	width: 50%;
	}
	
	section.mainVisual {
		height: 360px;
		padding: 0;
		position: relative;
		width: 100vw;
	}
	
	section.mainVisual div#slider, section.mainVisual div#slider ul {
		height: 360px;
	}
	
	section.mainVisual div.title {
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
		z-index: 9999;
	}
	
	
	section.mainVisual div.title img {
		display: block;
		height: auto;
		left: 50%;
		min-width: 360px;
		max-width: 600px;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
	}
	
	section.mainVisual li:nth-child(1) { background: url(../img/mainvisual_01.jpg); background-repeat: no-repeat; background-size: cover; background-position: top; background-attachment: inherit;}
	section.mainVisual li:nth-child(2) { background: url(../img/mainvisual_02.jpg); background-repeat: no-repeat; background-size: cover; background-position: top; background-attachment: inherit;}
	section.mainVisual li:nth-child(3) { background: url(../img/mainvisual_03.jpg); background-repeat: no-repeat; background-size: cover; background-position: top; background-attachment: inherit;}
	section.mainVisual li:nth-child(4) { background: url(../img/mainvisual_04.jpg); background-repeat: no-repeat; background-size: cover; background-position: top; background-attachment: inherit;}
	section.mainVisual li:nth-child(5) { background: url(../img/mainvisual_05.jpg); background-repeat: no-repeat; background-size: cover; background-position: top; background-attachment: inherit;}
	
	
	
	section.instagram ul.column4 li {
		width: 48.56%;
		margin-right: 2.88%;
		
		font-size: 1.2rem;
	}
	
	section.instagram ul.column4 li:nth-child(2n) {
		margin-right: 0;
	}
	
	section.instagram ul.column4 li::before {
		border: none !important;
		left: 0;
		margin-left: 0;
		position: relative;
		top: inherit;
		transition: border-color 0.2s linear 0s;
		width: 0;
		z-index: 0;
	}
	
	section.schedule div.schedule_figure img {
    	width: 100%;
	}
	
	section.entry div.entry_figure img {
    	width: 100%;
	}
	
	section.result div.description {    
	    width: 100%;
		box-sizing: border-box;
	}
	
	
	h3 {
		text-align: center;
		font-size: 3rem;
	}
	
	
	
	
	
	
	
	
	/* result-photo */
	
	div.result-photo {
		margin-bottom: inherit;  /* */
	}
	
	div.result-photo > div.fl {
		position: relative;
		background: none;
	}
	
	div.result-photo > div.fl img {
		position: relative;
		top: inherit;
		transform: none;
		-webkit-transform: none;
		display: inline;
	}
	
	div.result-photo div.names {
		position: relative;
		bottom: 0; /* */
		width: 100%;
			
	}
	

	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	


	
	
	
	
	
	
	
	
	
	
	

	
	
	
	
	
	
	
		
}
