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

@media only screen and (max-width: 768px)
{
    body
    {
        min-width: inherit;
		/* padding-top: 60px; */
    }
	
	body:before {
		width: 10px;

	}
}

@media only screen and (max-width: 1000px)
{
	
	body
    {
    	/* overflow-x: auto; */
	}
	
	div.wrapper {
		min-width: 100%;
		padding-top: 0;
		/* 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% !important; }
	.resp_w10 { width: 10% !important; }
	.resp_w15 { width: 15% !important; }
	.resp_w16 { width: 16% !important; }
	.resp_w20 { width: 20% !important; }
	.resp_w22 { width: 22% !important; }
	.resp_w24 { width: 24% !important; }
	.resp_w25 { width: 25% !important; }
	.resp_w28 { width: 28% !important; }
	.resp_w30 { width: 30% !important; }
	.resp_w32 { width: 32% !important; }
	.resp_w40 { width: 40% !important; }
	.resp_w45 { width: 45% !important; }
	.resp_w49 { width: 49% !important; }
	.resp_w50 { width: 50% !important; }
	.resp_w51 { width: 51% !important; }
	.resp_w55 { width: 55% !important; }
	.resp_w60 { width: 60% !important; }
	.resp_w68 { width: 68% !important; }
	.resp_w70 { width: 70% !important; }
	.resp_w72 { width: 72% !important; }
	.resp_w75 { width: 75% !important; }
	.resp_w76 { width: 76% !important; }
	.resp_w78 { width: 78% !important; }
	.resp_w80 { width: 80% !important; }
	.resp_w84 { width: 84% !important; }
	.resp_w85 { width: 85% !important; }
	.resp_w90 { width: 90% !important; }
	.resp_w95 { width: 95% !important; }
	.resp_w100 { width: 100% !important; }
	
	.resp_tc {
		text-align: center !important;
	}
	
	.resp_tl {
		text-align: left !important;
	}
	
	.resp_tr {
		text-align: right !important;
	}
	
	.resp_vt {
		vertical-align: top !important;
	}
	
	.resp_vm {
		vertical-align: middle !important;
	}
	
	.resp_vb {
		vertical-align: bottom !important;
	}
	
	.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; }
	
	.resp_p_o0 { padding-top: 0 !important; }
	.resp_p_o1 { padding-top: 1% !important; }
	.resp_p_o2 { padding-top: 2% !important; }
	.resp_p_o4 { padding-top: 4% !important; }
	
	.resp_p_l0 { padding-left: 0 !important; }
	.resp_p_l1 { padding-left: 1% !important; }
	.resp_p_l2 { padding-left: 2% !important; }
	.resp_p_l4 { padding-left: 4% !important; }
	
	.resp_p_r0 { padding-right: 0 !important; }
	.resp_p_r1 { padding-right: 1% !important; }
	.resp_p_r2 { padding-right: 2% !important; }
	.resp_p_r4 { padding-right: 4% !important; }
	
	.resp_p_u0 { padding-bottom: 0 !important; }
	.resp_p_u5 { padding-bottom: 5px !important; }
	.resp_p_u10 { padding-bottom: 10px !important; }
	.resp_p_u20 { padding-bottom: 20px !important; }
	.resp_p_u30 { padding-bottom: 30px !important; }
	.resp_p_u40 { padding-bottom: 40px !important; }
	.resp_p_u50 { padding-bottom: 50px !important; }
	.resp_p_u60 { padding-bottom: 60px !important; }
	.resp_p_u80 { padding-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 {
		border: none;
		box-sizing: border-box;
	}
	
	table.deco-tb.resp_block {
		border: none;
	}
	
	table.resp_block thead {
		display: none;
	}
	
	table.resp_block tr {
		display: block;
		/*border: none;
		margin-bottom: 2em; */
		padding: 0;
		
		/* border-radius: 5px; */
	}

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

	table.resp_block td:before {
		content: attr(data-text)"";
		display: block;
		width: 100%;
		font-weight: bold;
		/* padding-top: 1em; */
		border-left: none;
		border-right: none;
		padding: 0.5em 0;
		box-sizing: border-box;
		/* margin-bottom: 0.5em; */
		border-top: 1px solid #ccc;
	}
	
	table.resp_block td {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 0;
		border: none;
		margin-bottom: 0.8em;
	}
	
	
	table.deco-tb.supplier {border: none;}
	table.deco-tb.supplier th {border-bottom: none;}
	table.deco-tb.supplier td {border: none;}
	
	
	/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------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%;
		/* position: relative; */
		top: 0;
		
		/* height: 60px; */ /* */
		background: #fff;
    }
	
	header div.inner {
		padding: 0;
	}
	
    
	header div.logo {
		float: none;
		/* padding: 0.5em 0 0.5em 0.5em;
		top: 0;
		transform: translate( 0, 0);
		-webkit-transform: translate( 0, 0); */
	}
	
	header div.logo a img,
	footer div.logo a img
	{
		/* width: 85%;
		height: auto; */
		display: block;
		width: 220px;
		height: auto;
	}

	header::before,
	header::after {
		/* background: none;
		content: "";
		height: auto;
		position: relative;
		right: 0;
		top: 0;
		width: 0;
		z-index: 0;
		display: none; */
		height: 60px;
	}
   
    header::before {
		z-index: 0;
		width: 75%;
	}

    header::after {
		z-index: -1;
	}
	
	
	header div.header-top {
		height: auto;
	}
	
	header div.logo h1,
	header div.logo span {
		height: 30px;
		position: relative;
		display: block;
	}
	
	header div.logo a {
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
	}
	
	
	header div.header-top div.utility {
		float: none;
		height: auto;
		position: relative;
	}	
	
	header div.header-top div.utility ul {
		float: none;
		padding-top: 0;
		text-align: center;
		margin-bottom: 0.5em;
	}
	
	header div.header-top div.utility ul li {
		float: none;
		margin-right: 0;
		padding: 0 0.5em;
		position: relative;
		display: inline-block;
	}
	
	header div.header-top div.utility ul li a {
		font-size: 1.2rem;
	}
	
	header div.header-top div.utility div.tel {
    	float: none;
		text-align: center;	
		margin-bottom: 0.5em;	
	}
	
	header div.header-top div.utility div.tel div.wrap {
		display: inline-block;
		border: 1px solid #ddd;
		padding: 0 1em;
		border-radius: 1000px;
	}
		
	header div.header-bottom {
    	border-bottom: 1px solid #ddd;
	}
	
	/* -------------------------------------------------------- header nav */

    header nav
    {
        left: 0;
		/* top: 60px; */ /* */

        overflow: visible;

        width: 100%;
		height: auto;
    }

    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;
		background: #fff;
    }

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

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

        display: block;

        /* border-bottom: 1px solid #e6e6e6; */
		/* height: 100%; */
		height: auto;
    }
	
	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
    {

        position: relative;

        display: block;

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

        text-align: left;
		
		font-size: 1.6rem;
		color: #555;
		border-bottom: 1px solid #ccc;
    }

    header nav ul li a:after,
    header nav ul li a.current:after
    {
        position: absolute;
        top: 50%;
        right: 1em;
		left: inherit;

        display: block;

        width: 10px;
        height: 10px;

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

        border-top: 1px solid #555;
        border-right: 1px solid #555;
		
        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:last-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: 1px solid #f75f6f;
		border-top: 1px solid #f75f6f; */
    }
	
	nav ul li a:hover::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: 1px solid #ff8e00;
		border-right: 1px solid #ff8e00;
		
		background: none; */
	}

	
	nav ul li.current a
	{
		color: #f75f6f;
	}
	
	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);
	}
	
    /* -------------------------------------------------------- menu-button */

    header div.menu-button
    {
        position: absolute;
		/* top: 0; */
		
		top: 0;
		right: 0;

        display: block;

        width: 40px;
        height: 40px;
		
		z-index: 9999;
		
		/* transform: translate( 0, -50%);
		-webkit-transform: translate( 0, -50%);	 */	
		
		border: 1px solid #ddd;
		background: #fff;

    }

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

        cursor: pointer;
    }

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

        display: block;

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

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

        position: absolute;

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

        color: #555;
		
		bottom: 0em;
		text-align: center;
    }

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

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

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

        width: 40px;
        height: 40px;
    }

    header div.menu-button span
    {
        position: absolute;
        left: 0;

        display: inline-block;

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

        transition: all .4s;

        background: #555;
    }

    header div.menu-button span:nth-of-type(1)
    {
        top: 8px;
        left: 10px;
    }

    header div.menu-button span:nth-of-type(2)
    {
        top: 14px;
        left: 10px;
    }

    header div.menu-button span:nth-of-type(3)
    {
        bottom: 18px;
        left: 10px;
    }

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

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

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


/* section.mainvisual */

section.mainvisual {
	padding: 0;
	overflow: hidden;
}

section.mainvisual div.inner {
	position: relative;
	height: 250px;
}

section.mainvisual div.copy {
	width: 30vw;
}

section.mainvisual .flexslider .slides img {
    display: block;
    width: 150% !important;
	max-width: 150%;
	margin-left: -50%;
}

/* section.news */

section.news div.title-part {
    float: none;
    position: relative;
    width: 100%;
	margin-bottom: 40px;
}

section.news div.title-part::after {
    background: none;
    content: "";
    height: auto;
    position: relative;
    right: 0;
    top: auto;
    width: 0;
}

section.news div.entry-part {
    float: none;
    padding: 0 0 0 0;
    width: 100%;
}

section.news ul li a div.entry div.update {
    color: #333;
    float: none;
    padding-right: 0;
}


/* section.status */

section.status div.title-part {
    float: none;
    position: relative;
    width: 100%;
	margin-bottom: 40px;
}

section.status div.title-part::after {
    background: none;
    content: "";
    height: auto;
    position: relative;
    right: 0;
    top: auto;
    width: 0;
}

section.status div.status-part {
    float: none;
    padding: 0 0 0 0;
    width: 100%;
}

section.status div.status-part ul li {
    float: none;
    font-size: 1.5rem;
    margin-right: 0;
    padding: 0.5em 1em;
    width: 100%;
}

/* section.introduction */

section.introduction div.description-wrap {
    min-width: 100%;
    width: 100%;
	height: auto;
	padding: 1em;
	box-sizing: border-box;
	background: none;
}

section.introduction div.inner {
	padding: 0;
}

section.introduction div.description-wrap div.wrap-inner {
    left: 0;
    position: relative;
    top: 0;
    transform: none;
	-webkit-transform: none;
    width: 100%;
}

section.introduction.greeting div.description-wrap div.title {
	padding-top: 55vw; /* */
}

section.introduction div.description-wrap div.title h2 {
    color: #555;
    font-size: 2.4rem;
    white-space: nowrap;
}

section.introduction {
	background-position: top right;
	background-size: 150%;
    padding: 0;
	height: auto;
}

section.introduction div.description-wrap:after {
	display: none;
	position: relative;
	right: 0;
	width: 0;
	height: 0;
	content: "";
	background: -moz-linear-gradient(left, #fff, transparent);
	background: -webkit-linear-gradient(left, #fff, transparent);
	background: linear-gradient(to right, #fff, transparent);
}

/* section.staff */

section.staff ul li {
    float: none;
    margin-right: 0;
    width: 100%;
}

section.staff ul li div.spot {
	display: block;
    height: auto;
	background: #f8f8f8;
}

section.staff ul li div.spot span {
    display: block;
    height: auto;
	width: 100%;
	max-width: 320px;
	margin-left: auto;
	margin-right: auto;
}

section.staff ul li div.spot span img {
    display: block;
    height: auto;
    left: auto;
    margin: 0 auto;
    max-height: none;
    max-width: 100%;
    position: relative;
    top: auto;
    transform: none;
	-webkit-transform: none;
    width: 100%;
}

/* section.introduction.facility */
section.introduction.facility::before {
    height: 100% !important;
	width: 10px !important;
}

section.introduction.facility div.description-wrap {
    box-sizing: border-box;
    float: none !important;
    min-width: 100% !important;
    padding: 0 !important;
}

/* left or right */

section.introduction.facility.left div.description-wrap div.wrap-inner {
    left: -20px;
    position: relative;
    top: 0;
    transform: none;
	-webkit-transform: none;
    width: calc(100% - 120px) !important;
    padding-top: 100vw;
	float: right;
}

section.introduction.facility.right div.description-wrap div.wrap-inner {
    left: auto;
	right: 10px;
    position: relative;
    top: 0;
    transform: none;
	-webkit-transform: none;
    width: calc(100% - 120px) !important;
    padding-top: 100vw;
	float: right;
}


section.introduction.facility {
	background-position: top right !important;
	background-size: 150% !important;
    padding: 0 !important;
	height: auto !important;
}

section.introduction.facility::after {
    background: none !important;
}

section.introduction div.description-wrap div.title {
    padding-top: 100vw;
	height: auto;
	width: 90px !important;
}

section.introduction div.description-wrap div.link a,
section.introduction div.description-wrap div.link a:nth-child(2n) {
    box-sizing: border-box;
    float: none;
    margin-right: auto;
	margin-left: auto;
}

section.introduction div.description-wrap div.description {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 20px;
}

section.introduction.facility div.link {
	margin-bottom: 40px;
}



/* */

section.other-facility {
}



section.other-facility ul li {
	float: none;
	width: 100%;
	margin-right: 0;
	margin-bottom: 20px;

}

section.other-facility ul li:last-child {
	margin-right: 0;
}



/* footer */

footer div.logo {
    float: none;
    margin-right: auto;
	margin-left: auto;
    width: 80%;
	max-width: 200px;
}


footer div.information {
    float: none;
    width: 100%;
	text-align: center;
}

footer div.information div.information-detail {
    white-space: normal;

}

