/* CSS Document */

/* トップページ */
#top { margin-top:-115px; padding-top:115px; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
#top { margin-top:-55px; padding-top:55px; }
}

/* メインボックス */
#wrap { width:100%; margin:0 auto; font-weight: 600; }
#wrap img { width:100%; height: auto; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
#wrap { width:100%; margin:0 auto; font-weight: 600; }
#wrap img { width:100%; height: auto; }
}
/* //メインボックス */


/* スライドイメージ */
#headimgbox01 { width:100%; padding:0; margin:0; }
#headimgbox02 { width:100%; margin:0 auto; position: relative; }
#headimgbox02:after {
	content: "";
	display: block;
	width: 100%;
	height: 6px;
	margin: 0;
	background: -webkit-gradient(linear, left top, right bottom, from(#558d9a), color-stop(0.15, #558d9a), color-stop(0.15, rgba(255,255,255,0)), color-stop(0.5, rgba(255,255,255,0)), color-stop(0.5, #558d9a), color-stop(0.65, #558d9a), color-stop(0.65, rgba(255,255,255,0)), to(rgba(255,255,255,0)));
	background: -moz-linear-gradient(-45deg, #558d9a 15%, rgba(255,255,255,0) 15%, rgba(255,255,255,0) 50%, #558d9a 50%, #558d9a 65%, rgba(255,255,255,0) 65%, rgba(255,255,255,0));
	background: linear-gradient(-45deg, #558d9a 15%, rgba(255,255,255,0) 15%, rgba(255,255,255,0) 50%, #558d9a 50%, #558d9a 65%, rgba(255,255,255,0) 65%, rgba(255,255,255,0));
	background-size: 2px 2px;
}
#headimgbox03 { width:100%; margin:0 auto; position: relative; }
#slider { margin:0 auto; }
#slider .slider { width:100%; margin:0 auto; padding:0; }
#slider ul li { margin:0 !important; padding:0 !important; }

#slider li img {
	width: 100%;
	max-width: 100%;
	height: auto;
	margin:0 auto;
}

#headsubimgbox01 { width: 326px; position: absolute; z-index: 8002; left: 250px; bottom: -30px; }
#headsubimgbox02 { width: 326px; position: absolute; z-index: 8002; right: 250px; bottom: -30px; }
#k-headsubimgbox01 { width: 326px; position: absolute; z-index: 8002; right: 250px; bottom: -30px; }
#k-headimgbox01 { width:100%; padding:0; margin:0; text-align: center; }
#k-headimgbox01 img { width: auto !important; max-width: 100%; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
#headimgbox01 { width:100%; padding:0; margin:50px 0 0 0; }
#headimgbox02 { width:100%; margin:0; }
#headimgbox02:after {
	content: "";
	display: block;
	width: 100%;
	height: 6px;
	margin: 0;
	background: -webkit-gradient(linear, left top, right bottom, from(#558d9a), color-stop(0.15, #558d9a), color-stop(0.15, rgba(255,255,255,0)), color-stop(0.5, rgba(255,255,255,0)), color-stop(0.5, #558d9a), color-stop(0.65, #558d9a), color-stop(0.65, rgba(255,255,255,0)), to(rgba(255,255,255,0)));
	background: -moz-linear-gradient(-45deg, #558d9a 15%, rgba(255,255,255,0) 15%, rgba(255,255,255,0) 50%, #558d9a 50%, #558d9a 65%, rgba(255,255,255,0) 65%, rgba(255,255,255,0));
	background: linear-gradient(-45deg, #558d9a 15%, rgba(255,255,255,0) 15%, rgba(255,255,255,0) 50%, #558d9a 50%, #558d9a 65%, rgba(255,255,255,0) 65%, rgba(255,255,255,0));
	background-size: 2px 2px;
}
#headimgbox03 { width:100%; margin:0 auto; position: relative; }

#slider { width:100%; margin:0; }
#slider .slider { width:100%; margin:0; padding:0; }
#slider ul li { margin:0 !important; padding:0 !important; }

#slider li img {
	width: 100%;
	max-width: 100%;
	height: auto;
	margin:0;
}

#headsubimgbox01 { width: 30%; position: absolute; z-index: 8002; left: 2%; bottom: -8%; }
#headsubimgbox02 { width: 30%; position: absolute; z-index: 8002; right: 2%; bottom: -8%; }
#k-headsubimgbox01 { width: 30%; position: absolute; z-index: 8002; right: 2%; bottom: -8%; }
#k-headimgbox01 { width:100%; padding:0; margin:50px 0 0 0; }
#k-headimgbox01 img { width: 100% !important; max-width: 100%; }
}
/* //スライドイメージ */
/* //ヘッドイメージ */


/* メインコンテンツ */
#maincontentsbox01 { width:1000px; margin: 0 auto; padding:40px 0 0; }
#maincontentsbox01:after { content:""; display:block; clear:both; }

#contentsleftbox01 {
	width: 210px;
	float: left;
	position: -webkit-sticky; /* Safari用 */
    position:sticky; /* 要素をスクロールに応じて固定 */
	top: 0;
}
#contentsrightbox01 { width: 763px; float: right; }

#k-maincontentsbox01 { width:100%; }
#k-maincontentsbox01:after { content:""; display:block; clear:both; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
#maincontentsbox01 { width:100%; margin:0 auto; padding:20px 0 0; }
#maincontentsbox01:after { content:""; display:block; clear:both; }

#contentsleftbox01 { display: none; width: 210px; float: left; }
#contentsrightbox01 { width: 98%; margin: 0 auto; float: none; }

#k-maincontentsbox01 { width:100%; }
#k-maincontentsbox01:after { content:""; display:block; clear:both; }
}
/* //メインコンテンツ */


/* コンテンツボックス */
.contentsbox01 {
	width: 92%;
	margin:0 auto 60px;
	position: relative;
	padding: 1%;
	background: -webkit-gradient(linear, left top, right bottom, from(#e60012), color-stop(0.08, #e60012), color-stop(0.08, rgba(255,255,255,0)), color-stop(0.5, rgba(255,255,255,0)), color-stop(0.5, #e60012), color-stop(0.58, #e60012), color-stop(0.58, rgba(255,255,255,0)), to(rgba(255,255,255,0)));
	background: -moz-linear-gradient(-45deg, #e60012 8%, rgba(255,255,255,0) 8%, rgba(255,255,255,0) 50%, #e60012 50%, #e60012 58%, rgba(255,255,255,0) 58%, rgba(255,255,255,0));
	background: linear-gradient(-45deg, #e60012 8%, rgba(255,255,255,0) 8%, rgba(255,255,255,0) 50%, #e60012 50%, #e60012 58%, rgba(255,255,255,0) 58%, rgba(255,255,255,0));
	background-size: 8px 8px;
	box-shadow:0px 0px 8px -0px #adadad;
	-moz-box-shadow:0px 0px 8px 0px #adadad;
	-webkit-box-shadow:0px 0px 8px 0px #adadad;
}
.contentsbox01:after { content:""; display:block; clear:both; }
.contentsbox02 {
	width: 98%;
	margin:0 auto 60px;
	position: relative;
	padding: 3% 1%;
	background: -webkit-gradient(linear, left top, right bottom, from(#e60012), color-stop(0.08, #e60012), color-stop(0.08, rgba(255,255,255,0)), color-stop(0.5, rgba(255,255,255,0)), color-stop(0.5, #e60012), color-stop(0.58, #e60012), color-stop(0.58, rgba(255,255,255,0)), to(rgba(255,255,255,0)));
	background: -moz-linear-gradient(-45deg, #e60012 8%, rgba(255,255,255,0) 8%, rgba(255,255,255,0) 50%, #e60012 50%, #e60012 58%, rgba(255,255,255,0) 58%, rgba(255,255,255,0));
	background: linear-gradient(-45deg, #e60012 8%, rgba(255,255,255,0) 8%, rgba(255,255,255,0) 50%, #e60012 50%, #e60012 58%, rgba(255,255,255,0) 58%, rgba(255,255,255,0));
	background-size: 8px 8px;
	/*box-shadow:0px 0px 8px -0px #adadad;
	-moz-box-shadow:0px 0px 8px 0px #adadad;
	-webkit-box-shadow:0px 0px 8px 0px #adadad;*/
}

.contentsbox03 {
	width: 94%;
	margin:0 auto 30px;
}
.contentsinner01 { width:100%; margin:0 auto; padding: 80px 0 20px 0; background: #FFFFFF; }
.contentsinner01:after { content:""; display:block; clear:both; }

.contentsinner02 { padding: 0 0 20px; }
.contentsinner02:last-child { padding: 0; }
.contentsinner02:after { content:""; display:block; clear:both; }

.contentsinner03 { width: 94%; margin: 0 auto; padding: 0 0 20px; }
.contentsinner03:last-child { padding: 0; }
.contentsinner03:after { content:""; display:block; clear:both; }
.contentsinner03 iframe {
	width: 100%;
	height: 600px;
}

.contentsstripebox01 {
	width: 92%;
	margin:0 auto 60px;
	position: relative;
	padding: 1%;
	background-color: #d7eff7;
	background-image:
	linear-gradient(-90deg, #fff 50%, transparent 50%);
	background-size: 17px 17px;
	box-shadow:0px 0px 8px -0px #adadad;
	-moz-box-shadow:0px 0px 8px 0px #adadad;
	-webkit-box-shadow:0px 0px 8px 0px #adadad;
}
.contentsstripeinner01 { width:100%; margin:0 auto; padding: 20px 0; background: #FFFFFF; }
.contentsstripeinner01:after { content:""; display:block; clear:both; }

.contentsstripeinner02 { padding: 0 0 20px; }
.contentsstripeinner02:last-child { padding: 0; }
.contentsstripeinner02:after { content:""; display:block; clear:both; }

.contentsstripeinner03 { width: 94%; margin: 0 auto; padding: 0 0 20px; }
.contentsstripeinner03:last-child { padding: 0; }
.contentsstripeinner03:after { content:""; display:block; clear:both; }
.contentsstripeinner03 iframe {
	width: 100%;
	height: 600px;
}
.contentsstripebox01:after { content:""; display:block; clear:both; }

ul.stripeboxdetail01 {
	width: 98%;
	margin: 0 auto;
	display: block;
	font-size: 20px;
	padding: 0 0 1em;
	line-height: 140%;
}
ul.stripeboxdetail01:last-child {
	padding: 0;
}
ul.stripeboxdetail01 li {
	display: block;
}
.stripeboxsubtitle01 {
	display: table;
	margin: 0 auto;
	font-size: 28px;
	padding: 0 0 15px;
}

.stripeboxdetailwrap01 {
	width: 98%;
	margin: 0 auto;
	padding: 0 0 1em;
	line-height: 140%;
}
.stripeboxdetailwrap01:last-child {
	padding: 0;
}

.tablelist01 {
	width: 80%;
	margin: 0 auto;
}
.tablelist01 tr {
	border-bottom: 1px solid #f3f3f3;
}
.tablelist01 tr:last-child {
	border-bottom: none;
}
.tablelist01 td {
	width: auto;
	vertical-align: top;
	text-align: left;
	padding: 1em;
}
.tablelist01 td:nth-child(1) {
	width: 150px;
	font-weight: 900;
}
@media screen and (min-width: 0px) and (max-width: 767px)  {
.contentsbox01 {
	width: calc(90% - 13px + 2%);
	margin:0 auto 25px;
	position: relative;
	padding: 2%;
	background: -webkit-gradient(linear, left top, right bottom, from(#e60012), color-stop(0.08, #e60012), color-stop(0.08, rgba(255,255,255,0)), color-stop(0.5, rgba(255,255,255,0)), color-stop(0.5, #e60012), color-stop(0.58, #e60012), color-stop(0.58, rgba(255,255,255,0)), to(rgba(255,255,255,0)));
	background: -moz-linear-gradient(-45deg, #e60012 8%, rgba(255,255,255,0) 8%, rgba(255,255,255,0) 50%, #e60012 50%, #e60012 58%, rgba(255,255,255,0) 58%, rgba(255,255,255,0));
	background: linear-gradient(-45deg, #e60012 8%, rgba(255,255,255,0) 8%, rgba(255,255,255,0) 50%, #e60012 50%, #e60012 58%, rgba(255,255,255,0) 58%, rgba(255,255,255,0));
	background-size: 8px 8px;
	box-shadow:0px 0px 8px -0px #adadad;
	-moz-box-shadow:0px 0px 8px 0px #adadad;
	-webkit-box-shadow:0px 0px 8px 0px #adadad;
}
.contentsbox01:after { content:""; display:block; clear:both; }
.contentsbox02 {
	width: calc(90% - 13px + 2%);
	margin:0 auto 25px;
	position: relative;
	padding: 4% 2%;
	background: -webkit-gradient(linear, left top, right bottom, from(#e60012), color-stop(0.08, #e60012), color-stop(0.08, rgba(255,255,255,0)), color-stop(0.5, rgba(255,255,255,0)), color-stop(0.5, #e60012), color-stop(0.58, #e60012), color-stop(0.58, rgba(255,255,255,0)), to(rgba(255,255,255,0)));
	background: -moz-linear-gradient(-45deg, #e60012 8%, rgba(255,255,255,0) 8%, rgba(255,255,255,0) 50%, #e60012 50%, #e60012 58%, rgba(255,255,255,0) 58%, rgba(255,255,255,0));
	background: linear-gradient(-45deg, #e60012 8%, rgba(255,255,255,0) 8%, rgba(255,255,255,0) 50%, #e60012 50%, #e60012 58%, rgba(255,255,255,0) 58%, rgba(255,255,255,0));
	background-size: 8px 8px;
	/*box-shadow:0px 0px 8px -0px #adadad;
	-moz-box-shadow:0px 0px 8px 0px #adadad;
	-webkit-box-shadow:0px 0px 8px 0px #adadad;*/
}

.contentsbox03 {
	width: 94%;
	margin:0 auto 25px;
}

.contentsinner01 { width:98%; margin:0 auto; padding: 70px 0 20px 0; background: #FFFFFF; }
.contentsinner01:after { content:""; display:block; clear:both; }

.contentsinner02 { padding: 0 0 10px; }
.contentsinner02:last-child { padding: 0; }
.contentsinner02:after { content:""; display:block; clear:both; }

.contentsinner03 { width: 94%; margin: 0 auto; padding: 0 0 10px; }
.contentsinner03:last-child { padding: 0; }
.contentsinner03:after { content:""; display:block; clear:both; }
.contentsinner03 iframe {
	width: 100%;
	height: 300px;
}

.contentsstripebox01 {
	width: calc(90% - 13px + 2%);
	margin:0 auto 25px;
	position: relative;
	padding: 2%;
	background-color: #d7eff7;
	background-image:
	linear-gradient(-90deg, #fff 50%, transparent 50%);
	background-size: 17px 17px;
	box-shadow:0px 0px 8px -0px #adadad;
	-moz-box-shadow:0px 0px 8px 0px #adadad;
	-webkit-box-shadow:0px 0px 8px 0px #adadad;
}
.contentsstripebox01:after { content:""; display:block; clear:both; }

.contentsstripeinner01 { width:98%; margin:0 auto; padding: 20px 0; background: #FFFFFF; }
.contentsstripeinner01:after { content:""; display:block; clear:both; }

.contentsstripeinner02 { padding: 0 0 10px; }
.contentsstripeinner02:last-child { padding: 0; }
.contentsstripeinner02:after { content:""; display:block; clear:both; }

.contentsstripeinner03 { width: 94%; margin: 0 auto; padding: 0 0 10px; }
.contentsstripeinner03:last-child { padding: 0; }
.contentsstripeinner03:after { content:""; display:block; clear:both; }
.contentsstripeinner03 iframe {
	width: 100%;
	height: 300px;
}

ul.stripeboxdetail01 {
	width: 98%;
	margin: 0 auto;
	display: block;
	font-size: 14px;
	padding: 0 0 1em;
	line-height: 140%;
}
ul.stripeboxdetail01:last-child {
	padding: 0;
}
ul.stripeboxdetail01 li {
	display: block;
}
.stripeboxsubtitle01 {
	display: table;
	margin: 0 auto;
	font-size: 16px;
	padding: 0 0 10px;
}

.stripeboxdetailwrap01 {
	width: 98%;
	margin: 0 auto;
	padding: 0 0 1em;
	line-height: 140%;
}
.stripeboxdetailwrap01:last-child {
	padding: 0;
}

.tablelist01 {
	width: 100%;
	margin: 0 auto;
}
.tablelist01 tr {
	border-bottom: 1px solid #f3f3f3;
}
.tablelist01 tr:last-child {
	border-bottom: none;
}
.tablelist01 td {
	width: auto;
	vertical-align: top;
	text-align: left;
	padding: 1em 0.5em;
}
.tablelist01 td:nth-child(1) {
	width: 30%;
	font-weight: 900;
}
}
/* //コンテンツボックス */


/* タイトルボックス */
/*画像の場合.title01 {
    position: absolute;
	z-index: 600;
    width: 318px;
	margin: 20px 0 20px -21px;
}*/
.title01 {
    display: inline-block;
    position: absolute;
    box-sizing: border-box;
    padding: 10px;
    margin: 20px 0 20px -20px;
	min-width: calc(40% + 20px);
    max-width: calc(90% + 20px);
}

.title01 p { padding: 0 20px; font-size: 16px; font-weight: 600; color: #FFFFFF; letter-spacing: 0.05em; }

/* 帯の色 */
.ribbonblue01 {
	background: #8dd0e8;
}
.ribbonblue01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #61a4bc;
}
.ribbonblue01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbonblue02 {
	background: #4cbbe3;
}
.ribbonblue02:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #3992b2;
}
.ribbonblue02:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbonblue03 {
	background: #1e2380;
}
.ribbonblue03:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #131757;
}
.ribbonblue03:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbongreen01 {
	background: #97ca60;
}
.ribbongreen01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #6c9143;
}
.ribbongreen01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbongreen02 {
	background: #4fab11;
}
.ribbongreen02:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #3a7810;
}
.ribbongreen02:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbongreen03 {
	background: #396819;
}
.ribbongreen03:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #20390f;
}
.ribbongreen03:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbongreen04 {
	background: #135b22;
}
.ribbongreen04:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #0d4118;
}
.ribbongreen04:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbonpink01 {
	background: #f269b3;
}
.ribbonpink01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #b74f87;
}
.ribbonpink01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbonorange01 {
	background: #f39105;
}
.ribbonorange01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #b16d0c;
}
.ribbonorange01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbonpurple01 {
	background: #531caf;
}
.ribbonpurple01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #2c0e5f;
}
.ribbonpurple01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbonred01 {
	background: #d60012;
}
.ribbonred01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #840f19;
}
.ribbonred01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}

/* 両サイド三角タイトル */
.subtitlegreen01 {
    display: table;
	position: relative;
    box-sizing: border-box;
	width:  calc(90% + 20px);
    padding: 10px;
	margin: 0 auto 20px;
	background: #8ddfc1;
	color: #ffffff;
	font-size: 20px;
	text-align: center;
}
.subtitlegreen01:before{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: -15px;
  width: 0px;
  height: 0px;
  border-width: 23px 0 23px 15px;
  border-color: transparent transparent transparent #8ddfc1;
  border-style: solid;
}
.subtitlegreen01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  left: -15px;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent #8ddfc1 transparent transparent;
  border-style: solid;
}
.subtitlered01 {
    display: table;
	position: relative;
    box-sizing: border-box;
	width:  calc(90% + 20px);
    padding: 10px;
	margin: 0 auto 20px;
	background: #e60012;
	color: #ffffff;
	font-size: 20px;
	text-align: center;
}
.subtitlered01:before{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: -15px;
  width: 0px;
  height: 0px;
  border-width: 23px 0 23px 15px;
  border-color: transparent transparent transparent #e60012;
  border-style: solid;
}
.subtitlered01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  left: -15px;
  width: 0px;
  height: 0px;
  border-width: 23px 15px 23px 0px;
  border-color: transparent #e60012 transparent transparent;
  border-style: solid;
}

/* イラストタイトル */
.illusttitle01 {
	width: 547px;
	margin: 0 auto 30px;
}
@media screen and (min-width: 0px) and (max-width: 767px)  {
/*画像の場合.title01 {
    position: absolute;
	z-index: 600;
    width: 92%;
	max-width: 232px;
	margin: 3% 0 3% calc(13px - 26px - 2%);
	margin: 15px 0 0 -6px;
}*/
.title01 {
    display: inline-block;
    position: absolute;
    box-sizing: border-box;
    padding: 13px 2%;
    margin: 3% 0 3% calc(13px - 26px - 2%);
    min-width: calc(50% + 13px);
    max-width: calc(98% + 13px);
}
.title01 p { padding: 0 10px; font-size: 10px; font-weight: 600; color: #FFFFFF; letter-spacing: -0.05em; }

/* 帯の色 */
.ribbonblue01 {
	background: #8dd0e8;
}
.ribbonblue01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #61a4bc;
}
.ribbonblue01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbonblue02 {
	background: #4cbbe3;
}
.ribbonblue02:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #3992b2;
}
.ribbonblue02:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbonblue03 {
	background: #1e2380;
}
.ribbonblue03:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #131757;
}
.ribbonblue03:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbongreen01 {
	background: #97ca60;
}
.ribbongreen01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #6c9143;
}
.ribbongreen01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbongreen02 {
	background: #4fab11;
}
.ribbongreen02:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #3a7810;
}
.ribbongreen02:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbongreen03 {
	background: #396819;
}
.ribbongreen03:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #20390f;
}
.ribbongreen03:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbongreen04 {
	background: #135b22;
}
.ribbongreen04:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #0d4118;
}
.ribbongreen04:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbonpink01 {
	background: #f269b3;
}
.ribbonpink01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #b74f87;
}
.ribbonpink01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbonorange01 {
	background: #f39105;
}
.ribbonorange01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #b16d0c;
}
.ribbonorange01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbonpurple01 {
	background: #531caf;
}
.ribbonpurple01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #2c0e5f;
}
.ribbonpurple01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.ribbonred01 {
	background: #d60012;
}
.ribbonred01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #840f19;
}
.ribbonred01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}

/* 両サイド三角タイトル */
.subtitlegreen01 {
    display: table;
	position: relative;
    box-sizing: border-box;
	width:  calc(85% + 20px);
    padding: 13px 2%;
	margin: 0 auto 20px;
	background: #8ddfc1;
	color: #ffffff;
	font-size: 14px;
	text-align: center;
}
.subtitlegreen01:before{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: -15px;
  width: 0px;
  height: 0px;
  border-width: 8px 0 8px 4.5%;
  border-color: transparent transparent transparent #8ddfc1;
  border-style: solid;
}
.subtitlegreen01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  left: -15px;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent #8ddfc1 transparent transparent;
  border-style: solid;
}
.subtitlered01 {
    display: table;
	position: relative;
    box-sizing: border-box;
	width:  calc(85% + 20px);
    padding: 13px 2%;
	margin: 0 auto 20px;
	background: #e60012;
	color: #ffffff;
	font-size: 14px;
	text-align: center;
}
.subtitlered01:before{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: -15px;
  width: 0px;
  height: 0px;
  border-width: 8px 0 8px 4.5%;
  border-color: transparent transparent transparent #e60012;
  border-style: solid;
}
.subtitlered01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  left: -15px;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent #e60012 transparent transparent;
  border-style: solid;
}

/* イラストタイトル */
.illusttitle01 {
	width: 80%;
	margin: 0 auto 20px;
}
}
/* //タイトルボックス */


/* トップバナー */
#topbannercontainer01 { width: 100%; margin: 0 auto; }
#topbannercontainer02 { width: 713px; margin: 0 auto; }
#topbannercontainer02:last-child { padding: 0; }
#topbannercontainer02:after { content:""; display:block; clear:both; }

.topbannerbox01 { width: 215px; float: left; padding: 0 34px 0 0; }
.topbannerbox01:nth-child(3n) { float: right; padding: 0; }

/*画像の場合.topbannertitle01 {
    position: absolute;
	z-index: 600;
    width: 232px;
	margin: 15px 0 0 -12px;
}*/

.topbannertitle01 {
    display: inline-block;
    position: absolute;
	z-index: 600;
    box-sizing: border-box;
    padding: 5px 10px;
    margin: 20px 0 20px -13px;
    width: calc(26% + 30px);
    background: #d60012;
    text-align: center;
}

.topbannertitle01:before {
    position: absolute;
    content: '';
    top: -11%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #840f19;
}
.topbannertitle01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 18px 10px 18px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.topbannertitle01 p { padding: 0 8%; font-size: 15px; font-weight: 600; color: #FFFFFF; letter-spacing: -0.05em; }

.topbannerwrap { display: block; background: #FFFFFF; }
.topbannerwrap a { display: block; text-decoration: none; padding: 10px; }
.topbannerwrap a:link { color:#363636; text-decoration:none; /* text-shadow:2px 2px 1px #ffffff; */ transition:1.0s; vertical-align: middle; }
.topbannerwrap a:visited { color:#363636; text-decoration:none; transition: 1.0s; }
.topbannerwrap a:active { color:rgba(255,255,255,1.0); background:rgba(107,166,177,0.6); text-decoration:none; text-shadow:0 0 0 #ffffff; transition: 1.0s; }
.topbannerwrap a:hover { color:rgba(255,255,255,1.0); background:rgba(141,208,232,0.6); text-decoration:none; text-shadow:0 0 0 #ffffff; transition: 1.0s; }

.topbannerinner01 { display: block; padding: 0 0 20px; font-size: 16px; }
.topbannerinner01:nth-child(1) { padding: 0 0 5px; }
.topbannerinner01:last-child { padding: 0; }
.topbannerinner01 img { display: block; }
.topbannerinner01 p { text-align: left; padding:10px 0; font-weight: 500; letter-spacing: -0.04em; }
.topbannerwrap a:link .topbannerinner01 p { padding:10px 0; transition: 1.0s; }
.topbannerwrap a:hover .topbannerinner01 p { color: #1e2380; transition: 1.0s; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
#topbannercontainer01 { width: 100%; margin: 0 auto; }
#topbannercontainer02 { width: 96%; margin: 0 auto; }
#topbannercontainer02:last-child { padding: 0; }
#topbannercontainer02:after { content:""; display:block; clear:both; }

.topbannerbox01 { width: 100%; float: none; padding: 0 0 10px; }
.topbannerbox01:nth-child(3n) { float: none; padding: 0; }

/*画像の場合.topbannertitle01 {
    position: absolute;
	z-index: 600;
    width: 92%;
	max-width: 232px;
	margin: 15px 0 0 -12px;
}*/

.topbannertitle01 {
    display: inline-block;
    position: absolute;
	z-index: 600;
    box-sizing: border-box;
    padding: 2%;
    margin: 3% 0 3% calc(13px - 26px - 4%);
    width: calc(60% + 13px);
    background: #d60012;
    text-align: center;
}

.topbannertitle01:before {
    position: absolute;
    content: '';
    top: -12%;
    left: 0;
    border: none;
    border-top: solid 5px transparent;
    border-right: solid 13px #840f19;
}
.topbannertitle01:after{
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 8px 4.5% 8px 0px;
  border-color: transparent rgba(255,255,255,1.0) transparent transparent;
  border-style: solid;
}
.topbannertitle01 p { padding: 0 10%; font-size: 10px; font-weight: 600; color: #FFFFFF; letter-spacing: 0.05em; }

.topbannerwrap { display: block; background: #FFFFFF; }
.topbannerwrap a { display: block; text-decoration: none; padding: 2%; }
.topbannerwrap a:link { color:#363636; text-decoration:none; /* text-shadow:2px 2px 1px #ffffff; */ transition:1.0s; vertical-align: middle; }
.topbannerwrap a:visited { color:#363636; text-decoration:none; transition: 1.0s; }
.topbannerwrap a:active { color:rgba(255,255,255,1.0); background:rgba(107,166,177,0.6); text-decoration:none; text-shadow:0 0 0 #ffffff; transition: 1.0s; }
.topbannerwrap a:hover { color:rgba(255,255,255,1.0); background:rgba(107,166,177,0.6); text-decoration:none; text-shadow:0 0 0 #ffffff; transition: 1.0s; }

.topbannerinner01 { display: block; padding: 0 0 10px; font-size: 12px; }
.topbannerinner01:last-child { padding: 0; }
.topbannerinner01 img { display: block; }
.topbannerinner01 p { text-align: left; padding:10px 0; font-weight: 500; letter-spacing: -0.04em; }
.topbannerwrap a:link .topbannerinner01 p { padding:10px 0; transition: 1.0s; }
.topbannerwrap a:hover .topbannerinner01 p { color: #1e2380; transition: 1.0s; }
}
/* //トップバナー */


/* コンテンツタイトル */
.contentstitle01 { display: block; width: 940px; margin: 0 auto 35px; text-align: left; color: #292929; }
.contentstitle01 p { display: block; margin: 0 0 10px; }
.contentstitle01 p:nth-child(1) { font-size: 16px; font-weight: 600; }
.contentstitle01 p:nth-child(2) { width: 28px; height: 4px; background: #007cc4; margin: 0 0 10px 2px; }
.contentstitle01 p:nth-child(3) { font-size: 12px; font-weight: 600; margin: 0; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
.contentstitle01 { display: block; width: 98%; margin: 0 auto 15px; text-align: left; color: #292929; }
.contentstitle01 p { display: block; margin: 0 0 5px; }
.contentstitle01 p:nth-child(1) { font-size: 14px; font-weight: 600; }
.contentstitle01 p:nth-child(2) { width: 28px; height: 4px; background: #007cc4; margin: 0 0 5px 2px; }
.contentstitle01 p:nth-child(3) { font-size: 10px; font-weight: 600; margin: 0; }
}
/* コンテンツタイトル */


/* お知らせ */
#newsbox01 { width:100%; margin:0 auto; background:#FFFFFF; height:auto; min-height:200px; max-height:420px; padding-bottom:10px; line-height:140%; overflow:auto; -webkit-overflow-scrolling: touch; }
#newsbox02 { width:100%; margin:0 auto; padding:0; line-height:140%; }
#newsbox02 iframe { width:100%; height:400px; }

ul.news { padding: 2%; }

.newscontents { padding: 0 0 20px; }
.newscontents:last-child { padding: 0; }

.newstitle { display: block; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
#newsbox01 { width:98%; margin:0 auto; background:#FFFFFF; height:auto; min-height:200px; max-height:300px; overflow:auto; -webkit-overflow-scrolling: touch; font-size:10px !important; }
#newsbox02 { width:100%; margin:0 auto; padding:0; line-height:140%; }
#newsbox02 iframe { width:100%; height:300px; }

.newscontents { padding: 0 0 10px; }
.newscontents:last-child { padding: 0; }

.newstitle { display: block; }
}
/* //お知らせ */


/* トップインフォメーション */
#topinfowrap01 { width: 96%; margin: 0 auto; padding: 2% 0; }
#topinfowrap01:after { content:""; display:block; clear:both; }
.topinfoinner01 { padding: 0 0 20px; }
.topinfoinner01:last-child { padding: 0; }
.topinfoinner01:after { content:""; display:block; clear:both; }

.topinfoinner02 { width: 48%; float: left; }
.topinfoinner02:nth-child(2) { float: right; }
.topinfoinner02 iframe { width: 100%; height: 300px; }
.timetable01 img { width: 100%; height: auto; }

.timetable01 { width: 100%; margin: 0 auto; }
.timetable01 img { width: 100%; height: auto; padding: 0; }
.timetable01 ul { width: 94%; margin: 10px auto 0; }
.timetable01 ul li { display: block; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
#topinfowrap01 { width: 94%; margin: 0 auto; padding: 3%; }
#topinfowrap01:after { content:""; display:block; clear:both; }
.topinfoinner01 { padding: 0 0 10px; }
.topinfoinner01:last-child { padding: 0; }
.topinfoinner01:after { content:""; display:block; clear:both; }

.topinfoinner02 { width: 100%; float: none; padding: 0 0 10px; }
.topinfoinner02:nth-child(2) { width: 100%; float: none; padding: 0; }
.topinfoinner02 iframe { width: 100%; height: 300px; }
.timetable01 img { width: 100%; height: auto; }

.timetable01 { width: 100%; margin: 0 auto; }
.timetable01 img { width: 100%; height: auto; padding: 0; }
.timetable01 ul { width: 94%; margin: 5px auto 0; }
.timetable01 ul li { display: block; }
}
/* //トップインフォメーション */


/* インフォメーション */
#information { margin: -50px 0 0 0; padding: 50px 0 0 0; }
#mapbox { width:440px; margin:0 auto; }
#mapbox img { width: 100%; height: auto; }
#mapbox iframe { width:100%; height:400px; border:none; }
#infobox { width:98%; margin:0 auto 20px; }
.infotitle01 { font-size:24px; font-weight: 600; color: #6a9eb1; }
.infotitle02 { font-size:24px; font-weight: 600; padding: 0 0 15px; line-height: 140%; }
.infosubtitle01 { margin-bottom:10px; font-size: 14px; font-weight: 600; }
.tel01 { font-size:30px; font-weight:bold; }
.tel02 { font-size:24px; font-weight:bold; }

ul.address01 { width:94%; margin:0 auto 20px; }
ul.address01 li { display:block; }

ul.access01 { width:100%; margin:0 auto 20px; }
ul.access01:last-child { margin:0 auto; }

ul.access02 {
	display: block;
	font-size: 26px;
	padding: 0 0 1em;
	line-height: 140%;
}
ul.access02:last-child {
	padding: 0;
}
ul.access02 li {
	display: block;
}

ul.contact01 {
	display: table;
	margin: 0 auto;
}
@media screen and (min-width: 0px) and (max-width: 767px)  {
#mapbox { width:98%; margin:0 auto; }
#mapbox img { width: 100%; height: auto; }
#mapbox iframe { width:100%; height:200px; border:none; }
#infobox { width:98%; margin:0 auto 15px; font-size:12px; }
.infotitle01 { font-size:14px; font-weight: 600; color: #6a9eb1; }
.infotitle02 { font-size:14px; font-weight: 600; padding: 0 0 15px; }
.infosubtitle01 { margin-bottom:10px; font-size: 10px; font-weight: 600; }
.tel01 { font-size:16px; font-weight:bold; }
.tel02 { font-size:14px; font-weight:bold; }

ul.address01 { width:94%; margin:0 auto 10px; }
ul.address01 li { display:block; }

ul.access01 { width:100%; margin:0 auto 10px; }
ul.access01:last-child { margin:0 auto; }

ul.access02 {
	display: block;
	font-size: 14px;
	padding: 0 0 1em;
	line-height: 140%;
}
ul.access02:last-child {
	padding: 0;
}
ul.access02 li {
	display: block;
}

ul.contact01 {
	display: table;
	margin: 0 auto;
}
}
/* //インフォメーション */


/* カリキュラム */
ul.curriculumtime01 {
	font-size: 18px;
	line-height: 160%;
}
ul.curriculumtime01 li {
	display: block;
}
@media screen and (min-width: 0px) and (max-width: 767px)  {
ul.curriculumtime01 {
	font-size: 14px;
	line-height: 160%;
}
ul.curriculumtime01 li {
	display: block;
}
}
/* //カリキュラム */


/* フレックスコンテナ */
.flex-container01 {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.flex-inner01 {
	width: 440px;
}
.flex-inner01:nth-child(2) {
	width: 185px;
	padding: 0 0 0 33px;
}
.flex-inner02 {
	width: 283px;
}
.flex-inner02:nth-child(2) {
	width: 342px;
	padding: 0 0 0 33px;
}
.flex-inner02 img {
	padding: 0 0 15px;
}
.flex-inner02 img:last-child {
	padding: 0;
}
@media screen and (min-width: 0px) and (max-width: 767px)  {
.flex-container01 {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.flex-inner01 {
	width: 100%;
}
.flex-inner01:nth-child(1) {
	order: 2;
}
.flex-inner01:nth-child(2) {
	width: 60%;
	margin: 0 auto;
	padding: 0 0 15px;
	order: 1;
}
.flex-inner02 {
	width: 100%;
}
.flex-inner02:nth-child(1) {
	order: 1;
	padding: 0 0 15px;
}
.flex-inner02:nth-child(2) {
	width: 100%;
	margin: 0 auto;
	order: 2;
	padding: 0;
}
.flex-inner02 img {
	padding: 0 0 15px;
}
.flex-inner02 img:last-child {
	padding: 0;
}
}

/* 動くアンダーライン */
.underline01 {
	background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255, 252, 0) 50%);
	background-image: -moz-linear-gradient(left, transparent 50%, rgb(255, 252, 0) 50%);
	background-image: -ms-linear-gradient(left, transparent 50%, rgb(255, 252, 0) 50%);
	background-image: -o-linear-gradient(left, transparent 50%, rgb(255, 252, 0) 50%);
	background-image: linear-gradient(left, transparent 50%, rgb(255, 252, 0) 50%);
	background-repeat: repeat-x;
	background-size: 200% .4em;
	background-position: 0 .8em;
	transition: all 2s ease;
	font-weight: 600;
	padding: 0;
}
.underline01.active{
	background-position: -100% .8em;
}
.underline02 {
	background-image: -webkit-linear-gradient(left, transparent 50%, rgb(173, 216, 199) 50%);
	background-image: -moz-linear-gradient(left, transparent 50%, rgb(173, 216, 199) 50%);
	background-image: -ms-linear-gradient(left, transparent 50%, rgb(173, 216, 199) 50%);
	background-image: -o-linear-gradient(left, transparent 50%, rgb(173, 216, 199) 50%);
	background-image: linear-gradient(left, transparent 50%, rgb(173, 216, 199) 50%);
	background-repeat: repeat-x;
	background-size: 200% .4em;
	background-position: 0 .8em;
	transition: all 2s ease;
	font-weight: 600;
	padding: 0;
}
.underline02.active{
	background-position: -100% .8em;
}
.underline03 {
	background-image: -webkit-linear-gradient(left, transparent 50%, rgb(196, 235, 246) 50%);
	background-image: -moz-linear-gradient(left, transparent 50%, rgb(196, 235, 246) 50%);
	background-image: -ms-linear-gradient(left, transparent 50%, rgb(196, 235, 246) 50%);
	background-image: -o-linear-gradient(left, transparent 50%, rgb(196, 235, 246) 50%);
	background-image: linear-gradient(left, transparent 50%, rgb(196, 235, 246) 50%);
	background-repeat: repeat-x;
	background-size: 200% .4em;
	background-position: 0 .8em;
	transition: all 2s ease;
	font-weight: 600;
	padding: 0;
}
.underline03.active{
	background-position: -100% .8em;
}
@media screen and (min-width: 0px) and (max-width: 767px)  {
.underline01 {
	background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255, 252, 0) 50%);
	background-image: -moz-linear-gradient(left, transparent 50%, rgb(255, 252, 0) 50%);
	background-image: -ms-linear-gradient(left, transparent 50%, rgb(255, 252, 0) 50%);
	background-image: -o-linear-gradient(left, transparent 50%, rgb(255, 252, 0) 50%);
	background-image: linear-gradient(left, transparent 50%, rgb(255, 252, 0) 50%);
	background-repeat: repeat-x;
	background-size: 200% .4em;
	background-position: 0 .8em;
	transition: all 2s ease;
	font-weight: 600;
	padding: 0;
}
.underline01.active{
	background-position: -100% .8em;
}
.underline02 {
	background-image: -webkit-linear-gradient(left, transparent 50%, rgb(173, 216, 199) 50%);
	background-image: -moz-linear-gradient(left, transparent 50%, rgb(173, 216, 199) 50%);
	background-image: -ms-linear-gradient(left, transparent 50%, rgb(173, 216, 199) 50%);
	background-image: -o-linear-gradient(left, transparent 50%, rgb(173, 216, 199) 50%);
	background-image: linear-gradient(left, transparent 50%, rgb(173, 216, 199) 50%);
	background-repeat: repeat-x;
	background-size: 200% .4em;
	background-position: 0 .8em;
	transition: all 2s ease;
	font-weight: 600;
	padding: 0;
}
.underline02.active{
	background-position: -100% .8em;
}
.underline03 {
	background-image: -webkit-linear-gradient(left, transparent 50%, rgb(196, 235, 246) 50%);
	background-image: -moz-linear-gradient(left, transparent 50%, rgb(196, 235, 246) 50%);
	background-image: -ms-linear-gradient(left, transparent 50%, rgb(196, 235, 246) 50%);
	background-image: -o-linear-gradient(left, transparent 50%, rgb(196, 235, 246) 50%);
	background-image: linear-gradient(left, transparent 50%, rgb(196, 235, 246) 50%);
	background-repeat: repeat-x;
	background-size: 200% .4em;
	background-position: 0 .8em;
	transition: all 2s ease;
	font-weight: 600;
	padding: 0;
}
.underline03.active{
	background-position: -100% .8em;
}
}
/* //動くアンダーライン */


/* お問い合わせ */
.formcontents01 { width: 93%; margin: 0 auto; padding: 5px 0; text-align: left; }
.formcontentsinner01 { display: inline-block; vertical-align: middle; }
.formcontentsinner01:nth-child(1) {
	width: 50px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	font-size: 18px;
	text-align: center;
	margin: 0 1.5% 0 0;
}
.formcontentsinner01:nth-child(2) {
	width: 56%;
}
#wide {
	width: 90%;
}
.formcontentsinner01:nth-child(3) {
	width: 33%;
	text-align: center;
}

.formcontentsinner01 p.requisite { color: #FFFFFF; background: #ff3100; padding: 2px; }
.formcontentsinner01 p.optional { color: #464646; background: #d8d8d8; padding: 2px; }

input { width:94%; padding:8px 1%; margin:0 0 0 2%; border:1px solid #cdcdcd; }
input.radio { width:16px; display:inline-block; padding:6px 1%; margin:0; border:0px solid #cdcdcd; }
input.age { width:3em; display:inline-block; padding:6px 1%; margin:0; border:1px solid #cdcdcd; }
input.textbox01 { width:50%; padding:8px 1%; margin:0; border:1px solid #cdcdcd; }
select { width:40%; padding:8px 1%; margin:0 0 0 2%; border:1px solid #cdcdcd; }
input.namebox { width:90%; padding:8px 1%; border:1px solid #cdcdcd; }
input#zip { width:38%; padding:8px 1%; border:1px solid #cdcdcd; }
input.addr { width:50%; padding:8px 1%; border:1px solid #cdcdcd; }
input.boxspace01 { margin: 10px 0 0 2%; }
textarea { width:96%; height:200px; padding:8px 1%; margin:0 0 0 1%; border:1px solid #cdcdcd; }
.ex { display:inline-block; }

input.checkbox{
	width: 16px;
	display: inline-block;
}
#privacybutton label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 0;
	padding:0 0 0 25px;
	border-radius: 1%;
	font-size: 14px;
	text-align: center;
	line-height: 1;
	vertical-align:middle;
}
#privacybutton label:before{
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -10px;
	background: #ffffff;
	border-radius: 5%;
	border:1px solid #cdcdcd;
}
#privacybutton input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 6px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-radius: 50%;
	background: #00a3af;
}

#privacybutton input[type="checkbox"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 6px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-radius: 50%;
	background: #00a3af;
}

#privacybutton { text-align: center; padding: 30px 0 0 0; }
/*
input.checkbox{
	display: none;
}
label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 0;
	padding:0 0 0 25px;
	border-radius: 1%;
	font-size: 14px;
	text-align: center;
	line-height: 1;
	vertical-align:middle;
}
label:before{
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -10px;
	background: #ffffff;
	border-radius: 5%;
	border:1px solid #353535;
}
input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 6px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-radius: 50%;
	background: #1f7ba5;
}

input[type="checkbox"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 6px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-radius: 50%;
	background: #1f7ba5;
}
*/
#attentionbox01 {
	width: 98%;
	font-size: 24px;
	font-weight:bold;
	margin: 0 auto;
	padding: 0 0 15px;
	display: block;
	line-height: 140%;
}

#attentionbox02 {
	width: auto;
	display: table;
	margin: 0 auto;
	padding: 20px 0 0;
	line-height: 140%;
}

#attentionbox03 {
	display: block;
	font-weight:bold;
	margin: 20px auto 0;
	padding: 2%;
	line-height: 140%;
	border: 1px solid #000000;
}

.buttonbox01 { width:360px; margin:0 auto; padding:0; }
.buttonbox01 img { width:100%; height:auto; }
.buttonbox01 input { width:360px; height:auto; padding:0; margin:0; border:none; }
.buttonbox02 { width:360px; margin:0 auto; padding:30px 0 0 0; zoom:1; }
.buttonbox02:after { content:""; display:block; clear:both; }
.buttonbox02 img { width:100%; height:auto; }
.buttonbox03 { width:360px; margin: 0 auto; }
.buttonbox03:nth-child(2) { width:360px; margin: 15px auto 0; }
.buttonbox03 input { width:360px; height:auto; padding:0; margin:0; border:none; }

input.button { border:none; padding:0; margin:0; }

/* 項目調整用 */
.listitem01 { letter-spacing:3em; }
.listitem02 { letter-spacing:1em; }
@media screen and (min-width: 0px) and (max-width: 768px)  {
.formcontents01 { width: 100%; margin: 0 auto; padding: 5px 0; text-align: left; }
.formcontentsinner01 { display: inline-block; vertical-align: top; }
.formcontentsinner01:nth-child(1) {
	width: 40px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	font-size: 12px;
	text-align: center;
	display: block;
	margin: 0 0 5px;
}
.formcontentsinner01:nth-child(2) {
	width: 100%;
	display: block;
}
#wide {
	width: 100%;
	display: block;
}
.formcontentsinner01:nth-child(3) {
	width: 100%;
	text-align: left;
	display: block;
	margin: 5px 0 0 0;
}

.formcontentsinner01 p.requisite { color: #FFFFFF; background: #ff3100; padding: 2px; }
.formcontentsinner01 p.optional { color: #464646; background: #d8d8d8; padding: 2px; }



input { width:98%; display:block; padding:6px 1%; margin:0; border:1px solid #cdcdcd; }
input.radio { width:10px; display:block; padding:6px 1%; margin:0; border:0px solid #cdcdcd; }
input.textbox01 { width:50%; padding:6px 1%; margin:0; border:1px solid #cdcdcd; }
select { width:25%; display:block; padding:6px 1%; margin:0; border:1px solid #cdcdcd; }
input#zip { width:20%; padding:6px 1%; border:1px solid #cdcdcd; }
input.addr { width:50%; padding:6px 1%; border:1px solid #cdcdcd; }
input.boxspace01 { margin: 10px 0 0 0; }
textarea { width:98%; height:200px; padding:6px 1%; margin:0; border:1px solid #cdcdcd; }
.ex { display:block; }

input.checkbox{
	width: 16px;
	display: inline-block;
}
#privacybutton label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 0;
	padding:0 0 0 25px;
	border-radius: 1%;
	font-size: 14px;
	text-align: center;
	line-height: 1;
	vertical-align:middle;
}
#privacybutton label:before{
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -10px;
	background: #ffffff;
	border-radius: 5%;
	border:1px solid #cdcdcd;
}
#privacybutton input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 6px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-radius: 50%;
	background: #00a3af;
}

#privacybutton input[type="checkbox"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 6px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-radius: 50%;
	background: #00a3af;
}

#privacybutton { text-align: center; padding: 15px 0 0 0; }
/*
input.checkbox{
	display: none;
}
label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 0;
	padding:0 0 0 25px;
	border-radius: 1%;
	font-size: 12px;
	text-align: center;
	line-height: 1;
	vertical-align:middle;
}
label:before{
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -10px;
	background: #ffffff;
	border-radius: 5%;
	border:1px solid #353535;
}
input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 6px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-radius: 50%;
	background: #1f7ba5;
}

input[type="checkbox"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 6px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-radius: 50%;
	background: #1f7ba5;
}
*/

#attentionbox01 {
	width:94%;
	font-size: 14px;
	font-weight:bold;
	margin: 0 auto;
	padding: 0 0 15px;
	display: block;
	line-height: 140%;
}

#attentionbox02 {
	width: auto;
	display: table;
	margin: 0 auto;
	padding: 20px 0 0;
	line-height: 140%;
}

#attentionbox03 {
	display: block;
	font-weight:bold;
	margin: 20px auto 0;
	padding: 2%;
	line-height: 140%;
	border: 1px solid #000000;
}

.buttonbox01 { width:40%; height:auto; margin:0 auto; padding:0; text-align:center; }
.buttonbox01 img { width:100%; height:auto; }
.buttonbox01 input { width:100%; height:auto; padding:0; margin:0; border:none; }
.buttonbox02 { width:100%; margin:0 auto; padding:10px 0 0 0; text-align:center; }
.buttonbox02 img { width:100%; height:auto; }
.buttonbox03 { width:40%; height:auto; margin:0 auto 15px; display:block; float:none; text-align:center; }
.buttonbox03:nth-child(2) { width:40%; height:auto; margin:0 auto; display:block; float:none; }
.buttonbox03 img { width:100%; height:auto; }
.buttonbox03 input { width:100%; height:auto; padding:0; margin:0; border:none; }

.button { width:100%; height:auto; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0; padding:0 !important; }

/* 項目調整用 */
.listitem01 { letter-spacing:3em; }
.listitem02 { letter-spacing:1em; }
}
/* //お問い合わせ */