/*Tabletは940px以下、Smartphoneは横にした時を含め709px以下に設定*/


/*グリッド表示*/
/*.columns, .column {border: solid 1px #eee;}*/


/* Grid
========================================================= */
/*最大幅*/
.container {
	max-width: 960px;
}

/*メインコンテナの幅*/
.container.inside {
	max-width: 780px;
}

.container.inside-inner {
	max-width: 720px;
}


/*asideの余白*/
aside {
        margin-top: 3em;
}


/*ホームのカラム幅*/
#home .six.columns { width: 49%; margin-left: 2%;}
#home .six.columns:first-child { margin-left: 0%;}


/*サブページのカラム幅*/
.six-l.columns { width: 50%; margin-top: 5px;}
.six-r.columns { width: 46%; text-align: center; margin-bottom: 2em;}
.six-r img{ margin-left: 2%;}
.six-r p{ margin-left: 1%; text-align: left;}


/*for Mobile*/
@media (max-width: 960px) {
}
@media (max-width: 709px) {
	.container {
		padding: 0 10px;
	}
        .six-r img{ margin-left:0;}
}


/* Base Styles
========================================================= */
/* NOTE
html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
html {
        font-size: 62.5%; 
}
body {
        font-size: 1.4rem; /* currently ems cause chrome bug misinterpreting rems on body element */
        line-height: 1.75;
        font-weight: normal;
        font-family: 'Meiryo', 'メイリオ', 'Hiragino Kaku Gothic', 'ヒラギノ角ゴ', 'MS PGothic', arial, helvetica, sans-serif;
        color: #040000; 
        /*font-family: "acumin-pro", "source-han-sans-japanese", sans-serif;*/
        /*font-family:'源ノ角ゴシック Regular', '源ノ角ゴシック', '源ノ角ゴシック Code JP', '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'Helvetica Neue', Arial, sans-serif;*/
        /*font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;*/
}

.mincho-u {font-family: 'Yu Mincho', '游明朝', YuMincho, '游明朝体',sans;}



div, span {
        box-sizing: border-box;
}

/* Typography
========================================================= */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: bold;
  color: #008e4d;}
h1 {line-height: 1.4;  letter-spacing: -.08rem;}
h2 {line-height: 1.4; letter-spacing: -.05rem; }
h3 {line-height: 1.3;  letter-spacing: -.05rem; }
h4 {line-height: 1.35; letter-spacing: -.05rem; }
h5 {line-height: 1.5;  letter-spacing: -.05rem; }
h6 {line-height: 1.6;  letter-spacing: 0; }

h1 { font-size: 3.0rem; }
h2 { font-size: 2.2rem; }
h3 { font-size: 2.0rem; }
h4 { font-size: 1.8rem; }
h5 { font-size: 1.6rem; }
h6 { font-size: 1.5rem; }

#content dl { font-size: 0.9em;}
#content dt { font-weight: bold;vertical-align: top;}

/* Larger than phablet */
@media (max-width: 960px) {
}
@media (max-width: 709px) {
  h1 { font-size: 2.7rem; }
  h2 { font-size: 1.8rem; }
  h3 { font-size: 1.7rem; }
  h4 { font-size: 1.6rem; }
  h5 { font-size: 1.5rem; }
  h6 { font-size: 1.4rem; }
}
@media (max-width: 320px) {
  h2 { font-size: 1.7rem; }
}

/* Links
========================================================= */
a {color: #000000; text-decoration: none;}
a:hover {
	color: #008e4d;
	transition-property: all;
	transition: 0.2s linear;
}
a:hover img{
	opacity: 0.75;
	transition-property: all;
	transition: 0.2s linear;
}

p a{text-decoration: underline;}



/* Misc
========================================================= */
hr {border-top: 1px solid #19a65f; }
hr.dot1 {border-top: 1px dotted #19a65f; }
hr.dot2 {border-top: 2px dotted #19a65f; }
em {font-style: normal; font-weight: bold;color: #19a65f;}

.nowrap {white-space: nowrap;}

.text-center{text-align: center; }
.text-right{text-align: right; }
.text-left{text-align: left; }

.mgn1em {margin: 1em 1em 0 1em;}
.pad1em {padding: 1em 1em 0 1em;}

.mgt1em {margin-top: 1em;}
.mgt2em {margin-top: 2em;}
.mgt3em {margin-top: 3em;}

.mgt1em-pc {margin-top: 1em;}
.mgt2em-pc {margin-top: 2em;}
.mgt3em-pc {margin-top: 3em;}
.mgt4em-pc {margin-top: 4em;}
.mgt5em-pc {margin-top: 5em;}

.mgl1em {margin-left: 1em;}

.mgt-1em {margin-top: -1em !important;}
.mgt-2em-pc {margin-top: -2em !important;}

.mgl-1em-pc {margin-left: -1em !important;}
.mgl-2em-pc {margin-left: -2em !important;}

.mgb0 {margin-bottom: 0 !important;}

.note {font-size: 0.9em;}

.visible-sp {display: none;}
.visible-xp {display: none;}

.black {color: #000;}
.green {color: #19a65f;}
.red {color: #f33;}

.list-no-mark {list-style-type: none;}
.list-indent li{text-indent: -1.2em; padding-left: 1.2em}

.small {font-size: 92%;font-weight: normal;line-height: 1.2;}
.smaller {font-size: 85%;font-weight: normal;line-height: 1.2;}
.smallest {font-size: 78%;font-weight: normal;line-height: 1.2;}

.big {font-size: 114%;font-weight: bold;line-height: 1;}
.bigger {font-size: 157%;font-weight: bold;line-height: 1;}
.biggest {font-size: 228%;font-weight: bold;line-height: 1;}

.label {
        display: inline-block;
        -webkit-border-radius: 6px;
        border-radius: 6px;
        background-color: #a6d3a2;
        padding: 0.3em 0.6em 0.1em;
        line-height: 1;
        margin-bottom: 0.5em;
        vertical-align: middle;
}

.mark {
        display: inline-block;
        width: 1.3em;
        height: 1.3em;
        vertical-align: middle;
}
.square01 {
        background: url(../images/icon_arrow_square01@2x.png) no-repeat;
        background-size: 1em;
}
.square02 {
        background: url(../images/icon_arrow_square02@2x.png) no-repeat;
        background-size:  1em;
}
/*for Mobile*/
@media (max-width: 960px) {
}
@media (max-width: 709px) {
	.mgt1em-pc {margin-top: 0;}
	.mgt2em-pc {margin-top: 1em;}
	.mgt3em-pc {margin-top: 1em;}
	.mgt4em-pc {margin-top: 1em;}
	.mgt5em-pc {margin-top: 1em;}

	.mgt1em-sp {margin-top: 1em;}
	.mgt2em-sp {margin-top: 2em;}

	.hide-sp {display: none;}
	.visible-sp {display: block;}
	br.visible-sp {display: inline;}
	.mgt-2em-pc {margin-top: 0 !important;}
	.mgl-1em-pc {margin-left: 0 !important;}
	.mgl-2em-pc {margin-left: 0 !important;}
}
@media (max-width: 480px) {
	.visible-xp {display: block;}
	br.visible-xp {display: inline;}
}


/* Header
========================================================= */
#header{
	/*background: #19a65f;*/     
   	/*background: #009c4e;*/  
        background: #19a65f;
        height: 90px;
        padding: 5px 0 0;
}
#header img{
	width: 100%;
	height: auto;
}

#site-name {
        max-width: 220px;
        margin: 12px 0 0 2.2em;
        float: left;
}

#help-nav {
        float: right;
}

#inquiry-btn {
        max-width: 137px;
        margin: 20px 100px 0 0 ;
}

#sp-nav-open {
        max-width: 44px;    
        margin: 15px 5px 0;
}

/*for Mobile*/
@media (max-width: 960px) {
         #site-name {
                margin: 10px 0 0 10px;
        }
        #inquiry-btn {
                margin-right: 10px;
        }
}
@media (max-width: 709px) {
	#sp-nav-open {
	}
	#sp-nav-bg {
                display: none;
                position: fixed;
                z-index: 9;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: black;
                opacity: 0.4;
                transition: .3s ease-in-out;
	}
}
@media (max-width: 480px) {
}
@media (max-width: 340px) {
        #site-name {
                max-width: 75.5%;
                margin: 14px 0 0 2%;
        }
        #help-nav {
                max-width: 19%;
        }
        #sp-nav-open {
                max-width: 100%;
                margin: 16px 0 0;
        }
}

/* Header（ロングバージョン）
========================================================= */
#header.long-version {
        background: #78c17a;
        padding: 0 0 ;
        height: 285px;
        border-bottom: solid 5px #19a65f;
}

#header.long-version #site-name {
        max-width: 100%;
        margin: 0 0 0 0;
        float: none;
        position: relative;
        height: 285px;
}
#header.long-version .logo {
        max-width: 400px;
        position: absolute;
        top: 2px;
        left: 30.2%;
}
#header.long-version .title01 {
        max-width: 760px;
        position: absolute;
        bottom : 5px;
        left: 10.5%;
        text-align: right;
        margin-bottom: 5px;
}
#header.long-version .title01 img:last-child {
        width: 53%;
}

#header.long-version #inquiry-btn {
        max-width: 165px;
        position: absolute;
        bottom: 10px;
        left: 10.5%;
        margin: 0 0 5px 0 ;
}

#header.long-version #sp-nav-open {
        display: none;
}
/*for Mobile*/
@media (max-width: 960px) {
        #header.long-version .logo {
                left: 28%;
        }
        #header.long-version .title01,
        #header.long-version #inquiry-btn {
                left: 3%;
                margin-right: 3%;
        }
}
@media (max-width: 840px) {
        #header.long-version .logo {
                left: 25%;
        }
        #header.long-version .title01,
        #header.long-version #inquiry-btn {
                left: 1%;
                margin-right: 1%;
        }
}
@media (max-width: 709px) {
        #header.long-version,
        #header.long-version #site-name {
                height: calc(40vw + 20px);
        }
        #header.long-version .logo {
                width: 70%;
                top: 10px;
                left: 1%;
        }
        #header.long-version .title01 {
                bottom: 0;
                margin-bottom: 10px;
        }
        #header.long-version #inquiry-btn {
                display: none;
        }
        #header.long-version #sp-nav-open {
                display: inline-block;
                position: absolute;
                top: 0;
                right: 0;
	}
        #header.long-version #sp-nav-bg {
                display: none;
                position: fixed;
                z-index: 9;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: black;
                opacity: 0.4;
                transition: .3s ease-in-out;
	}
}
@media (max-width: 480px) {
        #header.long-version,
        #header.long-version #site-name {
                height: calc(45vw + 10px);
        }
        #header.long-version .logo {
                width: 75%;
        }
        #header.long-version .title01 {
                margin-bottom: 10px;
        }
}
@media (max-width: 340px) {
        #header.long-version,
        #header.long-version #site-name {
                height: calc(45vw + 10px);
        }
        #header.long-version .logo {
                width: 80%;
                top: 5px;
        }
        #header.long-version .title01 {
                margin-bottom: 5px;
        }
        #header.long-version #sp-nav-open {
                max-width: 15%;
                margin: 5px 0 0;
        }
}



/*グローバルナビ（#global-nav）
---------------------------------------------- */
#global-nav {
	border-bottom: solid 4px #19a65f;
	background: #fff;
}

#global-nav .nav li{
	text-align: center;
	overflow: hidden;
}
#global-nav .nav li a {
        height: 50px;
	color: #666;
	font-size: 1.4rem;
	font-weight: bold;
        background: url("../images/separator.png") no-repeat bottom right;
	padding: 1.25em 2.1em 0;
	white-space: nowrap;
	letter-spacing: -0.02em;
}
#global-nav .nav li:last-child a{
	background: transparent;
}
#global-nav .nav li a:hover,
#global-nav .nav li.l2 a:hover,
#global-nav .nav li:last-child a:hover,
#global-nav .nav li.active a{
	background-color: #efefef;
	transition-property: all;
	transition: 0.2s linear;
}
#global-nav .nav li.l2 a {
        padding-top: 0.65em; 
}

/*for Mobile*/
@media (max-width: 960px) {
	#global-nav .container {
		padding: 0 0;
	}
	#global-nav .nav li a {
		padding-right: 2.1em;
                padding-left: 2.1em;
	        font-size: calc(14.5vw/10);
	}
}
@media (max-width: 880px) {
	#global-nav .nav li a {
		padding-right: 1.5em;
                padding-left: 1.5em;
	        font-size: calc(15.61vw/10);
	}
}
@media (max-width: 767px) {
	#global-nav .nav li a {
		padding-right: 0.85em;
                padding-left: 0.85em;
	        font-size: calc(17.6vw/10);
	}
}
@media (max-width: 709px) {
	#global-nav {
		display: none;
		position: absolute;
		top: calc(17vw - 15px);
		width: 100%;
		z-index: 100;
                background: #a6d3a2; /*#78c17a*/
	}
	#global-nav .container{
		padding: 3em 1.2em 2em;
	}
	#global-nav .nav li {
                overflow: visible;
        }
	#global-nav .nav li a,
        #global-nav .nav li.l2 a,
        #global-nav .nav li:last-child a {
                height: auto;
		font-size: 1.6rem;
        	line-height: 1.3em;
                text-align: left;
        	background: url(../images/icon_arrow_right@2x.png) no-repeat;
        	background-size: 0.45em;
                background-position: 0.4em 0.25em;
		padding: 0;
        	padding-left: 1.2em;
                margin-bottom: 1.5em;
                color: #000;
	}
        #global-nav .nav li a:hover,
        #global-nav .nav li.l2 a:hover,
        #global-nav .nav li:last-child a:hover,
        #global-nav .nav li.active a{
                color: #099250;
                background-color: transparent;
        	/*background-color: #fff;*/
        	transition-property: all;
        	transition: 0.2s linear;
        }
        #inquiry-btn-sp {
                padding: 1.8em 0 0.8em;
                text-align: center;
        }
        #inquiry-btn-sp img{
                height: 48px;
        }
}
@media (max-width: 480px) {
	#global-nav {
		top: calc(16vw + 10px);
	}
}

/* Content
========================================================= */

/*トップページ
---------------------------------------------- */
.top-video-banner {
	width: 100%;
	max-width: 450px;
	margin: 0 auto 2em;
	padding: 0.8em 0;
	text-align: center;
}

#home h3 {
        color: #595757;
        margin: 0.5em 0 0.4em;
}

#top-intro {
       /*background:  #aad1a7;*/
	/*background: #a6d3a2;*/
        background: #fff8dd;
	padding: 2em 0 1em;
	font-size: 1.7rem;
        font-weight: normal;
        line-height: 1.9;
	border-bottom: solid 4px #19a65f;
	margin-bottom: 2em;
}
#top-intro p {
        padding-right: 0.5em;
}
#top-intro p:first-child {
        padding-top: 1em;
}
#top-intro img {
        margin: 0.5em 0 0 1em;
        width: 100%;
        max-width: 317px;
}
#top-intro em {
	color: #fff;
}


.box-btn {
        border: solid 1px #b4b4b5;
        margin-bottom: 1.5em;
        position: relative;
}
.box-btn:hover, .box-btn a:hover {
        color: #040000;
	background-color: #efefef;
	transition-property: all;
	transition: 0.2s linear;
}
.box-btn-ttl, .box-btn-content {
        display: block;
        width: 100%;
        padding: 5px 10px;
}
.box-btn-ttl {
        color: #fff;
        background-color: #19a65f;
        font-size: 1.6rem;
        font-weight: normal;
        margin: 6px 0;
}
.box-btn-content:after {
        content: "";
        display: block; 
        clear: both;
        height: 0;
        visibility: hidden;
}
.box-btn-content.mgn {
        margin: 2em 0;
	letter-spacing: -0.01em;
}
.box-btn-content.img-center img {
        display: block;
        height: 6.7em;
        margin: 0 auto 0.4em;
}
.box-btn-content.img-left img {
        display: block;
        height: 6.7em;
        margin: 0 0 0.4em 1em;
        float: right;
}
.box-btn a.small {
        position: absolute;
        right: 1em;
        bottom: 0.6em;
}



.icon-arrow {
	display: inline-block;
	padding-left: 1em;
	background: url(../images/icon_arrow_right@2x.png) no-repeat;
	background-size: 0.45em;
        background-position: 0 0.2em;
	line-height: 1.3;
	margin-bottom: 1em;
}
.icon-arrow:hover{
	opacity: 0.75;
}



/*トップページ お知らせ
---------------------------------------------- */
#top-news {
	border-top: solid 4px #19a65f;
	padding: 1.5em 0 1em;
	margin-top: 2em;
}
#top-news ul{
	margin: 0;
	padding: 0;
	list-style-type: none;
}
#top-news li {
	background: url(../images/icon_arrow_right@2x.png) no-repeat;
	background-size: 0.45em;
        background-position: 0.4em 0.4em;
	line-height: 1.2em;
	margin-bottom: 1em;
	padding-left: 1em;
}
#top-news li, #top-news li a{
	color: #595757;
}
#top-news li a:hover {
	text-decoration: underline;
}
#top-news .date{
	margin: 0 0.8em 0 0.2em;
        line-height: 1.75;
}



/*お知らせページ*/
.news .date{
	text-align: right;
	color: #333;
	margin: -0.5em 0 0.5em;
	font-size: 0.9em;
}


/*for Mobile*/
@media (max-width: 960px) {

}
@media (max-width: 709px) {
	.top-video-banner {
		max-width: 360px;
	}
	
	#top-intro {
		padding: 1.7em 0.8em 1.5em 1em;
		margin-bottom: 2em;
	}
        #top-intro p {
                padding-right: 0;
        }
        #top-intro img {
                display: block;
                margin: 1em auto 0.5em;
        }

        .box-btn-content,
        .box-btn-content.mgn {
                margin: 1.2em 0 1em;
                letter-spacing: 0;
        }
        .box-btn a.small {
                bottom: 0.3em;
        }


	.icon-arrow {
		margin-bottom: 1em;
	}
	#top-news {
		margin-top: 1em;
	}
        #top-news .date{
                display: block;
        }
}
@media (max-width: 480px) {
}


/*各ページ共通スタイル
---------------------------------------------- */
#page-title {
        /*background: #aad1a7;*/
        /*background: #a6d3a2;*/
        border-bottom: solid 4px #19a65f;
        padding: 2em 0 0.7em;
        margin-bottom: 3em;
}
#page-title.mgb0 {
        margin-bottom: 0 !important;
        border-bottom: none;
}
#page-title.page-title-illust  {
        padding-bottom: 0 !important;
}
#page-title.page-title-illust > div {
        position: relative;
        padding-bottom: 4.5em;
}
#page-title.page-title-illust > div img.right {
        position: absolute;
        right: 0;
        bottom: -1px;
        width: 60%;
}

#page-title h1 {
        font-size: 3.4rem;
        font-weight: bold;
        line-height: 1.2;
        color: #040000;
        margin-bottom: 0.5em;
}
#page-title p.lead {
        font-size: 1.6rem;
}
#page-title.page-title-illust p.lead {
        max-width: 450px;
}


#page-nav ul {
        margin: 0 0;
        padding: 0 0 3em;
        list-style-type: none;
}
#page-nav li {
        display: inline-block;
        width: 48%;
        margin: 0 1% 10px 0;
        border: solid 1px #b4b4b5;
        text-align: center;
}
#page-nav li:nth-child(even) {
        margin-right: 0;
}
#page-nav li a {
        display: block;
        width: 95%;
        margin: 0 auto;
        font-size: 1.8rem;
        font-weight: bold;
        color: #727171;
        border-top: solid 10px #19a65f;     
        padding: 0.3em 0 0.2em;   
}
#page-nav li:hover,
#page-nav li:hover a,
#page-nav li a:hover {
        color: #fff !important;
        background-color:  #19a65f;  
}

.section-title {
        font-size: 3.4rem;
        font-weight: bold;
        line-height: 1.2;
        color: #008e4d;
        margin-bottom: 1em;
}

.section-hr {
        border-top: solid 10px #19a65f;
        margin-top: 2em;
        padding-top: 3em;
}

.page-headline {
	background: #008e4d;
	color: #fff;
	margin-bottom: 1.5em;
        padding: 0.25em 0;
}
.page-headline h3 {
        font-size: 2.4rem;
	background: #008e4d url("../images/headline_icon@2x.png") 0 50% no-repeat;
	background-size: 48px;
	color: #fff;
	padding: 0.7em 0 0.7em 3em;
}

#page-title p {
        color: #4d4d4d;
        line-height: 1.8;
}


.movie-headline {
	background: #f5bf59;
	color: #ea5504;
	margin-bottom: 1em;
}
.movie-headline h3 {
        font-size: 2.4rem;
	background: #f5bf59 url("../images/movie_icon@2x.png") 0 50% no-repeat;
	background-size: 52px;
	color: #ea5504;
	padding: 0.7em 0 0.7em 3em;
}



/*アイコン付きリストなど
---------------------------------------------- */
.point {
	color: #66c78c;
}

.icon-link a, a.icon-link{
	color: #19a65f;
	font-size: 1.4rem;
	font-weight: bold;
	padding-left: 1.2em;
	background: url(../images/icon_arrow_right@2x.png) no-repeat;
	background-size: 1em;
	line-height: 1.2em;
	text-decoration: none;
}
.icon-link a:hover, a.icon-link:hover{
	color: #33a571;
	text-decoration: underline;
}

.round-btn a, a.round-btn {
	display: block;
	max-width: 480px;
	margin: 0 auto;
	padding: 2em 0 2em 3em;
	text-align: left;
	background: #bedbc0 url(../images/icon_arrow_right@2x.png) 5% 50% no-repeat;
	background-size: 1em;
	color: #19a65f;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.8;
	text-decoration: none;
        -webkit-border-radius: 6px;
	border-radius: 6px;
}
.round-btn a:hover, a.round-btn:hover {
	opacity: 0.75;
	transition-property: all;
	transition: 0.2s linear;
}


/*for Mobile*/
@media (max-width: 960px) {
        #page-nav li a {
                font-size: calc(20vw/10);
	}   
}
@media (max-width: 709px) {
        #page-nav li {
                display: block;
                width: 100%;
	}
        #page-nav li a {
                font-size: 1.6rem;
	}   

	#map-nav {
		margin: 1em 0 1em 3em;
	}
	.table-list th.place {
		width: 5em;
	}
	.round-btn a, a.round-btn {
		padding: 2em 0 2em 2.5em;
	}
}
@media (max-width: 480px) { 
        .section-title,
        #page-title h1 {
                font-size: calc(7.2vw);
        }

        .movie-headline h3,
        .page-headline h3 {
                font-size: calc(6vw);
                background-size: calc(10.5vw);
                padding-top: calc(4vw) ;
                padding-bottom: calc(4vw) ;
                padding-left: calc(12vw);
        }
        #page-title p.lead {
                font-size: calc(4.2vw);
        }
}


/*動画
---------------------------------------------- */
.movie-box {
	width: 100%;
	height: auto;
}

#movie01, #movie02,
#btn-mov1, #btn-mov2 {cursor: pointer;}


/*ページトップへ
---------------------------------------------- */
.page-top {
	position: fixed;
	bottom: 55px;
	right: 2%;
	z-index: 999;
	width: 56px;
}

.page-top:hover {
	opacity: 0.75;
}

/*for Mobile*/
@media (max-width: 960px) {
	.page-top {
		bottom: 47px;
		right: 0;
	}
}
@media (max-width: 709px) {
}
@media (max-width: 480px) {
	.page-top {
		bottom: 20px;
	        width: 44px;
	}
}
@media (min-width: 1140px) {
	.page-top {right: 10%;}
}
@media (min-width: 1336px) {
	.page-top {right: 14%;}
}
@media (min-width: 1700px) {
	.page-top {right: 20%;}
}




/* Footer
========================================================= */
#footer {
	background: #a6d3a2;;
	border-top: solid 4px #19a65f;
	padding-top: 1.5em;
	margin-top: 2em;
}
#home #footer {
	margin-top: 0;
}
#footer-nav {
	padding-bottom: 2em;
}

#footer-nav .menu-item {
        padding-bottom: 0.5em;
}
#footer-nav .menu-item a {
        font-size: 1.6rem;
        font-weight: normal;
        color: #008e4d;
        line-height: 1.3;
	background: url(../images/icon_arrow_square01@2x.png) no-repeat;
        background-size: 1em;
        background-position: 0 0.15em;
        padding-left: 1.3em;
}

#footer-nav ul {
	margin: 0.25em 0 1em 0.1em;
	padding: 0;
	list-style-type: none;
	list-style-position: outside;
}
#footer-nav li {
	margin: 0 0 3px;
}
#footer-nav li a {
	color: #008e4d;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1;
        letter-spacing: -0.01em;
	background: url(../images/icon_arrow_square02@2x.png) no-repeat;
        background-size: 1em;
        background-position: 0 0.15em;
        padding-left: 1.3em;
}
#footer-nav li > ul > li a {
	color: #000;
	font-size: 1.1rem;
	font-weight: normal;
	background: url(../images/icon_arrow_text@2x.png) no-repeat;
        background-size: 0.4em;
        background-position: 0.2em 0.2em;
        padding-left: 0.8em;
}
#footer-nav .menu-item a:hover,
#footer-nav li a:hover {
	text-decoration: underline;
}
#footer-nav .disable {
	color: #999;
	opacity: 0.75;
}


#footer-bar {
	background: #19a65f;
	color: #fff;
	font-size: 1.2rem;
	padding: 10px 0;
}
#footer-bar a {color: #fff;}
#footer-bar a:hover {color: #19a65f;}
#copyright {text-align: right;margin-top: 8px;}

#footer-bar .nav ul li a:hover,
#footer-bar ul.nav li a:hover{
	background: none;
	color: #a6d3a2;
}

img {max-width: 100%;}


#footer-nav .two.columns{
	width: 10%;
}
#footer-nav .three.columns {
	width: 28%;
}

@media (max-width: 960px) {
	/*フッター*/
	#footer-nav .two.columns{
		width: 100%;
	}
	#footer-nav .four.columns {
		width: 36%;
	}
	#footer-nav .three.columns {
		width: 28%;
	}
        #copyright {
                font-size: calc(12vw/10);
        }
}
@media (max-width: 767px) {
	/*フッター*/
	#footer-nav .two.columns,
	#footer-nav .four.columns,
	#footer-nav .three.columns {
		width: 100%;
                margin-left: 1em;
	}

	#footer {
		padding-top: 1.5em;
		margin-top: 1em;
	}
	#footer-nav ul {
		margin: 0 0 0.5em 0;
	}
        #footer-nav li {
                margin-bottom: 0;
        }
}
@media (max-width: 709px) {
	/*フッター*/
	#footer-bar {
		font-size: 1.2rem;
		text-align: center;
	}
	#footer-help-nav {
		margin-bottom: 10px;
	}
	#copyright {
		text-align: center;
                font-size: calc(19vw/10);
        }
}
@media (max-width: 480px) {
	#copyright {
                font-size: calc(24vw/10);
        }
}



/* 受託可能な検査センター
========================================================= */
.labo {
}
.labo h2 {
        font-size: 1.8rem;
        color: #fff;
        background-color: #19a65f;
        border-top: solid 1px #727171;
        border-bottom: solid 1px #727171;
        margin: 0.5em 0;
        padding: 0.5em 1em;
}
.labo dt, .labo dd {
        font-size: 1.4rem;
        display: inline-block;
        line-height: 2;
        margin-left: 1.2em;
}
.labo dt {
        width: 15%;
        margin-bottom: 0.4em;
        white-space: nowrap;
}
.labo dd {
        width: 75%;
        margin-bottom: 0.4em;
}
.labo .three.columns {
        text-align: center;
}
.labo-logo {
        display: flex;
        align-items: center;
        min-height: 100px;
        margin: 0.5em 0;
}
.labo-logo img {
        display: block;
        width: 100%;
        margin: 0 auto;
        max-width:  100px;
}
.labo-logo.mid img {
        max-width:  120px;  
}
.labo-logo.long img {
        max-width:  150px;  
}

hr.gray {
        border-color: #727171;
        margin-top: 0.5em;
}


@media (max-width: 960px) {
}
@media (max-width: 709px) {
        .labo {
                overflow: hidden;
        }

        .labo dt, .labo dd {
                display: block;
                line-height: 1.75;
                margin-left: 0;
                padding: 0 0.5em 0 1.2em;
                box-sizing: border-box;
        }
        .labo dt {
                width: 100%;
                margin-bottom: 0;
        }
        .labo dd {
                width: 100%;
                margin-bottom: 0.5em;
                /*padding-left: 1em;*/
        }
}
@media (max-width: 480px) {
}

/* 認証画面
========================================================= */
#confirm #page-title p {
        font-size: 105%;
}

#confirm .panel {
        border: solid 1px #19a65f;
        margin: 2em 0;
}
#confirm .panel-heading {
        background-color: #19a65f;
        text-align: center;
        padding: 0.5em 1em;
}
#confirm .panel-heading h3{
        color: #fff ;
}
#confirm .panel-body {
        padding: 0.5em 1em;
        min-height: 235px; 
}
#confirm .box-btn {
        display: block;
        width: 100%;
        padding: 0.6em;
        margin-bottom: 0.5em;
        box-sizing: border-box;
        text-align: center;
        font-size: 110%;
        vertical-align: middle;
        cursor: pointer;
        text-shadow: 0 1px 1px rgb(255 255 255 / 75%);
        background-color: #fafafa;
        border: 1px solid #cccccc;
        -webkit-border-radius: 2px;
        border-radius: 2px;
        -webkit-box-shadow: inset 0 1px 0 rgb(255 255 255 / 20%), 0 1px 2px rgb(0 0 0 / 5%);
        box-shadow: inset 0 1px 0 rgb(255 255 255 / 20%), 0 1px 2px rgb(0 0 0 / 5%);
} 
#confirm .box-btn.plus-img {
        padding: 0.2em 0.6em;
}
#confirm .box-btn:hover {
        background-color: #e8f6e7;
}

#confirm ul.nav li {
        margin: 2px; 
        width: 48.5%;
}
#confirm ul.nav li.full-width {
        width: 98.1%;
}


@media (max-width: 960px) {
        #confirm #page-title p {
                font-size: 100%;
        }
        #confirm .panel-body {
                min-height: 250px; 
        }
}
@media (max-width: 709px) {
        #confirm .panel-body {
                min-height: auto; 
        }
        #confirm ul.nav li {
                width: 100%;
        }
        #confirm ul.nav li.full-width {
                width: 100%;
        }
}
@media (max-width: 480px) {
}


/* お申し込みフォーム
========================================================= */
#request-form {
        font-size: 1.8rem;
        color: #727171;
        margin-top: 2em;
}
#request-form .columns {
        white-space: nowrap;
}

#request-form fieldset {
        margin-bottom: 0;
        margin-top: 1.4em;
}

#request-form .required {
        display: inline-block;
        border: solid 1px #f97c36;
        color: #f97c36;
        font-size: 1.4rem;
        font-weight: normal;
        line-height: 1.2;
        padding: 3px 4px 0;
        margin-top: 3px;
        float: right;
}
#request-form em + .required,
#request-form .required.no-right {
          float: none;      
}
#request-form em {
        color: #f97c36;
}

#request-form legend{
        color: #fff;
        background-color: #008e4d;
        font-size: 2.2rem;
        padding: 0.1em 0.5em 0;
        width: 97%;
        margin: 0 0 0.5em;
}

#request-form .row {
}
#request-form .form-item {
        display: inline-block;
        width: 30%;
        vertical-align: top;
        margin-right: 1%;
        padding-top: 0.6em;
}
#request-form .form-input {
        display: inline-block;
        width: 67%;
        overflow: hidden;
}
#request-form input,
#request-form textarea {
        height: auto;
        width: 100%;
        background-color: #efefef;
        border: none;
        -webkit-border-radius: 0;
        border-radius: 0;
        padding: 0.6em 1em;
        margin-bottom: 0.5em;
}

#request-form input[type="checkbox"], 
#request-form input[type="radio"] {
        display: inline;
        width: auto;
        height: 1em;
        margin: 0.8em 0.2em 1em;
}
#request-form input[type="checkbox"] {
        border: solid 1px #0865c1;
        padding: 0.5em;
}
#request-form input[type="radio"] {
        transform: scale(1.4);
}

/*チェックボックスおよびラジオボタンの装飾*/
#request-form input[type="checkbox"] + span, 
#request-form input[type="checkbox"] + label {
        position: relative;
        cursor: pointer;
        padding-left: 2.2em;
}

#request-form input[type="checkbox"] + span::before,
#request-form input[type="checkbox"] + span::after,
#request-form input[type="checkbox"] + label::before,
#request-form input[type="checkbox"] + label::after {
        content: "";
        display: block; 
        position: absolute;
}
#request-form input[type="checkbox"] + span::before,
#request-form input[type="checkbox"] + label::before {
        background-color: #fff;
        border-radius: 0%;
        border: solid 2px #0865c1;
        width: 1.2em;
        height: 1.2em;
        transform: translateY(-50%);
        top: 50%;
        left: 5px;
}
#request-form input[type="checkbox"] + span::after,
#request-form input[type="checkbox"] + label::after {
        border-bottom: 2px solid #0865c1;
        border-left: 2px solid #0865c1;
        height: 7px;
        width: 14px;
        transform: rotate(-45deg);
        top: 4px;
        left: 10px;
        opacity: 0;
}
#request-form input[type="checkbox"]:checked + span::after,
#request-form input[type="checkbox"]:checked + label::after {
        opacity: 1;
}

.visually-hidden {
        position: absolute;
        white-space: nowrap;
        border: 0;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        overflow: hidden;
        height: 1px;
        width: 1px;
        margin: -1px;
        padding: 0;
}

#btnarea {
        text-align: center;
}
button[type="reset"],
button[type="submit"] {
        color: #fff;
        background-color: #19a65f;
        /*background-color: #0865c1;*/
        border: none;
        border-radius: 0%;
        font-size: 2.0rem;
        padding: 0.2em 1em;
        height: auto;
        min-width: 200px;
}
button[type="reset"].color1 {
        background-color: #a57c58;
        /*background-color: #f97c36;*/
}
button[type="reset"].color2 {
        background-color: #a57c58;
}
button[type="reset"]:hover,
button[type="submit"]:hover {
	opacity: 0.80;
	transition-property: all;
	transition: 0.2s linear;
}

#mailContents {
        margin: 2em 1%;
        width: 100%;
        /*border: solid 1px #ccc;*/
}
#mailContents td {
        padding: 0.6em 1em;
        font-size: 92%;
        border-bottom: solid 1px #ebebeb;
}
#mailContents td:first-child {
        font-size: 85%;
        background-color: #f5f5f5;
        border-bottom-color: #fff;
        max-width: 6em;
        /*text-align: right;*/
        /*white-space: nowrap;*/
}
#mailContents tr:first-child td {
        border-top: solid 1px #ebebeb;   
}
#mailContents tr:last-child td {
        border-bottom: solid 1px #ebebeb;   
}
#mailContents tr.punctuation td {
        background: transparent;
        white-space: nowrap;
        padding: 1em 0 0;
        font-weight: bold;
        font-size: 105%;
}



.noactive-btn {
        display: inline-block;
        font-size: 2.0rem;
        padding: 0.2em 1em;
        height: auto;
        min-width: 200px;
        color: #fff;
        background-color: #c7e1d4;
        /*background-color: #d5e1ec;*/
}



@media (max-width: 960px) {
}
@media (max-width: 709px) {
        #request-form .required {
                  float: none;      
        }
        #request-form .form-item {
                display: block;
                width: 100%;
        }
        #request-form .form-input {
                display: block;
                width: 100%;
        }

}
@media (max-width: 480px) {
}


/*----------------------------
学術情報
-----------------------------*/
.references {
        list-style: inside;
        border-top: solid 1px #008e4d;
        margin: 3em 0 5em;
        padding-top: 0.5em;
}
ul.references {
        list-style-type: square;
}
ol.references {
        list-style-type: decimal;
}
.references li {
        border-bottom: solid 1px #008e4d;
        padding: 0.5em 1em 1em 2em;
        text-indent: -1.2em
}

.seminar {
        margin-bottom: 2em;
}
.seminar:first-child {
        margin-top: 3em;
}
.seminar h4 {
        background-color: #a6d3a2;
        color: #000;
        padding: 0.5em 1em 0.3em;
        margin-bottom: 1em;
}
.seminar .columns {
        color: #4d4d4d;
        padding-left: 1.2em;
}
.seminar .nine.columns {
        margin-left: 0;
}
.seminar .columns h4 {
        margin-left: -1em;
}
.seminar strong {
        display: block;
        font-size: 1.8rem;
        text-indent: -0.5em;
        line-height: 2;
}
.seminar .three.columns {
        padding-left: 0;
}
.seminar .three.columns img {
        border: solid 1px #ddd;
        padding: 3px;
}


/*動画掲載*/
.movie-subtitle {
	margin-bottom: 1.2em;
}
.movie-title {
	margin-bottom: 1.2em;
}
.movie-box {
	width: 100%;
	margin:0 0 2em;
	background-color: #ebf1de;
}

.movie-box::after{
        content: "";
        display: block; 
        clear: both;
        height: 0;
        visibility: hidden;
}

.movie-box .video-pass-inner {
	padding: 0.5em;
	text-align: center;
	line-height: 2;
	font-size: 105%;
}
.movie-box video{
	width: 100%;
	border: solid 1px #ccc;
	vertical-align: bottom;
}
.movie-box video::after{
        content: "";
        display: block; 
        clear: both;
        height: 0;
        visibility: hidden;
}

.video-play {
	display: none;
}
.miss-pass {
	color: red;
	margin: 0;
	padding: 0;
	display: none;
}
hr.perforation {
	height: 0;
	margin: 1em 0;
	padding: 0;
	border-top: dashed 10px #fff;
	border-bottom: dashed 10px #fff;
}
button.btn-clear, button.btn-submit {
	color: #fff;
	background-color: #19a65f;
	border: solid 1px #19a65f;
	border-radius: 5px;
	font-size: 1.6rem;
	padding: 0.1em 1em;
	height: auto;
	min-width: 150px;
	margin: 2em 0.1em;
}
button.btn-clear {
	color: #19a65f;
	background-color: transparent;
	font-size: 1.5rem;
}
.time-notice {
	color: red;
	font-size: 125%;
	margin: 5em 0;
	text-align: center;
}

.video-notice {
	border-top: dotted 1px #19a65f;
	padding-top: 1em;
}
.video-notice li {
	margin-bottom: 0.5em;
}
.movie-separator {
	border-top-width: 10px;
}

@media (max-width: 960px) {
}
@media (max-width: 709px) {
        .seminar .three.columns img {
                display: block;
                max-width: 400px;
                margin: 0 auto;
        }
}
@media (max-width: 480px) {
        .seminar .three.columns img {
                max-width: 80%;
        }
}

.capture{
        padding: 1em 0 0;
        display: none;
        background: #fff;
}
.capture::after{
        content: "";
        display: block; 
        clear: both;
        height: 0;
        visibility: hidden;
}
.capture > div{
        margin: 0 0 10px;
}
.capture > div span{
        border-bottom: 1px solid #000;
        font-weight: 700;
}

.capture > div span:hover{
        color: #008e4d; 
        cursor: pointer; 
        transition: 0.2s;
}
.capture > div:hover span{ 
        border-bottom: 1px solid #008e4d;
}