@charset "utf-8";


.mq640 {
	display: none;
}
.mq480 {
	display: none;
}

/* main-visual
-----------------------------------------*/

.main-visual {
	position: relative;
	margin: 0 auto;
	padding-top: 70px;
	width: 100%;
	overflow: hidden;
	text-align: center;
}
.main-visual .mainimg img {
	width: 100%;
	height: auto;
}
@media only screen and (max-width: 640px){
.main-visual .mainimg img {
	margin-left: -10%;
	width: 120%;
	height: auto;
}
}
.mlogo {
	position: absolute;
	bottom: 5%;
	left: 50%;
	width: 80%;
	transform: translate(-50%, 0);
	z-index: 10;
}
.mlogo img {
	width: 100%;
	height: auto;
}

.vscroll {
	position  : absolute;
	font-size : 13px;
	color: #fff;
	writing-mode : vertical-rl;
	bottom: 80px;
	left: 50px;
	transform: translateX(-50%) translateY(-50%);
}
.vscroll::after {
	position : absolute;
	content : '';
	display : inline-block;
	background-color: #fff;
	right : 55%;
	bottom : -105px;
	transform : translateX(-50%);
	width : 1px;
	height : 100px;
	animation: scroll 2.5s infinite;
}
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}


.list {
	position: relative;
	overflow: hidden;
}

.list ul {
	position: relative;
	left: 50%;
	float: left;
	margin-left: -5px;
}
.list ul li {
	position: relative;
	left: -50%;
	float: left;
	margin: 0 10px;
	width: 260px;
	height: 130px;
}
.list ul li a {
	position: relative;
	overflow: hidden;
	display: block;
	width: 100%;
	height: 124px;
	padding: 8px 0;
	background: #fff;
		-moz-border-radius: 12px;
		-webkit-border-radius: 12px;
	border-radius: 12px;
	text-align: center;
	cursor: pointer;
	box-shadow:
		0 0.03em 0.09em #FFAB91,
		0 0.05em 0.06em #000,
		0 0.02em 0.09em #aaaaaa;
		-webkit-transition: all 0.3s;
		-moz-transition: all 0.3s;
		-ms-transition: all 0.3s;
		-o-transition: all 0.3s;
	transition: all 0.3s;
}
.list ul li a:hover {
	background: #9b322f;
}
.list ul li a img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 150px;
	height: auto;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.list ul li a img:nth-of-type(2) {
	opacity: 0;
}
.list ul li a:hover img:nth-of-type(2) {
	opacity: 1;
}
.list ul li a:hover img:nth-of-type(1) {
	opacity: 0;
}
@media only screen and (max-width: 896px){
.main-visual .topcont .topcopy {
	font-size: 4.0vw;
}
}
@media only screen and (max-width: 640px){
.main-visual .topcont .topcopy {
	font-size: 4.5vw;
}
.list ul li {
	position: relative;
	left: -50%;
	float: left;
	margin: 0 10px;
	width: 220px;
	height: 130px;
}
.list ul li a {
	height: 104px;
	padding: 8px 0;
}
.list ul li a img {
	position: absolute;
	width: 140px;
	height: auto;
}

}
@media only screen and (max-width: 480px){
.main-visual .topcont .topcopy {
	font-size: 5.0vw;
}
.list ul {
	position: relative;
	left: 50%;
	float: left;
	margin-left: 0;
}
.list ul li {
	width: 160px;
	height: 120px;
	margin: 0 4px;
}
.list ul li a {
	height: 104px;
	padding: 8px 0;
}


}


/* share
---------------------------------------------------- */

.ixctgsub {
	width: 100%;
	margin: 0 0 30px -6%;
	text-align: left;
	z-index: 9;
}
.ixctgsub img {
	margin: 0 0 30px;
	text-align: left;
}

/* news
---------------------------------------------------- */

#inforbox {
	padding: 80px 0 50px;
}
#inforbox .box {
	position: relative;
}
#inforbox h1 {
	width: 100%;
	margin: 0 0 30px;
	font-size: 2.6em;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.6;
	font-weight: 300;
	letter-spacing: 0.1em;
	text-align: left;
}
#inforbox .inforbtn {
	position: absolute;
	top: 0;
	right: 0;
	width: 200px;
}
#inforbox .inforbtn a {
	display: block;
	width: 70%;
	margin: 0 auto;
	padding: 10px 10px;
	font-size: 1.2em;
	color: #fff;
	font-weight: normal;
	text-decoration: none;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
	border-radius: 5px;
	background: #00a263;
	text-align: center;
		-webkit-transition: all 0.6s;
		-moz-transition: all 0.6s;
		-ms-transition: all 0.6s;
		-o-transition: all 0.6s;
	transition: all 0.6s;
}
#inforbox .inforbtn a:hover {
	display: block;
	background: #000;
	text-align: center;
}
#inforbox .ixinfor {
	width: 100%;
	display: block;
}
#inforbox table {
	width: 100%;
	margin: 0 auto;
	font-weight: 300;
}
#inforbox table th,
#inforbox table td {
	vertical-align: top;
	font-size: 1.1em;
	color: #111;
	font-weight: 300;
	line-height: 1.3em;
}
#inforbox table th {
	width: 15%;
	padding: 10px 0 0;
	text-align: center;
}
#inforbox table td {
	padding: 4px 0 10px;
}
#inforbox table td.ixdate {
	width: 160px;
}
#inforbox table td a {
	color: #111;
	font-weight: 300;
	text-decoration: underline;
}
#inforbox table td a:hover {
	color: #00a263;
	text-decoration: none;
}



/* topcopy
---------------------------------------------------- */

#topcopy {
	padding: 80px 0 50px;
}
#topcopy h1 {
	width: 100%;
	margin: 0 0 30px;
	font-size: 2.6em;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.6;
	font-weight: 300;
	letter-spacing: 0.1em;
	text-align: left;
}
#topcopy .textbox {
	font-size: 1.8em;
	color: #00a263;
	font-weight: 300;
	letter-spacing: 0.1em;
	line-height: 1.8em;
}


/* ixcont01
---------------------------------------------------- */

#ixcont01 {
	position: relative;
	padding: 0 0 80px;
}
#ixcont01 .ixct01box {
	position: relative;
	width: 100%;
	margin: 0 0 50px;
	z-index: 1;
}
#ixcont01 .ixct01box .grid01 {
	width: 34%;
	text-align: left;
}
#ixcont01 .ixct01box .grid01 img {
	width: 100%;
	height: auto;
}
#ixcont01 .ixct01box .textbox {
	padding: 0 0 30px;
	font-size: 0.90em;
	line-height: 1.8em;
	letter-spacing: 0.1em;
}
#ixcont01 .ixct01box h6.prname {
	font-size: 1.3em;
	text-align: right;
}
#ixcont01 .ixct01box h6.prname span {
	padding: 0 10px 0 0;
	font-size: 0.6em;
}
#ixcont01 .ixct01box .grid02 {
	width: 60%;
	margin: 0 0 0 6%;
	font-size: 1.2em;
}
#ixcont01 .ixct01box2 {
	position: relative;
	width: 100%;
	padding: 0;
	z-index: 1;
}
#ixcont01 .ixct01box2 ul {
	overflow-x: auto;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	width: 98%;
	margin: 0 auto;
	padding: 0 0 50px;
}
#ixcont01 .ixct01box2 ul li {
	margin: 0 5px 10px;
	text-align: center;
}
#ixcont01 .ixct01box2 ul li .circle {
	display: inline-grid;
	color: #fff;
	background-color: #4977b2;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	text-align: center;
	align-content: center;
}
.circle div {
	margin: 10px 0;
	font-size: 1.6em;
}

.ixct01box3 {
	width: 100%;
	padding: 40px 50px 30px;
	font-size: 1.54em;
	line-height: 1.8em;
	background: #f5f5f5;
}
.ixct01box3 .cgbox01 {
	display: block;
	padding: 0 0 16px;
	font-size: 1.30em;
}
.cgbox01 br {
	display: none;
}

.cgbox01 .cg01 {
	padding: 0px 16px 3px 20px;
	font-size: 1.20em;
	font-weight: 500;
	letter-spacing: 0.1em;
	background: #ddd;
	text-align: center;
}
.cgbox01 .cg02 {
	padding: 0px 16px 3px 20px;
	font-size: 1.20em;
	color: #d40000;
	font-weight: 600;
	letter-spacing: 0.1em;
	background: #f5e9ea;
	text-align: center;
}
.cgbox01 .cgspc {
	padding: 0px 6px 3px 10px;
	text-align: center;
}
.ixct01box3 .cg03 {
	padding: 0px 6px;
	font-size: 1.60em;
	color: #d40000;
	font-weight: 600;
	letter-spacing: 0.1em;
}

/* ixcont02
---------------------------------------------------- */

#ixcont02 {
	position: relative;
	padding: 0 0 50px;
}

#scroller-body {
	width: 100%;
	padding: 20px;
	background: #acdfc7;
	text-align: center;
}
#mask {
	width: 100%;
	overflow: hidden;
	margin: 0 auto;
	padding: 20px 0;
	background: #f4fbf8 url(../images/bg_ixctg2.png) repeat 0 0;
}
#panel {
	padding: 0;
}
#panel #main_city {
	position: relative;
	padding:0;
}
#panel #main_city h2 {
	margin: 0 0 30px;
	font-size: 1.6em;
	color: #00a263;
	font-weight: 500;
	line-height: 2.0em;
}
#panel #main_city h3 {
	font-size: 1.2em;
	color: #333;
	font-weight: normal;
	line-height: 2.0em;
	text-align: center;
}
#panel #main_city h4 {
	width: 100%;
	padding: 20px 0;
	text-align: center;
}
#panel #main_city ul.topnv {
	padding: 0;
	text-align: center;
}
#panel #main_city ul li {
	display: inline;
	max-width: 160px;
	margin: 0 20px;
	padding:0;
}


#panel div {
	float:left;
}
.prevBox, .nextBox{
	width: 100% !important;
	height: auto;
	padding: 0px 0 0 10px;
	text-align: left;
}
.group {
	width: 60%;
	margin: 50px auto 20px;
	padding: 30px 10px;
	border: 3px dotted #209b62;
}
.group .kssub {
	position: relative;
	padding: 0 0 24px;
	font-size: 1.4em;
	color: #333;
	font-weight: 600;
	text-align: center;
}
.group .kssub::after {
	position : absolute;
	content : '';
	left: 10%;
	bottom : 0;
	width : 80%;
	height : 4px;
	background: #209b62;
}
.group .ksmain {
	padding: 34px 0 20px;
	font-size: 1.8em;
	color: #111;
	font-weight: 500;
}
.group .ksmain span {
	margin: 0 6px 0 0;
	font-size: 1.8em;
	color: #209b62;
	font-weight: 500;
}
.group .kscomm {
	font-size: 1.2em;
	color: #111;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.group .kscomm span {
	margin: 0 2px;
	color: #cc0000;
	font-weight: 500;
}

.panelInnerBox h6 {
	width: 50%;
	margin: 0 auto;
}
.simubtn2 {
	width: 100%;
	display: block;
	margin: 40px 0 0;
	padding: 0;
	line-height: 60px;
	font-size: 1.3em;
	color: #fff;
	text-decoration: none;
	background: #209b62;
	border: none;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
	border-radius: 5px;
	text-align: center;
	letter-spacing: 0.1em;
	cursor: pointer;
		-webkit-transition: all 0.3s;
		-moz-transition: all 0.3s;
		-ms-transition: all 0.3s;
		-o-transition: all 0.3s;
	transition: all 0.3s;
}
.simubtn2:hover {
	color: #fff;
	opacity: 0.6;
}
.simubtn2 a,
.simubtn2 a:hover {
	color: #fff;
}

.stylenv ul {
	float: left;
	width: 732px;
	margin: 0 0 0 -12px;
}
.stylenv ul li {
	float: left;
	display: inline-block;
	width: 232px;
	margin: 0 0 0 12px;
	padding: 0;
}
.stylenv ul li a {
	display: block;
	width: 230px;
	height: 60px;
	padding: 0;
	font-size: 1.14em;
	color: #209b62;
	font-weight: bold;
	line-height: 60px;
	background: #fff;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
	border-radius: 5px;
	border: solid 2px #209b62;
	text-align: center;
}
.stylenv ul li.act a {
	display: block;
	color: #fff;
	background: #209b62;
}
.stylenv ul li a:hover {
	display: block;
	color: #fff;
	background: #209b62;
}

.kstylebox {
	width: 100%;
	padding: 0 20px 20px;
	background: #acdfc7;
	text-align: center;
}
#stylebox {
	width: 100%;
	overflow: hidden;
	margin: 0 auto;
	padding: 40px 0;
	background: #f4fbf8 url(../images/bg_ixctg2.png) repeat 0 0;
}

.stylesubbox {
	width: 80%;
	margin: 0 auto;
	font-weight: bold;
	line-height: 32px;
	border-bottom: solid 2px #209b62;
}
.stylesubbox h2 {
	padding: 0 0 16px;
	font-size: 1.14em;
	color: #209b62;
	line-height: 1.3em;
	text-align: center;
}
.stylesubbox h3 {
	padding: 0 0 14px;
	font-size: 1.94em;
	color: #111;
	text-align: center;
}
.stylesubbox h5 {
	padding: 0 0 15px;
	font-size: 1.14em;
	color: #111;
	line-height: 1.3em;
	text-align: center;
}
.stylecomm {
	width: 80%;
	margin: 0 auto;
	padding: 0 0 20px;
	font-size: 1.00em;
	color: #111;
	font-weight: 300;
	line-height: 1.6em;
	text-align: left;
}
.styletimebox {
	width: 80%;
	margin: 0 auto;
	padding: 25px 0;
	font-size: 1.14em;
	color: #111;
	line-height: 1.6em;
	background: #c9e8d9;
}
.styletimebox h4 {
	width: 94%;
	margin: 0 auto;
	padding: 10px 0;
	font-size: 1.14em;
	color: #333;
	background: #fff;
	border: solid 1px #209b62;
	text-align: center;
}
.styletimebox h4 dl {
	width: 90%;
	margin: 0 5%;
	text-align: left;
	line-height: 1.8em;
	clear: both;
}
.styletimebox h4 dt {
	float: left;
	width: 100px;
	color: #209b62;
	clear:both;
}
.styletimebox h4 dd {
	margin-left: 100px;
	padding: 0;
}
.styletimebox h4 span {
	padding: 0 15px 0 0;
	color: #209b62;
}
.styletimebox .timecap {
	width: 94%;
	margin: 0 auto;
	padding: 10px 0 6px;
	background: url(../images/white.png) repeat;
	text-align: left;
}
.styletimebox .timecap p {
	padding: 6px 30px;
	font-size: 0.94em;
	line-height: 1.4em;
}
#stylebox .imgbox {
	width: 80%;
	margin: 0 auto;
}
#stylebox .imgbox img {
	width: 100%;
	height: auto;
}
.nav1 { display: none; }
.nav2 { display: none; }
.nav3 { display: none; }

.captbox  {
	width: 100%;
	margin: 0 auto;
	padding: 10px 0;
	text-align: right;
}


/* ixcont03
---------------------------------------------------- */

#ixcont03 {
	margin: 0 0 50px;
	padding: 30px 0;
}
#ixcont03 h1.pgctgsub {
	margin: 0 auto 40px;
}
#ixcont03 .ixct03box {
	position: relative;
	width: 100%;
	padding: 0 0 30px;
	z-index: 1;
	background: #eff8f3;
}
#ixcont03 .stffitem {
	width: 100%;
	padding: 50px 0 20px;
}
#ixcont03 .stffitem .grid01 {
	width: 56%;
	text-align: left;
}
#ixcont03 .stffitem .grid .stfsub {
	padding: 0 0 20px;
	font-size: 1.5em;
	color: #111;
	line-height: 1.6em;
}
#ixcont03 .stffitem .grid .textbox {
	padding: 0 0 14px;
	padding-right: 1.0em;
	padding-left: 1.0em;
	font-size: 1.00em;
	color: #555;
	line-height: 3em;
	background-image: linear-gradient(transparent 0, transparent 98%, #bbb 100%);
	background-size: 100% 3em;
}
#ixcont03 .stffitem .grid02 {
	position: relative;
	width: 40%;
	max-width: 640px;
	margin: 0 0 20px 4%;
}
#ixcont03 .stffitem .grid img {
	width: auto;
	max-width: 100%;
	height: auto;
	padding: 8px;
	border: solid 1px #ccc;
	background: #fff;
		-moz-border-radius: 6px;
		-webkit-border-radius: 6px;
	border-radius: 6px;
}
.stffitem .tape	{
	position:absolute;
	background:rgba(255,255,255,0.4);
	border-left:2px dotted rgba(0,0,0,0.1);
	border-right:2px dotted rgba(0,0,0,0.1);
	box-shadow:0 0 5px rgba(0,0,0,0.2);
	width: 130px;
	height: 28px;
	top: -14px;
	left: 36%;
	-webkit-transform:rotate(-3deg);
}
#ixcont03 .stffitem .grid03 {
	float: right;
	width: 56%;
	margin: 0 0 0 4%;
	text-align: left;
}
#ixcont03 .stffitem .grid04 {
	position: relative;
	width: 40%;
}
.stffitem .tape2	{
	position:absolute;
	background:rgba(255,255,255,0.4);
	border-left: 2px dotted rgba(0,0,0,0.1);
	border-right: 2px dotted rgba(0,0,0,0.1);
	box-shadow:0 0 5px rgba(0,0,0,0.2);
	width: 100px;
	height: 20px;
	top: -14px;
	left: 36%;
	-webkit-transform:rotate(2deg);
}




/* ixcont04
---------------------------------------------------- */

#ixcont04 {
	padding: 50px 0 80px;
}
ul.accordion {
	width: 100%;
}
ul.accordion > li {
	margin: 0 0 10px;
	padding: 0 0 2px;
	background: #fff;
	border: solid 1px #00a263;
	cursor:pointer;
		-moz-border-radius: 6px;
		-webkit-border-radius: 6px;
	border-radius: 6px;
}
ul.accordion > li > p {
	padding: 8px 0;
	background: url(../images/icon_ques.png) no-repeat 16px 26px;
	background-size: 25px auto;
	cursor:pointer;
}
ul.accordion > li > p span {
	display:block;
	margin: 0 10px;
	color:#333;
	font-weight:bold;
	line-height: 1.5em;
}
ul.accordion > li > p span {
	padding: 18px 38px 18px 40px;
	background: url(../images/icon_arrow4.png) no-repeat right 10px top 20px;
	border-bottom: none;
}
ul.accordion > li > p span.open {
	padding: 18px 38px 28px 40px;
	background: url(../images/icon_arrow5.png) no-repeat right 10px top 21px;
	border-bottom: dotted 1px #aaa;
}
ul.accordion div {
	display:none;
	padding: 14px 0;
	background: #fff;
}
ul.accordion div > p {
	padding: 4px 20px 4px 28px;
	line-height: 1.8em;
}
ul.accordion div > p a {
	color: #229b60;
	text-decoration: underline;
}
ul.accordion div > p a:hover {
	text-decoration: none;
}


/* ixcont05
---------------------------------------------------- */

#ixcont05 {
	padding: 50px 0 80px;
}

.guidetable {
	width: 100%;
	border-top: solid 1px #cccccc;
	border-left: solid 1px #cccccc;
}
.guidetable th,
.guidetable td {
	padding: 15px 16px;
	font-size: 1.0em;
	color: #333;
	font-weight: 300;
	line-height: 1.8em;
	border-right: solid 1px #cccccc;
	border-bottom: solid 1px #cccccc;
	vertical-align: top;
}
.guidetable th {
	width: 120px;
	font-size: 1.0em;
	color: #fff;
	font-weight: 500;
	background: #229b60;
}
.guidetable td span {
	padding: 0 2px;
	color: #ff0000;
}
.guidetable th a,
.guidetable td a {
	color: #229b60;
	text-decoration: underline;
}


/* ixcont06
---------------------------------------------------- */

#ixcont06 {
	margin: 0 0 100px;
	padding: 50px 0 70px;
	background: #eff8f3;
	text-align: center;
}
.entrybtnbox .textbox {
	margin: 0 0 15px;
	text-align: center;
}
#ixcont06 .entrybtnbox a {
	display: block;
	width: 70%;
	margin: 0 auto;
	padding: 16px 10px;
	font-size: 1.2em;
	color: #fff;
	font-weight: normal;
	text-decoration: none;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
	border-radius: 5px;
	background: #00a263;
	text-align: center;
		-webkit-transition: all 0.6s;
		-moz-transition: all 0.6s;
		-ms-transition: all 0.6s;
		-o-transition: all 0.6s;
	transition: all 0.6s;
}
#ixcont06 .entrybtnbox a:hover {
	display: block;
	background: #000;
	text-align: center;
}




/* 1100
--------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 1100px){


/* ixcont01
---------------------------------------------------- */

#ixcont01 .ixct01box2 ul li {
	margin: 0 5px 10px;
	text-align: center;
}
#ixcont01 .ixct01box2 ul li .circle {
	display: inline-grid;
	width: 240px;
	height: 240px;
}

.ixct01box3 {
	font-size: 1.44em;
}
.cgbox01 .cg01 {
	padding: 0px 16px 3px 20px;
	font-size: 1.10em;
	font-weight: 500;
	background: #ddd;
	text-align: center;
}
.cgbox01 .cg02 {
	padding: 0px 16px 3px 20px;
	font-size: 1.10em;
	color: #d40000;
	font-weight: 600;
	background: #f5e9ea;
	text-align: center;
}
.cgbox01 .cgspc {
	padding: 0px 6px 3px 10px;
	text-align: center;
}
.ixct01box3 .cg03 {
	padding: 0px 2px;
	font-size: 1.40em;
	color: #d40000;
	font-weight: 600;
}


}

/* 896
--------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 896px){

.vscroll {
	position  : absolute;
	font-size : 13px;
	color: #fff;
	writing-mode : vertical-rl;
	bottom: 80px;
	left: 30px;
}

#inforbox h1 {
	width: 100%;
	margin: 0 0 20px;
	font-size: 5.0vw;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.6;
	font-weight: 300;
	letter-spacing: 0.1em;
	text-align: left;
}

/* topcopy
---------------------------------------------------- */

#topcopy {
	padding: 60px 0 50px;
}
#topcopy h1 {
	width: 100%;
	margin: 0 0 20px;
	font-size: 5.0vw;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.6;
	font-weight: 300;
	letter-spacing: 0.1em;
	text-align: left;
}
#topcopy .textbox {
	font-size: 3.2vw;
	color: #00a263;
	font-weight: 300;
	letter-spacing: 0.1em;
	line-height: 1.8em;
}




/* ixcont01
---------------------------------------------------- */

#ixcont01 {
	padding: 0 0 50px;
}
#ixcont01 .ixct01box {
	width: 100%;
}
#ixcont01 .ixct01box .grid01 {
	float: left !important;
	width: 36%;
	margin: 0;
	text-align: left;
}
#ixcont01 .ixct01box .grid01 img {
	width: 100%;
	height: auto;
}
#ixcont01 .ixct01box .grid02 {
	float: left !important;
	width: 60%;
	margin: 0 0 0 4%;
	padding: 0;
}
#ixcont01 .ixct01box .grid02 img {
	width: 100%;
	height: auto;
}

#ixcont01 .ixct01box2 ul li {
	margin: 0 5px 10px;
	text-align: center;
}
#ixcont01 .ixct01box2 ul li .circle {
	display: inline-grid;
	width: 200px;
	height: 200px;
}


.ixct01box3 {
	padding: 24px 20px 20px;
	font-size: 2.8vw;
}
.ixct01box3 .cgbox01 {
	padding: 0 0 6px;
	line-height: 2.0em;
}
.ixct01box3 .cgbox01 br.smponly {
	display: none !important;
}
.cgbox01 .cg01,
.cgbox01 .cg02 {
	padding: 0px 8px 2px 10px;
	font-size: 3.6vw;
}
.cgbox01 br {
}

.group {
	width: 80%;
}

.styletimebox h4 dl {
	width: 90%;
	margin: 0 5%;
	text-align: left;
	line-height: 1.8em;
	clear: both;
}
.styletimebox h4 dt {
	float: none;
	display: block;
	width: 100%;
	color: #209b62;
	clear:both;
}
.styletimebox h4 dd {
	margin-left: 0;
	padding: 0;
	line-height: 1.4em;
}



/* ixcont02
---------------------------------------------------- */

#ixcont02 {
	padding: 0 0 30px;
}
#ixcont02 .box {
	padding: 40px 0 0;
}
h1.ixsub {
	width: 40%;
	padding: 0 0 20px;
	text-align: left;
}
#ixcont02 .smlbox .textbox {
	padding: 0;
}
#ixcont02 .ix02topbox {
	padding: 0 0 30px;
}
#ixcont02 .ix02topbox .numbimg {
	position: absolute;
	right: 0;
	bottom: 0;
}
.ix02box02 {
	padding: 0 !important;
}
.swiper-slide img {
	width: 100%;
	margin: 0;
	height: auto;
}
.swiper-button-next, .swiper-button-prev {
	position: absolute;
	top: 160px !important;
	width: 40px !important;
	height: 40px !important;
	margin-top: -40px !important;
	-moz-background-size: 40px 40px !important;
	-webkit-background-size: 40px 40px !important;
	background-size: 40px 40px !important;
}
.swiper-button-prev {
	background: url(../../common/images/left_arrows.png) no-repeat !important;
	background-size: 40px 40px !important;
	left: -0% !important;
	right: auto;
}
.swiper-button-next {
	background: url(../../common/images/right_arrows.png) no-repeat !important;
	background-size: 40px 40px !important;
	left: auto;
	right: -0% !important;
}


/* ixcont03
---------------------------------------------------- */


#ixcont03 .stffitem {
	padding: 50px 0 20px;
}
#ixcont03 .ixct03box {
	position: relative;
	width: 100%;
	z-index: 1;
}
#ixcont03 .ixct03box .grid01,
#ixcont03 .ixct03box .grid03 {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0 0 20px;
	text-align: left;
}
#ixcont03 .ixct03box .textbox {
	padding: 0 0 30px;
	line-height: 1.6em;
}
#ixcont03 .ixct03box .grid02,
#ixcont03 .ixct03box .grid04 {
	float: none;
	width: 80%;
	margin: 0 auto;
}


/* ixcont04
---------------------------------------------------- */

#ixcont04 {
	padding: 50px 0;
}


}


/* 768
--------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 768px){

#mask {
	padding: 40px 0;
}
#panel #main_city h2 {
	font-size: 3.4vw;
}
#panel #main_city h3 {
	font-size: 2.4vw;
}

.panelInnerBox h6 {
	width: 70%;
	margin: 0 auto;
}
.simubtn2 {
	width: 100%;
	display: block;
	margin: 40px 0 0;
}

}



/* 640
--------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 640px){

.mq640 {
	display: block;
}

/* main-visual
-----------------------------------------*/

.main-visual {
	padding-top: 50px;
}


.vscroll {
	position  : absolute;
	font-size : 13px;
	color: #fff;
	writing-mode : vertical-rl;
	bottom: 60px;
	left: 20px;
	transform: translateX(-50%) translateY(-50%);
}
.vscroll::after {
	position : absolute;
	content : '';
	display : inline-block;
	background-color: #fff;
	right : 55%;
	bottom : -80px;
	transform : translateX(-50%);
	width : 1px;
	height : 75px;
	animation: scroll 2.5s infinite;
}

/* news
---------------------------------------------------- */

#inforbox {
	padding: 50px 0;
}
#inforbox h1 {
	width: 100%;
	margin: 0 0 20px;
	font-size: 6.2vw;
}
#inforbox .inforbtn {
	position: absolute;
	top: 0;
	right: 0;
	width: 160px;
}
#inforbox .inforbtn a {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 6px 6px;
}
#inforbox table th,
#inforbox table td {
	display: block;
	vertical-align: top;
	font-size: 0.94em;
	color: #111;
	font-weight: 300;
	line-height: 1.3em;
}
#inforbox table td {
	width: 100%;
	padding: 0px 0 14px;
}
#inforbox table td.ixdate {
	width: 100%;
	padding: 2px 0 4px;
}


/* topcopy
---------------------------------------------------- */

#topcopy {
	padding: 50px 0 50px;
}
#topcopy h1 {
	width: 100%;
	margin: 0 0 20px;
	font-size: 6.2vw;
}
#topcopy .textbox {
	font-size: 4.2vw;
	letter-spacing: 0em;
}

/* ixcont01
---------------------------------------------------- */

#ixcont01 .ixct01box {
	width: 100%;
	margin: 0 0 20px;
}
#ixcont01 .ixct01box .grid01 {
	float: none !important;
	width: 90%;
	margin: 0 auto 30px;
	text-align: left;
}
#ixcont01 .ixct01box .grid01 img {
	width: 100%;
	height: auto;
}
#ixcont01 .ixct01box .grid02 {
	float: none !important;
	width: 90%;
	margin: 0 5%;
	padding: 0;
}
#ixcont01 .ixct01box .grid02 img {
	width: 100%;
	height: auto;
}
#ixcont01 .ixct01box .textbox {
	font-size: 0.84em;
	line-height: 1.8em;
	letter-spacing: 0.1em;
}

#ixcont01 .ixct01box2 ul li {
	margin: 0 5px 10px;
	text-align: center;
}
#ixcont01 .ixct01box2 ul li .circle {
	display: inline-grid;
	width: 160px;
	height: 160px;
}



#mask {
	padding: 30px 0;
}
#panel #main_city h2 {
	font-size: 4.0vw;
}
#panel #main_city h3 {
	padding: 0 20px;
	font-size: 3.0vw;
}

.group {
	width: 80%;
	margin: 30px auto 20px;
}
.group .kssub {
	position: relative;
	padding: 0 0 24px;
	font-size: 4.6vw;
	line-height: 1.4em;
}
.group .ksmain {
	padding: 24px 0 20px;
	font-size: 4.0vw;
	line-height: 1.6em;
}

.panelInnerBox h6 {
	width: 80%;
	margin: 0 auto;
}
.simubtn2 {
	width: 100%;
	display: block;
	margin: 70px 0 0;
}

#stylebox {
	width: 100%;
	overflow: hidden;
	margin: 0 auto;
	padding: 40px 0;
	background: #f4fbf8 url(../../../images/bg_ixctg2.png) repeat 0 0;
}

.stylesubbox {
	width: 90%;
	margin: 0 auto;
}
.stylecomm {
	width: 90%;
	margin: 0 auto;
	padding: 0 0 24px;
	font-size: 0.94em;
	color: #111;
	line-height: 1.6em;
	text-align: left;
}
.styletimebox {
	width: 90%;
	margin: 0 auto;
	padding: 16px 0;
	font-size: 1.06m;
	color: #111;
	line-height: 1.6em;
	background: #c9e8d9;
}
.styletimebox h4 {
	padding: 10px 0;
	font-size: 1.00em;
}
.styletimebox h4 dd {
	margin-left: 0;
	padding: 0;
	font-size: 0.88em;
	line-height: 1.4em;
}
.styletimebox .timecap p {
	padding: 6px 14px 10px;
	font-size: 0.80em;
}
#stylebox .imgbox {
	width: 90%;
	margin: 0 auto;
}

/* ixcont02
---------------------------------------------------- */


/* ixcont03
---------------------------------------------------- */


/* ixcont04
---------------------------------------------------- */

#ixcont04 {
}
ul.accordion div {
	padding: 10px 0 20px;
}
ul.accordion div > p {
	line-height: 1.5em;
}
ul.accordion > li > p span {
	padding: 18px 38px 18px 42px;
	background: url(../images/icon_arrow4.png) no-repeat right 0px top 20px;
	border-bottom: none;
}
ul.accordion > li > p span.open {
	padding: 18px 38px 28px 42px;
	background: url(../images/icon_arrow5.png) no-repeat right 0px top 21px;
	border-bottom: dotted 1px #aaa;
}


/* ixcont05
---------------------------------------------------- */


.guidetable {
	box-sizing: border-box;
}
.guidetable th {
	display: block !important;
	width: 100%;
	padding: 6px 20px 8px;
	font-size: 0.88em;
	text-align: left;
}
.guidetable td {
	display: block !important;
	width: 100%;
	padding: 10px 20px 12px;
	font-size: 0.88em;
	text-align: left;
	line-height: 1.7em;
	vertical-align: top;
}


}


/* 540
--------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 540px){

/* ixcont01
---------------------------------------------------- */

#ixcont01 {
	padding: 0 0 40px;
}
#ixcont01 .ixct01box2 ul {
	width: 100%;
}
#ixcont01 .ixct01box2 ul li {
	margin: 0 10px 10px;
	text-align: center;
}
#ixcont01 .ixct01box2 ul li .circle {
	display: inline-grid;
	width: 146px;
	height: 146px;
}
#ixcont01 .ixct01box2 ul li .circle {
	font-size: 0.90em;
	color: #fff;
}
.circle div {
	margin: 10px 0;
	font-size: 1.6em;
}

#panel #main_city h4 img {
	width: 60px;
	height: auto;
}


.group {
	width: 90%;
	margin: 60px auto 30px;
	padding: 60px 10px;
}
.panelInnerBox h6 {
	width: 90%;
	margin: 0 auto;
}
.simubtn2 {
	display: block;
	margin: 30px 0 20px;
}




}


/* 480
--------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 480px){

.mq480 {
	display: block !important;
}

/* ixcont01
---------------------------------------------------- */

#ixcont01 {
	padding: 0 0 30px;
}
.ixct01box3 {
	padding: 24px 20px 20px;
	font-size: 3.8vw;
}
.ixct01box3 .cgbox01 {
	padding: 0 0 6px;
	line-height: 2.0em;
}
.ixct01box3 .cgbox01 br.smponly {
	display: none !important;
}
.cgbox01 .cg01,
.cgbox01 .cg02 {
	display: inline-block;
	width: 40%;
	min-width: 100px;
	margin: 0 0 5px;
	padding: 0px 8px 2px 10px;
	font-size: 5.6vw;
}
#panel #main_city ul li img {
	width: 150px;
	height: auto;
}

.simubtn2 {
	width: 100%;
	display: block;
	margin: 50px 0 0;
	padding: 20px 0;
	line-height: 1.4em;
	font-size: 1.2em;
	color: #fff;
	text-decoration: none;
	background: #209b62;
	border: none;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
	border-radius: 5px;
	text-align: center;
	letter-spacing: 0.1em;
	cursor: pointer;
}

.captbox  {
	font-size: 0.9em;
}

/* ixcont03
---------------------------------------------------- */


#ixcont03 .ixct03box .textbox {
	padding: 0 0 30px;
	line-height: 1.6em;
}
#ixcont03 .ixct03box .grid02,
#ixcont03 .ixct03box .grid04 {
	float: none;
	width: 80%;
	margin: 0 auto;
}
#ixcont03 .stffitem .grid .stfsub {
	padding: 0 0 20px;
	font-size: 1.3em;
}
#ixcont03 .stffitem .grid .textbox {
	padding: 0 0 14px;
	padding-right: 1.0em;
	padding-left: 1.0em;
	font-size: 0.9em;
	color: #555;
	line-height: 2.4em;
	background-image: linear-gradient(transparent 0, transparent 99%, #bbb 100%);
	background-size: 100% 2.4em;
}


}

/* 420
--------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 420px){

.ixbnrbox li {
	width: 90%;
	margin: 0 5%;
	padding: 0 0 10px;
	box-sizing: border-box;
}

/* topcopy
---------------------------------------------------- */

#topcopy {
	padding: 40px 0 30px;
}
#topcopy h1 {
	width: 100%;
	margin: 0 0 6px;
	font-size: 6.2vw;
}
#topcopy .textbox {
	font-size: 4.2vw;
	letter-spacing: 0em;
	white-space: nowrap;
}

}