@charset "UTF-8";
@import url(reset.css);
@import url('https://fonts.googleapis.com/css?family=Nanum+Brush+Script&display=swap');
/*--------------------------------------------------------------

reset.css
リセット関係・clearfixなど

common.css
上記cssのimport、レイアウト（大枠）を記載したcss

sub.css
下層のレイアウト（大枠）を記載したcss


--------------------------------------------------------------*/
/* fontIcon 
:before,
:after {
	content: "\f099";
	font-family: "Font Awesome 5 Free";
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}

/* ------------------------------------------------------------ */
/* 全デバイス幅共通：基本・レイアウト指定 */
/* ------------------------------------------------------------ */

* html body {
	background: url(null) fixed;
}

html {
	font-size: 62.5%;
	overflow-x: hidden;
}

body {
	margin: 0;
	padding: 0;
	background: #fff;
	color: #222;
	font-size: 1.6em;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .05em;	
	-webkit-text-size-adjust: 100%; /*レスポンシブのとき*/
}


.sp {
	display: none;
}

.sp-only {
	display: none;
}


/* ------------------------------------------------------------ */
/* リンク色 */
/* ------------------------------------------------------------ */
::selection {
  background: rgba(0, 159, 232, 0.15);
  color: #333;
}

::-moz-selection {
  background: rgba(0, 159, 232, 0.15);
  color: #333;
}

a {
	color: #222;
	cursor: pointer;
	line-height: inherit;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	text-decoration: none;
}

a:link {
	text-decoration: none;
}

a:visited {
	text-decoration: none;
}

a:hover {
	color: #009fe8;
	text-decoration: none;
}

a:active {
	color: #009fe8;
	text-decoration: none;
}

/* ------------------------------------------------------------ */
/* font */
/* ------------------------------------------------------------ */

.kr {
	font-family: 'Nanum Brush Script', cursive;
}

/* ------------------------------------------------------------ */
/* font color */
/* ------------------------------------------------------------ */

.clr_blue {
	color: #009fe8;
}

.clr_orange {
	color: #ff9c00;
}


/* ------------------------------------------------------------ */
/* font icon */
/* ------------------------------------------------------------ */
.font_icon::before,
.font_icon::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;	
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}

/* ------------------------------------------------------------ */
/* 画像 */
/* ------------------------------------------------------------ */
.main-logo img,
.logo img,
.thumb img,
.image img,
.banner img {
	max-width: 100%;
	height: auto;	
	margin: 0 auto;
}

/* ------------------------------------------------------------ */
/* float */
/* ------------------------------------------------------------ */

.floatL {
	float: left;
	margin: 0 1em 1em 0;
}

.floatR {
	float: right;
	margin: 0 0 1em 1em;
}

/* ------------------------------------------------------------ */
/* view more link */

a.more {
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 500;
	padding: 5px;
	color: #009fe8;
	border: 1px solid #009fe8;
	background: #fff;
}

a.more:hover {
	opacity: .7;
	background: #009fe8;
	color: #fff;	
}

/* ------------------------------------------------------------ */
/* gradation */

.gradation {
	padding: 8px;
	line-height: 1.2;
	color: #fff;
	background: -webkit-linear-gradient(30deg, rgb(0, 159, 232), rgb(0, 109, 232));
	background: linear-gradient(30deg, rgb(0, 159, 232), rgb(0, 109, 232));
}

.gradation.reverse {
	background: -webkit-linear-gradient(30deg, rgb(0, 109, 232), rgb(0, 159, 232));
	background: linear-gradient(30deg, rgb(0, 109, 232), rgb(0, 159, 232));
}

.gradation.g-orange {
	background: -webkit-linear-gradient(30deg, rgb(255, 156, 0), rgb(255, 102, 0));
	background: linear-gradient(30deg, rgb(255, 156, 0), rgb(255, 102, 0));
}

.gradation.g-orange.reverse {
	background: -webkit-linear-gradient(30deg, rgb(255, 102, 0), rgb(255, 156, 0));
	background: linear-gradient(30deg, rgb(255, 102, 0), rgb(255, 156, 0));
}


/* ------------------------------------------------------------ */
/* ボタン */
/* ------------------------------------------------------------ */
.btn {
	text-align: center;
	max-width: 280px;
	height: auto;
	margin: 0 auto;
	font-weight: bold;
}

.sub .btn {
	max-width: 320px;
}


.btn a {
	display: block;
	letter-spacing: 0.08em;
	border: 1px solid #009fe8;	
	background: -webkit-linear-gradient(30deg, rgb(0, 159, 232), rgb(0, 109, 232));
	background: linear-gradient(30deg, rgb(0, 159, 232), rgb(0, 109, 232));
	color: #fff;
	border-radius: 60px;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 16px 1em;
	position: relative;
	overflow: hidden;
	z-index: 1;
	box-shadow: 0 0 8px rgba(0, 0, 0, .2);
}

.btn a:hover {
	background: #fff;
	color: #009fe8;
	box-shadow: 0 0 10px rgba(0, 0, 0, .4);
}

.btn.btn-org a {
	border: 1px solid #ff9c00;		
	background: -webkit-linear-gradient(30deg, rgb(255, 156, 0), rgb(255, 102, 0));
	background: linear-gradient(30deg, rgb(255, 156, 0), rgb(255, 102, 0));
	color: #fff;
}

.btn.btn-org a:hover {
	background: #fff;
	color: #ff9c00;
}

.btn.line-blue a {
	background: #eff7fb;
	border: 2px solid #009fe8;		
	color: #009fe8;
}

.btn.line-blue a:hover {
	background: #009fe8;
	color: #eff7fb;
}

.btn.line-org a {
	background: #fef5e6;
	border: 2px solid #ff9c00;		
	color: #ff9c00;
}

.btn.line-org a:hover {
	background: #ff9c00;
	color: #fef5e6;
}

/* btn-square */
.btn.square a {
	border-radius: 10px;
	padding: 16px;
	box-shadow: none;	
}

.btn i {
	margin: 0 0 0 5px;
}

.btn .small {
	display: block;
	font-size: .8em;
	padding: 5px 0 0;
}

.btnBox {
	text-align: center;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
}

.sub .btnBox {
	margin: 0 auto;
	max-width: 1024px;
}


.btnBox .btn {
	display: inline-block;
	margin: 0 10px 15px;
	width: calc(100%/2 - 20px);
}

/* ------------------------------------------------------------ */
/* メインロゴ共通 */

.main-logo {
	max-width: 260px;
	margin: 0;
}

.main-logo a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 10px;
}

.main-logo a:hover {
	opacity: .7;
}

/* ------------------------------------------------------------ */
/* 全体格納 */
/* ------------------------------------------------------------ */
.wrapper {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}

.inner {
	width: 100%;
	max-width: 1280px;
	height: auto;
	padding: 0;
	margin: 0 auto;
	clear: both;
}

.inner::after {
	content: "";
	clear: both;
	display: block;
}

.content {
	width: 100%;
	height: auto;
	margin: 0 auto;
	overflow: hidden;
}


/* ------------------------------------------------------------ */
/* ヘッダー */
/* ------------------------------------------------------------ */
.main-header {
  width: 100%;
  height: auto;
	margin: 0 auto;
	padding: 0;
	font-weight: 500;
	background: rgba(255, 255, 255,.95);
  position: fixed;
  top: 0;
  left: 0;	
	display: flex;
	justify-content: space-between;
	align-items: center;
	align-content: center;
	flex-wrap: nowrap;
	z-index: 9999;
	box-shadow: 0 1px 8px rgba(0, 0, 0, .2);
	-webkit-transition: all .5s;
	transition: all .5s;
}

.main-header .main-logo {
	width: 22%;
}

/* ------------------------------------------------------------ */
/* グローバルナビ */
/* ------------------------------------------------------------ */

.main-header .gNav {
}

.gNav ul {
	width: 100%;
  height: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: nowrap;
}

.gNav li {
	border-left: 1px solid #ddd;
	font-size: 1.5rem;	
	font-weight: bold;
	text-align: center;
}

.gNav li.drop {
	position: relative;
	z-index: 10;	
}

.gNav li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 10px 1em;
	line-height: 40px;
}

.gNav li a.current,
.gNav li a:hover {
	background: #e5f7ff;
	color: #009fe8;
}

.gNav li.login {
	width: 140px;
	border-left: 1px solid #ff9c00;
	font-size: .85em;
}

.gNav li.contact {
	width: 140px;	
	border-left: 1px solid #009fe8;
}

.gNav li.login a {
	background: #ff9c00;
	color: #fff;	
	line-height: 1.5;
}

.gNav li.contact a {
	background: #009fe8;
	color: #fff;	
}

.gNav li.login a:hover,
.gNav li.contact a:hover {
	opacity: .7;
}

.gNav .nav-child {
	position: absolute;
	top: 100%;
	left: 50%;
	width: 320px;
	background: rgba(255, 255, 255, .95);
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
	visibility: hidden;
	opacity: 0;
	z-index: -1;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .2);
	transform: translateX(-50%);
	overflow: hidden;
}

.gNav .drop:hover .nav-child {
	visibility: visible;
	opacity: 1;
}

.gNav .nav-child ul {
	display: block;
}

.gNav .nav-child li {
	border-left: none;
	border-top: 1px solid #ccecfa;
	text-align: left;
}

.gNav .nav-child li:first-of-type {
	border-top: none;
}

.gNav .nav-child li a {
	padding: 8px 16px;
	font-size: 1.3rem;
	line-height: 30px;
}

.gNav .nav-child li.nonlink {
	padding: 16px;
	background: #e5f7ff;
	color: #009fe8;	
	font-size: 1.3rem;
	line-height: 1;
}

.gNav .nav-child li a:hover {
}

/* ------------------------------------------------------------ */
/* マイページ */
.login.hold-transition .main-header {
	margin: 26px auto 0;
}

.login.hold-transition .user-name {
	width: 100%;
	color: #fff;
	text-align: right;
	font-size: .85em;
	font-weight: bold;
	padding: 3px 10px;
	background: #009fe8;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}

.login.hold-transition .gNav li.login {
	border-left: 1px solid #777;
	font-size: 1em;
}

.login.hold-transition .gNav li.login a {
	background: #777;
	line-height: 40px;
}

.login.hold-transition .gNav li.contact {
	border-left: 1px solid #ff9c00;
}

.login.hold-transition .gNav li.contact a {
	background: #ff9c00;
}


@media screen and (max-width: 1280px) {
	
.gNav li {
	font-size: .9em;
}
	
.gNav li a {
	padding: 10px;
}
	
.gNav li.login {
	font-size: .8em;
}	
	
.gNav li.contact {
}	
	
/* ------------------------------------------------------------ */
/* マイページ */

.login.hold-transition .gNav li.login {
	font-size: .9em;
}
	
}

@media screen and (min-width: 1025px) and (max-width: 1210px) {
	
.gNav li {
	font-size: .85em;
	width: calc(100%/7);			
}

.gNav li a {
	line-height: 1.5;
}
	
.gNav .nav-child li {
	font-size: 1em;
	width: 100%;
}
	
.login.hold-transition .gNav li a {
	line-height: 40px;
}	
	
.login.hold-transition .gNav li:first-child a,
.login.hold-transition .gNav li:nth-child(2) a	{
	line-height: 1.5;
}		
	
}


@media screen and (min-width: 1211px) and (max-width: 1389px) {
/* ------------------------------------------------------------ */
/* マイページ */
	
.login.hold-transition .main-header .main-logo {
	width: 16%;
}	
	
.login.hold-transition .gNav li {
	font-size: .9em;
}
	
.login.hold-transition .gNav li a {
	padding: 10px;
	line-height: 40px;
}	
	
.login.hold-transition .gNav li.login {
	width: 120px;
	font-size: .9em;	
}
	
.login.hold-transition .gNav li.contact {
	width: 120px;
}
	
.login.hold-transition .gNav .nav-child li {
	width: 100%;
}
	
	
}

@media screen and (min-width: 1025px) and (max-width: 1115px) {
/* ------------------------------------------------------------ */
/* マイページ */
	
.login.hold-transition .main-header .main-logo {
	width: 16%;
}	
	
.login.hold-transition .gNav li {
	font-size: .8em;
	/*width: calc(100%/8);*/
}
	
.login.hold-transition .gNav li a {
	padding: 10px 8px;
	line-height: 40px;
}	
	
.login.hold-transition .gNav li:first-child a,
.login.hold-transition .gNav li:nth-child(2) a	{
	line-height: 1.5;
}	
	
.login.hold-transition .gNav li.login {
	width: 100px;
	font-size: .8em;	
}
	
.login.hold-transition .gNav li.contact {
	width: 110px;
}	
	
.login.hold-transition .gNav li.contact a {
	line-height: 40px;
}	
	
.login.hold-transition .gNav .nav-child li {
	width: 100%;
}
		
}



/* ------------------------------------------------------------ */
/* コンテンツ共通 */
/* ------------------------------------------------------------ */

section.base {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 60px 0;
	clear: both;
	position: relative;
	overflow: hidden;
}

section.base::after {
	content: "";
	clear: both;
	display: block;
}

section.bg {
	z-index: 1;
}

section.bg::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.5);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

section.bg_blue {
	background: #f4fcff;
}

section.pllx {
	background: url("../img/bg-pllx.jpg") repeat-y center top / cover;
	background-attachment: fixed;
	position: relative;
}

section.pllx .pllx_inner {
	background: #fff;
	padding: 6%;
	margin: 12% 0;
	position: relative;
}


/* sectionタイトル */
.tit {
	font-size: 3.2rem;
	color: #009fe8;
	letter-spacing: 0.1em;	
	text-align: center;
	margin: 0 auto 40px;
}

.sub-tit {
	font-size: 2.6rem;
	color: #009fe8;	
	letter-spacing: 0.1em;	
	text-align: center;
	margin: 0 auto 30px;
}

/* キャプション */
.caption {
	text-align: center;
	line-height: 1.8;	
	margin: 0 auto 40px;
}

/* ------------------------------------------------------------ */
/* コンテンツ・カラムパターン */
.column {
	width: 100%;
	height: auto;
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
	align-items: stretch;
	flex-wrap: wrap;
}

.column .item {
	width: 100%;
	height: auto;	
	margin: 0 auto;
}

/* 2カラム */
.column.col02 .item {
	width: calc(100%/2);
}

/* 3カラム */
.column.col03 .item {
	width: calc(100%/3);
}

/* 4カラム */
.column.col04 .item {
	width: calc(100%/4);
}

/* 5カラム */
.column.col05 .item {
	width: calc(100%/5);
}


/* ------------------------------------------------------------ */
/* スライダー */

.slideBox {
	position: relative;
} 

.swiper-container {
	width: 100%;
	height: 100%;
	position: relative;
} 

.swiper-slide {
	text-align: center;
	background: #fff;
	/* Center slide text vertically */
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.mvSlider .swiper-slide a {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.swiper-slide img {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.slidmvSlidereBox.swiper-container-horizontal > .swiper-pagination-bullets,
.slideBox.swiper-container-horizontal > .swiper-pagination-bullets {
	bottom: 30px;	
}

.mvSlider .swiper-pagination-bullet,
.slideBox .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	opacity: 1;
	background: #ccc;	
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.mvSlider .swiper-pagination-bullet:hover,
.slideBox .swiper-pagination-bullet:hover {
	background: #009fe8;	
}

.mvSlider .swiper-pagination-bullet-active,
.slideBox .swiper-pagination-bullet-active {
	background: #009fe8;	
}

.swiper-button-prev,
.swiper-button-next {
	position: absolute;
	top: 50%;
	width: 60px;
	height: 50px;
	text-align: center;
	font-size: 3.4rem;
	margin-top: 0;
	background: none;
	z-index: 10;
	color: #009fe8;
	cursor: pointer;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
	left: 0;
	right: auto;
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
	right: 0;
	left: auto;
}

.swiper-button-prev:hover,
.swiper-container-rtl .swiper-button-next:hover,
.swiper-button-next:hover,
.swiper-container-rtl .swiper-button-prev:hover {
	color: #fff;		
	text-shadow: 0 0 10px rgba(0,0,0,.5);	
}


/* ------------------------------------------------------------ */
/* リストパターン */

/* バナーリスト */
.banList {
	width: 100%;
	margin: 0 auto;	
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
}

.banList .list-item {
	width: calc(100%/4 - 20px);
	height: auto;
	margin: 0 20px 20px 0;
	padding: 0;
}

.banList .list-item:nth-child(4n) {
	margin: 0 0 20px;
}

/* 100%サイズ */
.banList.full .list-item {
	width: 100%;
	margin: 0 0 20px !important;
}

.banList .list-item a {
	display: table;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	font-weight: bold;
	border: 1px solid #009fe8;
}

.banList .list-item span {
	display: table-cell;
	vertical-align: middle;
	padding: 0 1em;
}

.banList .list-item span.thumb {
	width: 80px;
	height: 80px;
	padding: 0;
}

.banList .list-item img {
	width: 100%;
	height: auto;
	margin: 0 auto;	
}

.banList .list-item a:hover {
	opacity: .7;
}

/* テキストリスト */
.txtList {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.txtList .list-item {
	width: 100%;
	height: auto;
	margin: 0 auto;
	font-size: 1.4rem;	
	border-bottom: 1px solid #ddd;	
}

.txtList .list-item a {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: .8em .5em;
}

.txtList .list-item a:hover {
	text-decoration: underline;
}

.txtList .list-item .tag span {
	display: inline-block;
	margin: 0 10px 5px 0;
	font-size: 1.2rem;
}

.txtList .list-item .cat {
	padding: 0 4px;
	background: #009fe8;
	color: #fff;
}

.txtList .list-item .cat.news {
	background: #009fe8;
}

.txtList .list-item .cat.info {
	background: #005a84;
}

.txtList .list-item .update {
	color: #999;
}

/* サムネリスト */
.thumbList {
	max-width: 1024px;
	margin: 0 auto 60px;
}

.col03.thumbList .item {
	width: calc(100%/3 - 2em);
	margin: 0 1em 2em;
	background: #fff;	
	position: relative;
}

.thumbList .item a {
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	border-bottom: 3px solid #009fe8;	
	box-shadow: 0 1px 5px -1px rgba(0,0,0,.3);	
}

.thumbList .item a:hover {
	opacity: .7;
	box-shadow: 0 1px 8px -1px rgba(0,0,0,.5);	
}

.thumbList .item .thumb {
	margin: 0 auto;
}

.thumbList .item .txt {
	padding: 1em 1.5em;
	font-size: 1.4rem;
}

.thumbList .item h4 {
	font-size: 2rem;
	text-align: center;
	color: #009fe8;
	margin: 0 auto 8px;
}

/* ------------------------------------------------------------ */
/* メインビジュアル */
/* ------------------------------------------------------------ */
.main-visual {
}

.mvSlider {
	width: 100%;
	height: 100%;	
	position: relative;
} 

/* ------------------------------------------------------------ */
/* important_news */

.important_news {
	height: 65px;
	position: relative;
	box-shadow: 0 -1px 5px rgba(0,0,0,.3);
	z-index: 1;
}

.important_news h2 {
	background: #ff9c00;
	color: #fff;
	text-align: center;
	width: 18%;
	max-width: 180px;
	padding: 0 1em;
	line-height: 65px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
}

.important_news h2 i {
	margin: 0 5px 0 0;
}

.important_news a.more {
	font-size: 1.3rem;
	font-weight: bold;
	color: #ff9c00;
	border: 1px solid #ff9c00;
	position: absolute;
	top: 50%;
	right: 1.5em;
	z-index: 100;
	transform: translateY(-50%);
}

.important_news a.more:hover {
	color: #fff;
	background: #ff9c00;
}

.vertical-slider {
	width: 86%;
	height: 65px;
	padding: 0 120px 0 0;
	margin: 0 0 0 auto;
	position: absolute;
	top: 0;
	right: 0;
	overflow: hidden;
}

.vertical-slider.swiper-container-vertical > .swiper-wrapper {
	 height: 65px; 
}

.vertical-slider .swiper-slide {
	text-align: left;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-box-align: flex-start;
	-ms-flex-align: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.vertical-slider .swiper-slide a {
	display: block;
	width: 100%;
	font-size: 1.5rem;		
	line-height: 65px;
	color: #ff9c00;
	font-weight: bold;
	text-decoration: underline;
	text-overflow: ellipsis;
	white-space: nowrap;
	word-break: break-all;
	overflow: hidden;
}

.vertical-slider .swiper-slide a:hover {
	color: #999;	
	text-decoration: none;	
}

.vertical-slider .swiper-slide a.font_icon {
}

.vertical-slider .swiper-slide .font_icon::before {
	content: "\f0da";
	margin: 0 8px 0 0;
	font-size: 1.8rem;
}


/* ------------------------------------------------------------ */
/* schedule */

section.schedule {
	padding: 8% 0 6%;
	background: url("../img/bg-schedule.png") no-repeat center top / cover;
}

.schedule .box {
	max-width: 1024px;
	margin: 0 auto;
	border: 6px solid #009fe8;
	padding: 40px;
	background: #fff url("../img/bg-pen.png") no-repeat right -30px bottom -12px / 240px 245px;
	position: relative;
	z-index: 1;
	box-shadow: 0 0 8px rgba(0,0,0,.5);
}

.schedule .box .tit {
	display: inline-block;
	padding: 4px 1em;
	background: #009fe8;
	color: #fff;
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	margin: 0 auto;	
}

.schedule .box .tit i {
	font-size: .85em;
	font-weight: normal;
	margin: 0 10px 0 0;
	vertical-align: text-top;
	line-height: 1.2;
}

.ribbon {
	display: inline-block;
	width: 125px;
	background: #e92e01;
	color: #fff;
	text-align: center;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 10px 30px 10px 15px;
	position: absolute;
	top: 40px;
	left: -20px;
	z-index: 12;
}

.ribbon.closed {
	background: #666;
}


.ribbon::after {
  content: '';
  border-width: 30px 20px 30px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 13;
}


.schedule .column {
	margin: 0 auto 40px;
}

.schedule .column .item {
	width: 58%;
	padding: 20px 4% 20px 2%;
}

.schedule .column .item.nextdate {
	width: 42%;
	padding: 20px 0 20px 4%;	
	border-left: 1px solid #ddd;
}


.schedule .item h3 {
	text-align: center;
	font-size: 4.2rem;
	color: #009fe8;
	margin: 0 auto 20px;
	line-height: 1.2;
}

.schedule .item h3 span {
	display: inline-block;
	width: 72px;
	height: 72px;
	font-size: .4em;
	line-height: 72px;
	color: #fff;
	background: #009fe8;
	border-radius: 100%;
	margin: 0 1em 0 0;
	vertical-align: middle;
}

.schedule .item h3 span.small {
	display: inline;
	width: auto;
	height: auto;
	font-size: .5em;
	line-height: 1.2;
	color: inherit;
	background: none;
	border-radius: 0;
	margin: 0 0 0 8px;
	vertical-align: baseline;;
}

.schedule .nextdate h3 {
	font-size: 3.4rem;
	color: #57a0c2;
}

.schedule .nextdate h3 span {
	width: 58px;
	height: 58px;
	font-size: .4em;
	line-height: 58px;
	background: #57a0c2;
}

.schedule .nextdate h4,
.schedule .nextdate h5 {
	color: #737373;
	padding: 1em 0;
	text-align: center;
}

.schedule .nextdate h4 {
	font-size: 2.4rem;
}

.schedule .nextdate h5 {
	font-size: 1.8rem;
}


.schedule_date {
	margin: 0 auto 30px;
}

.schedule_date .notice {
	display: block;
	font-size: 1.4rem;
	padding: 5px 0 0;
}

.schedule_date p {
	padding: 8px 1.2em;
	font-size: 2.8rem;
	font-weight: bold;
}

.schedule_date p span {
	font-size: .6em;
	display: inline-block;
	vertical-align: text-bottom;
	margin: 0 4% 0 0;
	line-height: 1.6;
}

.schedule_date p.first {
	color: #fef615;
	background: #009fe8;
	margin: 0 auto 10px;	
}

.schedule_date p.second {
	color: #fee9e9;
	background: #0070cf;
	margin: 0 auto;	
}

.nextdate .schedule_date p {
	font-size: 2.2rem;
}

.nextdate .schedule_date p.first {
	color: #fff;
	background: #57a0c2;	
}

.nextdate .schedule_date p.second {
	color: #fff;
	background: #45769f;	
}

.entry_flow {
	width: 100%;
	margin: 0 auto;	
}

.entry_flow dl {
	width: 100%;
	display: table;	
	margin: 0 auto 8px;
}

.entry_flow dl dt,
.entry_flow dl dd {
	display: table-cell;
	vertical-align: middle;
	padding: 8px 8px 8px 1em;	
}

.entry_flow dl dt {
	background: #ccecfa;
	text-align: center;
	width: 170px;
	font-weight: bold;
	padding: 8px 5px;		
}

.entry_flow dl dd {
}

.nextdate .entry_flow {
	font-size: .85em;	
}

.nextdate .entry_flow dl dt {
	width: 100px;
}

/* ------------------------------------------------------------ */
/* news_area */

section.news_area {
}

.news_area .column {
	padding: 0 40px;
	margin: 0 auto 80px;
}

.news_area .item {
	padding: 0 40px;
}

.news_area .txtList {
	margin: 0 auto 40px;
}


.news_area .tit {
}

.news_area .item .sub-tit {
	text-align: left;
	line-height: 32px;
	margin: 0 auto 10px;
}

.news_area .item:first-child .sub-tit {
	color: #ff9c00;
}

.news_area .sub-tit i {
	font-size: 2rem;
	color: #fff;
	display: inline-block;
	vertical-align: middle;
	width: 40px;
	height: 40px;
	line-height: 32px;
	text-align: center;
	padding: 4px 5px 4px 8px;
	border-radius: 100%;
	background: #009fe8;
	margin: 0 10px 0 0;
}

.news_area .item:last-child .sub-tit i {
	transform: rotate(-20deg);
}

.news_area .item:first-child .sub-tit i {
	background: #ff9c00;
}

.news_area .btnBox .btn {
	font-size: 2rem;
}

.news_area .btnBox .btn:nth-child(3) {
	line-height: 56px;
}

/* ------------------------------------------------------------ */
/* concept */

.top .concept {
}

.top .concept .tit {
	font-size: 4.4rem;
	margin: 0;
	position: absolute;
	top: 20%;
	left: 18%;
	z-index: 10;
	width: 50%;
	text-align: left;
}

.top .concept .tit span {
	display: inline-block;
	margin: 0 0 15px;
	padding: 8px .5em;
}

.top .concept .tit span:last-child {
	margin: 0 0 15px 12%;
}

.top .concept .column {
	justify-content: center;
	align-items: flex-end;
	flex-direction: row-reverse;
	margin: 0 auto 60px;
}

.top .concept .column .thumb {
	width: 62%;
}

.top .concept .column .txt {
	width: 38%;
	padding: 0 4% 0 8%;
	line-height: 1.8;
}

/* ------------------------------------------------------------ */
/* last_data */

.last_data {
	
}

.last_data .column {
	margin: 0 auto 60px;
}

.last_data .item {
	padding: 0 2em;
	text-align: center;
}

.last_data .item h4 {
	font-size: 2rem;
	color: #009fe8;
	margin: 0 auto 15px;
}

.last_data .item .data_element {
	width: 100%;
	height: auto;
	margin: 0 auto;
	position: relative;
	z-index: 2;	
}

.data_element .inner_data {
	width: 100%;
	height: auto;
	margin: 0 auto;
	text-align: center;
	color: #009fe8;	
	position: absolute;
	top: 38%;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.data_element .inner_data span.num {
	display: block;
	font-size: 2.8rem;
	font-weight: bold;
	padding: 0 0 0 5px;
}

.data_element .inner_data span.num span {
	font-size: .6em;
	display: inline-block;
	margin: 0 0 0 5px;
	vertical-align: baseline;
}


/* ------------------------------------------------------------ */
/* pickup */




/* ------------------------------------------------------------ */
/* フッター */
/* ------------------------------------------------------------ */
.main-footer {
	background: #f7f7f7;
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 60px 0 20px;	
}

.main-footer .box {
	width: 100%;
	margin: 0 auto 60px;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

.main-footer .box.last {
	display: block;
	text-align: center;
	margin: 0 auto 40px;	
}

.main-footer .main-logo {
	width: 30%;	
	margin: 0 auto 10px;
}

.main-footer .address {
	font-size: 1.4rem;
	margin: 0 auto 20px;
}


/* サイトマップ */
.sitemap {
	width: 100%;
	margin: 0 1em 0 0;
}

.sitemap li {
	font-size: 1.2rem;
	margin: 0 0 8px;
}

.sitemap li.top {
	font-size: 1.4rem;
	font-weight: bold;
	margin: 0 0 10px;
}

.sitemap li.nonlink {
	color: #009fe8;
}

.sitemap li a {
}

.sitemap li a.icon {
	display: inline-block;
	vertical-align: middle;
	margin: 0 8px 8px 0;
	font-size: 2.4rem;
	line-height: 1;
}

.sitemap li a.fb {
	color: #1d6fce;
}

.sitemap li a.tw {
	color: #43b2dc;
}

.sitemap li a.insta {
	color: #e4405f;
}

.sitemap li a:hover {
	text-decoration: underline;
}

.sitemap li a.icon:hover {
	opacity: .7;
	text-decoration: none;
}

.copy {
	font-size: 1rem;
	text-align: center;
}


@media screen and (max-width: 1024px) {
/* 1024px以下用（タブレット用）の記述 */

.pc {
	display: none;
}
.sp {
	display: block;
}

/* ------------------------------------------------------------ */
/* 共通 */
/* ------------------------------------------------------------ */
	
	
/* ------------------------------------------------------------ */
/* ボタン */

.btn {
	font-size: .95em;
}	
	
/* ------------------------------------------------------------ */
/* 全体格納 */
/* ------------------------------------------------------------ */
.inner {
	max-width: 95%;
	padding: 0;
}

/* ------------------------------------------------------------ */
/* ヘッダー */
/* ------------------------------------------------------------ */

.main-header {
	height: 50px;
}

.main-header h1.main-logo {
	width: 30%;
}
	
.main-header h1.main-logo a {
	padding: 10px 0 10px 20px;
}	
	
.main-header .btn {
	margin: 0 70px 0 auto;
}	

.main-header .btn a {
  padding: 5px 1em;	
}	
	
/* ------------------------------------------------------------ */	
/* ナビボタン */
.sb-toggle-right {
	width: 35px;
	height: 25px;
  position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}

#spBtn {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	outline: none;
	border: none;
	background: none;
	cursor: pointer;
	z-index: 999;
}

#spBtn span {
	display: inline-block;
	width: 100%;
	height: 3px;
	background-color: #009fe8;
	position: absolute;
	left: 0;	
	transition: all .4s;	
}

#spBtn span:nth-of-type(1) {
	top: 0;
}

#spBtn span:nth-of-type(2) {
	top: 50%;
	transform: translateY(-50%);
}

#spBtn span:nth-of-type(3) {
	bottom: 0;
}

.sb-active #spBtn span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
}

.sb-active #spBtn span:nth-of-type(2) {
	opacity: 0;
}

.sb-active #spBtn span:nth-of-type(3) {
	-webkit-transform: translateY(-12px) rotate(45deg);
	transform: translateY(-12px) rotate(45deg);
}	


/* ------------------------------------------------------------ */
/* ドロワーナビ */
/* ------------------------------------------------------------ */
.sbNav {
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	background: #fff;	
	border-left: 1px solid #ddd;
}

.sb-right-inner {
	width: 100%;
	height: 100%;
}

.sb-right-inner .main-logo {
	max-width: 80%;
	margin: 0 auto 10px;
	padding: 15px 0 10px;
	text-align: center;
}

.sb-right-inner .main-logo a {
	padding: 0;
}
	
.drawrNav {
	width: 100%;
	height: auto;
	margin: 0 auto 40px;	
}
	
.drawrNav ul {
	width: 100%;
	height: auto;
	border-top: 1px solid #ddd;	
}
	
#accordion li {
	margin: 0 auto;
	width: 100%;
	border-bottom: 1px solid #ddd;
}
	
#accordion li a,
#accordion li p {
	display: block;
	width: 100%;
	height: 100%;
	padding: 12px 20px;
	font-weight: bold;
}	

#accordion li p::after {
	content: "\f0d7";
	font-family: "Font Awesome 5 Free";
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	color: #009fe8;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	-webkit-transition: all .5s;
	transition: all .5s;
}
	
#accordion li p.open::after {
	content: "\f0d8";	
}

#accordion li .nav-child {
	display: none;
	font-size: .85em;
	background: #f1fbff;
}	
	
#accordion li .nav-child li {
	border-bottom: none;
}	

#accordion li .nav-child li:not(:last-child) {
	border-bottom: 1px solid #ccecfa;
}	

#accordion li .nav-child a {
	font-weight: normal;
	padding: 12px 12px 12px 28px;
}	

#accordion li .nav-child li.nonlink {
	font-weight: bold;
	color: #fff;
	padding: 10px 8px 10px 20px;
	background: #60c1ef;
}	
	
.sbNav .btn_area {
	display: block;
	width: 100%;
	padding: 0 1em;
}

.sbNav .btn_area .btn {
	width: 100%;
	max-width: 100%;
	font-size: .9em;
	margin: 0 auto 20px;	
}

.sbNav .btn_area .btn span {
	display: block;
}
	


/* ------------------------------------------------------------ */
/* コンテンツ・カラムパターン */


/* ------------------------------------------------------------ */
/* スライダー共通 */

	
/* ------------------------------------------------------------ */
/* リストパターン */
	
	
.banList .list-item {
	width: calc(100%/3 - 16px);
	margin: 0 8px 16px !important;
	font-size: .9em;
}
	
	
.thumbList {
	max-width: 100%;
	margin: 0 auto 20px;
}
	
.col03.thumbList .item {
	width: calc(100%/3 - 1em);
	margin: 0 .5em;
}	
	
.thumbList .item .txt {
	padding: 1em;
	font-size: 1.2rem;
}	
	
.thumbList .item h4 {
	font-size: 1.8rem;
	margin: 0 auto 8px;
}	
	
/* ------------------------------------------------------------ */
/* コンテンツ共通 */
/* ------------------------------------------------------------ */

section.base {
	padding: 50px 0;	
}
	
.tit {
	font-size: 2.8rem;
	margin: 0 auto 30px;
}

.sub-tit {
	font-size: 2.2rem;
}
	
.caption {
	margin: 0 auto 30px;
}	
	
	
/* ------------------------------------------------------------ */
/* メインビジュアル */
/* ------------------------------------------------------------ */

.main-visual {
}	

	

/* ------------------------------------------------------------ */
/* important_news */
.important_news {
	height: 56px;
}	

.important_news h2 {
	font-size: .9em;
	width: 140px;
	max-width: inherit;
	padding: 8px 10px;
	line-height: 2;
}	
	
.important_news h2 i {
	margin: 0 auto;
	display: block;
	line-height: 1;
}	
	
.important_news a.more {
	font-size: 1.1rem;
}	
	
.vertical-slider {
	width: calc(100% - 140px);
	height: 56px;
	padding: 0 100px 0 10px;
	background: #fff;
}	
	
.vertical-slider.swiper-container-vertical > .swiper-wrapper {
	height: 56px;
}	
	
.vertical-slider .swiper-slide a {
	font-size: 1.4rem;
	line-height: 56px;
}	

	
/* ------------------------------------------------------------ */
/* schedule */
section.schedule {
	padding: 10% 0 8%;	
}	
	
	
.tabBtn {
	width: 100%;
	margin: 10px auto;
	text-align: center;
}
	
.tabBtn a {
	display: inline-block;
	margin: 0 10px;
	padding: 10px 15px;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	color: #009fe8;
	background: #fff;
	border: 1px solid #009fe8;
	border-radius: 6px;
}	
	
.tabBtn a.last {
	color: #57a0c2;
	border: 1px solid #57a0c2;
}	

.tabBtn a.is-active {
	color: #fff;
	background: #009fe8;	
	box-shadow: 0 1px 5px 0 rgba(0,0,0,.5)
}	
	
.tabBtn a.last.is-active {
	color: #fff;
	background: #57a0c2;
}	
	
	
.schedule .box {
	max-width: 95%;
	padding: 40px 20px;
	background: #fff url(../img/bg-pen.png) no-repeat right -30px bottom -10px / 200px 205px;
}	

.ribbon {
	width: 110px;
	font-size: 1.3rem;
}	

.schedule .column {
	margin: 0 auto 10px;
}
	
.schedule .column .item {
	width: 80%;
	padding: 20px;
}	
	
.schedule .column .item.nextdate {
	width: 80%;
	padding: 20px;
	border-left: none;
}	
	
.schedule .item h3 {
	font-size: 3.2rem;
}	
	
.schedule .item h3 span {
	width: 60px;
	height: 60px;
	font-size: 0.45em;
	line-height: 60px;
	margin: 0 .8em 0 0;
}	
	
.schedule_date {
	margin: 0 auto 30px;
	width: 85%;
}
	
.schedule_date p {
	font-size: 2.6rem;
}	

.entry_flow {
	font-size: .9em;
}	
	
.schedule .nextdate h3 {
	font-size: 2.8rem;
}
	
.schedule .nextdate h4,
.schedule .nextdate h5 {
	padding: 0 0 1em;
}	
	
.schedule .nextdate h4 {
	font-size: 2rem;
}
	
.schedule .nextdate h5 {
	font-size: 1.6rem;
}	
	
/* ------------------------------------------------------------ */
/* news_area */
section.news_area {
}	

.news_area .column {
	padding: 0;
	margin: 0 auto 40px;
}
	
.news_area .item {
	padding: 0 1em;
}	
	
	
.news_area .btnBox {
	max-width: 100%;
	justify-content: center;
	flex-wrap: wrap;
}
	
.news_area .btnBox .btn {
	font-size: 1.4rem;
	margin: 0 5px 20px;
	width: calc(100%/4 - 10px);	
}	
	
.news_area .btnBox .btn:nth-child(3) {
	line-height: 40px;
}
	

/* ------------------------------------------------------------ */
/* concept */

.concept {
}	
	
.concept.pllx .pllx_inner {
	padding: 8% 2em;
	margin: 10% 0;
}
	
.top .concept .tit {
	font-size: 3.2rem;
	top: 14%;
	left: 4%;
}
	
.top .concept .column {
	margin: 0 auto 40px;
}	
	
.top .concept .column .thumb {
	width: 72%;
	margin: 0 0 0 auto;
}

.top .concept .column .txt {
	width: 80%;
	padding: 30px 0 0;
}	
	
/* ------------------------------------------------------------ */
/* last_data */
	
.last_data .column {
	margin: 0 auto 40px;
}
	
.last_data .item {
	padding: 0 1em;
	text-align: center;
}	
	
.last_data .item h4 {
	margin: 0 auto 10px;
}
	
.data_element .inner_data {
	display: inline-block;
	width: auto;
	height: auto;
	margin: 0 auto 10px;
	padding: 0 10px;
	border-bottom: 3px solid #009fe8;
	position: relative;
	top: inherit;
	left: inherit;
	transform: translateX(0);
}	
	
.data_element .inner_data span.num {
	font-size: 2.8rem;
	padding: 0;
}	
	
.data_element canvas {
	height: 240px !important;
}
	
/* ------------------------------------------------------------ */
/* 固定フッター */
	
.fix_content {
	display: none;
	width: 100%;
	justify-content: space-between;
	align-items: stretch;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 9999;
	-webkit-transition: .5s;
	transition: .5s;
	transform: translateY(100%);	
}
	
.fix_content.is-fixed {
	display: flex;		
	transform: translateY(0);
}	

.fix_content a {
	width: calc(100%/3);
	display: block;
	font-size: 1.2rem;
	padding: 5px 8px;
	color: #fff;
	text-align: center;
	background: rgba(0, 159, 232,.8);
	border-right: 1px solid #fff;
}
	
.fix_content a:last-child {
	border-right: none;
}
	
.fix_content a i {
	display: block;
	font-size: 1.8rem;
	line-height: 1.5;
}
	
	
/* ------------------------------------------------------------ */
/* フッター */
/* ------------------------------------------------------------ */

.main-footer {
	padding: 40px 0 80px;
}	

.main-footer .box {
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: flex-start;	
}	
	
.main-footer .address {
	font-size: 1.2rem;
	margin: 0 auto 20px;
}	
	
.sitemap {
	width: calc(100%/4);
	padding: 0 1em;
	margin: 0 0 20px;
}
	
.sitemap li.top {
	font-size: 1.3rem;
}	
	
.sitemap li {
	font-size: 1.1rem;
	margin: 0 0 8px;
}	
	
	
}

@media screen and (max-width: 767px) {
/* 767px以下用（タブレット／スマートフォン用）の記述 */
/* ------------------------------------------------------------ */
/* 全体共通 */
/* ------------------------------------------------------------ */
	
/* more */	
a.more {
	font-size: 1.2rem;
}	
	
/* ------------------------------------------------------------ */
/* ボタン */

.btn {
	font-size: .85em;
}	
	
.btn a {
	padding: 12px 1em;
}	
	
/* ------------------------------------------------------------ */
/* 全体格納 */
/* ------------------------------------------------------------ */
.inner {
	max-width: 90%;
}
		
/* ------------------------------------------------------------ */
/* ヘッダー */
/* ------------------------------------------------------------ */
.main-header h1.main-logo {
	width: 35%;
	padding: 0 0 0 20px;	
}
	
.main-header h1.main-logo a {
	padding: 0;
}	
	
	
	
/* ------------------------------------------------------------ */
/* グローバルナビ */
/* ------------------------------------------------------------ */


/* ------------------------------------------------------------ */	
/* ナビボタン */
	
	
/* ------------------------------------------------------------ */
/* ドロワーナビ */
/* ------------------------------------------------------------ */

	
/* ------------------------------------------------------------ */
/* コンテンツ・カラムパターン */


/* ------------------------------------------------------------ */
/* スライダー共通 */

	
.mvSlider .swiper-pagination-bullet,
.slideBox .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
}	
	
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 6px;
}	
	
.swiper-button-prev,
.swiper-button-next {
	width: 40px;
	height: 50px;
	font-size: 2.8rem;
}	
	
/* ------------------------------------------------------------ */
/* リストパターン */
	
/* banner */	
.banList {
	margin: 0 auto 20px;
}	
	
.banList .list-item {
	width: calc(100%/2 - 16px);
}	
	
	
.thumbList {
	margin: 0 auto 20px;
}
	
.col03.thumbList .item {
	width: calc(100%/2 - 1em);
	margin: 0 .5em 2em;
}	
	

/* ------------------------------------------------------------ */
/* コンテンツ共通 */
/* ------------------------------------------------------------ */

section.base {
	padding: 30px 0;
}
	
.tit {
	font-size: 2.4rem;
	margin: 0 auto 20px;
}	
	
.sub-tit {
	font-size: 2rem;
	margin: 0 auto 15px;
}	
	
.caption {
	margin: 0 auto 30px;
	font-size: .9em;
}
	
	
/* ------------------------------------------------------------ */
/* メインビジュアル */
/* ------------------------------------------------------------ */

.main-visual {
	padding: 50px 0 0;
}
	

/* ------------------------------------------------------------ */
/* important_news */
.important_news {
	height: 50px;	
}	

.important_news h2 {
	width: 56px;
	height: 50px;	
	padding: 0 10px;
}
	
.important_news h2 i {
	font-size: 2.2rem;
	line-height: 50px;	
}	

.important_news h2 span {
	display: none;
}	
	
.vertical-slider {
	width: calc(100% - 56px);
	padding: 0 90px 0 15px;
	height: 50px;
}	
	
.vertical-slider .swiper-slide a {
	font-size: 1.3rem;
	line-height: 50px;
}	
	
/* ------------------------------------------------------------ */
/* schedule */
section.schedule {
	padding: 10% 0 8%;
}
	
	
.schedule .box {
	max-width: 95%;
	padding: 30px 10px 40px;
	background: #fff url(../img/bg-pen.png) no-repeat right -30px bottom -10px / 200px 205px;
}

.tabBtn a {
	margin: 0 5px;
	padding: 8px 10px;
	font-size: 1.4rem;
	width: 35%;
}	
	
.schedule .column .item {
	width: 100%;
	padding: 1em;
}
	
.schedule .column .item.nextdate {
	width: 100%;
}
	
.schedule .item h3 {
	font-size: 2.8rem;
}	
	
.schedule .item h3 span {
	width: 50px;
	height: 50px;
	font-size: 12px;
	line-height: 50px;
	margin: 0 .8em 0 0;
}
	
.schedule_date {
}	

.schedule_date .notice {
	font-size: 1.2rem;
}
	
.schedule_date p {
	font-size: 2.2rem;
}	
	
.entry_flow dl dt,
.entry_flow dl dd {
	font-size: .9em;
}	
	
	
/* ------------------------------------------------------------ */
/* news_area */
section.news_area {
}	
	
.news_area .column {
	margin: 0 auto;
}
	
.news_area .column .item {
	padding: 0;
	width: 100%;
	margin: 0 auto 50px;
}	
	
.news_area .txtList {
	height: 200px;
	overflow-y: scroll;	
  margin: 0 auto 30px;
}	
	
.news_area .btnBox .btn {
	font-size: 1.4rem;
	margin: 0 8px 16px;
	width: calc(100%/2 - 16px);
}	

/* ------------------------------------------------------------ */
/* concept */

.concept {
}	

.top .concept .tit {
	font-size: 2.8rem;
	top: 12%;
	left: 3%;
}
	
.top .concept .tit span {
	margin: 0 0 10px;
	padding: 6px .5em;
}
	
.concept.pllx .pllx_inner {
	padding: 8% 2em;
	margin: 12% 0;
}	
	
.top .concept .column .txt {
	width: 90%;
	padding: 30px 0 0;
	font-size: .9em;
}	
	
/* ------------------------------------------------------------ */
/* last_data */

section.last_data {
	padding: 30px 0 50px;
}
	
.last_data .column {
	margin: 0 auto 30px;
	max-width: 800px;
	justify-content: flex-start;
	flex-wrap: nowrap;
	overflow-x: scroll;
}	

.last_data .col03 .item {
	width: 42%;
	margin: 0;
}	
	
.data_element .inner_data {
	padding: 0 8px;
	font-size: .9em;
}
	
.data_element .inner_data span.num {
	font-size: 2.4rem;
	padding: 3px 0 0;
	line-height: 1.5;	
}	
	
	
/* ------------------------------------------------------------ */
/* pickup */
	
.pickup .thumbList {
	margin: 0 auto;
}
	
/* ------------------------------------------------------------ */
/* banner */
section.banner {
	padding: 40px 0 10px;
}
	
/* ------------------------------------------------------------ */
/* フッター */
/* ------------------------------------------------------------ */
	
.main-footer .box.last {
	margin: 0 auto 30px;
}
	
.sitemap {
	width: calc(100%/2);
	padding: 0 1em;
	margin: 0 0 20px;
}	

.main-footer .main-logo {
	width: 50%;
	margin: 0 auto 10px;
}	
	

}

@media screen and (max-width: 479px) {
/* 479px以下用（スマートフォン用）の記述 */

.sp-only {
	display: block;
}
	
.btn a {
	padding: 12px 8px;
}
	
.btn.square a {
	padding: 12px 8px;
}
	
/* ------------------------------------------------------------ */
/* ヘッダー */
/* ------------------------------------------------------------ */

.main-header {
}
	
.login.hold-transition .main-header {
  margin: 22px auto 0;
}	
	
.login.hold-transition .user-name {
  font-size: 10px;
}	
	
.main-header h1.main-logo {
	width: 53%;
	padding: 3px 0 0 10px;
}
	
.main-header .btn {
  margin: 0 55px 0 auto;
	font-size: 11px;
}	
	
	
/* ------------------------------------------------------------ */
/* ナビボタン */
/* ------------------------------------------------------------ */
		
.sb-toggle-right {
	right: 10px;
}
	
/* ------------------------------------------------------------ */
/* ドロワーナビ */
/* ------------------------------------------------------------ */
	
.drawrNav {
	margin: 0 auto 40px;
	font-size: .9em;
}	
	
/* ------------------------------------------------------------ */
/* コンテンツ・カラムパターン */


/* ------------------------------------------------------------ */
/* スライダー共通 */

.slideBox .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
}	
	
/* ------------------------------------------------------------ */
/* リストパターン */
	
/* バナー */
	
.banList .list-item {
	width: calc(100%/2 - 10px);
	margin: 0 5px 10px !important;
	font-size: 11px;
	line-height: 1.4;
}
	
.banList .list-item span {
	padding: 5px 5px 5px 8px;
}
	
.banList .list-item span.thumb {
	width: 40px;
	height: 40px;
	padding: 0;
}	
	
.banList .list-item span br {
	display: none;
}
	
	
.col03.thumbList .item {
	width: 90%;
	margin: 0 auto 2em;
}	
	
.thumbList .item h4 {
	font-size: 1.7rem;
	margin: 0 auto 5px;
}	
	
/* ------------------------------------------------------------ */
/* コンテンツ共通 */
/* ------------------------------------------------------------ */

.caption {
	font-size: 14px;
}	
	
/* ------------------------------------------------------------ */
/* メインビジュアル */
/* ------------------------------------------------------------ */

.main-visual {
}
	
	
/* ------------------------------------------------------------ */
/* important_news */
	
.important_news {
	height: 92px;
}	

.important_news h2 {
	width: 100%;
	height: auto;
	padding: 8px 10px;
	text-align: left;
}	

.important_news h2 i {
	font-size: 1.5rem;
	line-height: 1;
	display: inline-block;
	margin: 0 5px 0 0;
}	
	
.important_news h2 span {
    display: inline-block;
}
	
.important_news a.more {
	font-size: 1.1rem;
	top: 8px;
	right: 10px;
	transform: translateY(0);
	background: #fff;
}
	
.important_news a.more:hover {
	background: #fff;
	color: #ff9c00;
}
	
.vertical-slider {
	width: 100%;
	padding: 0 10px 0 15px;
	height: 50px;
	position: absolute;
	top: inherit;
	right: 0;
	bottom: 0;
}	
	
/* ------------------------------------------------------------ */
/* schedule */
.schedule {
}	
	
.schedule .box {
	max-width: 100%;
	padding: 30px 10px 40px;
	background: #fff url(../img/bg-pen.png) no-repeat right -40px bottom -20px / 160px 165px;
}
	
.tabBtn {
	width: 90%;
	margin: 10px auto;
}
	
.tabBtn a {
	margin: 0 auto 10px;
	font-size: 1.3rem;
	width: 100%;
}	
	
.schedule .box .tit {
	padding: 4px 20px;
	width: 70%;
}	
	
.ribbon {
	width: 90px;
	font-size: 1.3rem;
	padding: 10px 15px 10px 5px;
	left: -15px;
}
	
.schedule .column .item {
	width: 100%;
	padding: 10px 10px 1em !important;
}	
	
.schedule .item h3 {
	font-size: 2.6rem;
	margin: 0 auto 12px;
}	
	
.schedule_date {
	margin: 0 auto 20px;
	width: 100%;
}
	
.schedule_date p {
	font-size: 1.9rem !important;
	padding: 8px 10px;
}	
	
.entry_flow dl {
	display: block;
	margin: 0 auto 8px;
}	
	
.entry_flow dl dt,
.entry_flow dl dd {
	display: block;
	width: 100% !important;
	padding: 5px;
	text-align: center;
}	
	
.entry_flow dl dd {
	padding: 8px;
}	
	
.schedule .nextdate h3 {
	font-size: 2.4rem;
}	
	
.schedule .item h3 span.small {
	font-size: 0.6em;
	margin: 0;
}
	
.schedule .nextdate h4 {
	font-size: 1.8rem;
}	
	
.schedule .nextdate h5 {
	padding: 0;
}	
	
/* ------------------------------------------------------------ */
/* news_area */
section.news_area {
}	
	
.news_area .column .item:last-child {
	margin: 0 auto 40px;
}	
	
.news_area .item .sub-tit {
	line-height: 1.4;
	margin: 0 auto 5px;
}
	
.news_area .sub-tit i {
	font-size: 1.6rem;
	color: #fff;
	width: 32px;
	height: 32px;
	line-height: 24px;
	margin: 0 8px 0 0;
}
	
.news_area .txtList {
	height: 160px;
}
	
.news_area .btnBox .btn {
	margin: 0 5px 10px;
	width: calc(100%/2 - 10px);
}	
	

/* ------------------------------------------------------------ */
/* concept */

.concept {
}	
	
.concept.pllx .pllx_inner {
	padding: 8% 20px 30px;
	margin: 18% 0;
}
	
.top .concept .tit {
	font-size: 2.6rem;
	top: 6%;
	left: 10%;
	width: 80%;
}	
	
.top .concept .tit span {
	margin: 0 0 8px;
	padding: 4px .5em;
}
	
.top .concept .tit span:last-child {
	margin: 0 0 0 32%;
}	
	
.top .concept .column {
	margin: 0 auto 30px;
}
	
.top .concept .column .thumb {
	width: 100%;
	margin: 22% auto 0;
}	

.top .concept .column .txt {
	width: 100%;
	padding: 20px 0 0;
}	

/* ------------------------------------------------------------ */
/* last_data */
	
.last_data .column {
	margin: 0 auto 40px;
}
	
.last_data .col03 .item {
	width: 80%;
	margin: 0;
	padding: 0 10px;
}
	
.data_element .inner_data {
	margin: 0 auto 18px;
}	
	
.data_element .inner_data span.num {
	font-size: 2.2rem;
	padding: 0;
	line-height: 1.5;
}	
	
.data_element canvas {
	height: 180px !important;
}	
	
/* ------------------------------------------------------------ */
/* banner */
section.banner {
	padding: 30px 0 0;
}
	
.banner .inner {
	max-width: 95%;
}	

	
.fix_content a {
	font-size: 11px;
}	
	
.fix_content a i {
	font-size: 1.7rem;
}	
	
/* ------------------------------------------------------------ */
/* フッター */
/* ------------------------------------------------------------ */
.main-footer {
	padding: 30px 0 70px;
}
	
.main-footer .box {
	margin: 0 auto;
}
	
.main-footer .box.last {
	margin: 20px auto;
}	
	
.sitemap {
	margin: 0 0 15px;
	width: calc(100%/2);
	padding: 0 .5em 0 0;
}
	
.sitemap:nth-child(even) {
	padding: 0 0 0 .5em;
}
	
.main-footer .main-logo {
	width: 100%;
	margin: 0 auto 5px;
}
	
}


@media screen and (max-width: 360px) {
/* 360px以下用（スマートフォン用）の記述 */

	
}
