/*
 * Globals
 */

/* 20230117: Zen Maru Gothic
   https://fonts.google.com/share?selection.family=Zen%20Maru%20Gothic:wght@700 */
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@700&display=swap');

html { /* Font size 基準 */
    font-size: 16px;
}

@media (max-width: 768px) { /* iPadの最小幅 768px */
  html {
    font-size: 12px;
  }
}

.h7 { /* Font size 14pt(16基準) */
  font-size: 0.875rem;
}
.h8 { /* Font size 12pt(16基準) */
  font-size: 0.75rem;
}
.h9 { /* Font size 10pt(16基準) */
  font-size: 0.625rem;
}

body {
  padding-top: 0;
  padding-bottom: 0;
  background: #CCCCCC;
  font-family: "メイリオ", Meiryo, Osaka,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #333333;
}



/*
 * 20210427
 */
span.highlighter{
	font-weight: bolder;
	background-color: #FFF0F0;
	padding: 1px 4px 1px;
	border-radius: 3.5rem;
}

span.bolder{
	font-weight: bolder;
}




















/*
 * Container
 */
.container {
	max-width: 100%;
	background: #F5F1E8;
	padding-right: 0;
	padding-left: 0;
}
body.manager .container {
	background: #003366;
}







/* blockquote */
.inner-contents .blockquote {
  border-left: 0.5rem solid #999999;
  margin-bottom: 1.5625rem;
}
.inner-contents .blockquote .badge {
  vertical-align: 0.15rem;
}
.inner-contents .blockquote p{
  padding-left:1rem;
}
@media (max-width: 576px) { /* Extra small devices (portrait phones, less than 576px) 以下 */
	.inner-contents .blockquote p:nth-child(1){
		padding-bottom: 0.5rem;
	}
}



/* badge (my-tableで使用) */
.inner-contents fieldset .my-table .col-lg-4 .badge {
  vertical-align: 0.15rem;
}
.inner-contents fieldset .my-table .col-lg-4 .un-ml-1 {
  margin-left: -0.25rem;
}



/* Custom page header */
.header {
  padding-top: 1rem;
  padding-bottom: .7rem;
  background: #d97662;

  position: relative;
  z-index: 999;
  max-width: 100%;
  margin-bottom: 2rem;
}
.header::before {
  background: url("../img/header-deco.svg") repeat-x;
  content: "";
  height: 16px;
  position: absolute;
  bottom: -16px;
  left: 0;
  width: 100%;
}
.header img{
  padding-left: 2rem;
  max-width: 50vmax;
  width: 90%;
}
@media (max-width: 768px) {
  .header::before {
    background-size: 65px auto;
    height: 8px;
    bottom: -7.9px;
  }
}








/* Custom page footer */
.footer {
  margin-right: 0;
  margin-left:  0;
  color: #fff;
  background: #81bc64;
}
.footer .footer-inner {
  max-width: 896px;
  margin: auto;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}

.footer strong {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-size: 1.125rem;
  font-size: 1.5rem;
}
.footer address {
  font-size: 0.75rem;
}
.footer .access {
  width:85%;
  padding-top: 2px;
  padding-bottom: 1px;
  font-size: 0.75rem;
  text-align:center;
  border-top:1px solid #fff;
  border-bottom:1px solid #fff;
}
.footer .access p {
  margin-bottom: 0;
}
.footer .access p:before {
  content: url(../img/train.png);
  vertical-align: -0.1rem;
  padding-right: 0.6rem;
}












/* wrapper */
.wrapper {
	max-width: 100%;
}

body.manager .wrapper {
	padding-top: 2rem;
	padding-bottom: 2rem;
	padding: 2rem;
}






/* top-img */
.wrapper .top-img {
	max-width: 896px;
	height: auto;
	margin: auto;
	margin-bottom: 1rem;
}
.wrapper .top-img img {
	width: 100%;
	object-fit: cover;
}







/* Custom page wrapper-inner */
.wrapper-inner {
  padding-top: 2rem;
  margin-bottom: 1rem;
  background: #fff;
  max-width: 896px;
  margin: auto;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  border-radius: 25px;
}

body.manager-index .wrapper-inner {
	padding-bottom: 3rem;
}








/* Custom page inner-contents */
.inner-contents {
  padding:0 3.4rem;
  padding-top:1.625rem;
  
/*  border:1px solid #00f;
*/
}






















/* Title type1 */
.inner-contents .my-title-type1 {
	background:#333333;
	color:white;
	padding: .5rem 1rem;
	padding-left: .5rem;
	margin-bottom: 0;
	font-size: 1.125rem;
}
.inner-contents .my-title-type1 span {
	border-left: 0.5rem solid #fff;
	padding-left: 10px;
	display:block;
}



/* steps */
#steps{
	margin:0;
	text-align:center;
	font-size: 0.75rem; /* 12pt */
	padding-left:0;
	padding-right:0;
	background-color: #cccccc;
}
#steps li{
	width: 15%;
	display:inline-block;
	text-align:center;
	margin: 13px;
	padding:15px;
	list-style:none;
	background-color: #eeeeee;
	position:relative;
	height:50px;
}
#steps li:after{
	position:absolute;
	top:0;
	right:-20px;
	content:' ';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 0 25px 20px;
	border-color: transparent transparent transparent #eeeeee;
}
#steps li.active{
	background-color:#333333;
	color:white;
}
#steps li.active:after{
	border-color: transparent transparent transparent #333333;
}



/* tableに相当 */
.inner-contents fieldset .my-table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
}

/* trに相当 */
.inner-contents fieldset .my-table .row {
  margin-right: 0;
  margin-left: 0;
}
.inner-contents fieldset .my-table .row:nth-of-type(even) {
  background-color: rgba(0, 0, 0, 0.05);
}
.inner-contents fieldset .my-table .row:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0);
}

@media (max-width: 991px) { /* tablets サイズ以下 */
	.inner-contents fieldset .my-table .row:nth-of-type(even) {
	  background-color:#fff;
	}
}







/* thに相当 */
.inner-contents fieldset .my-table .col-lg-4 {
  max-width: 225px;
  padding: 0.75rem;
  vertical-align: top;
  font-weight: bolder;
}

/* tdに相当 */
.inner-contents fieldset .my-table .col-lg-8 {
  padding: 0.75rem;
  padding-left: 0;
  padding-right: 0;
  vertical-align: top;
}

/* 入力フィールドw20 */
.inner-contents fieldset .my-table .col-lg-8 .w20 {
  width: 20%;
}

/* 入力フィールドw25 */
.inner-contents fieldset .my-table .col-lg-8 .w25 {
  width: 25%;
}

/* 入力フィールドw25-80 */
.inner-contents fieldset .my-table .col-lg-8 .w25-80 {
  width: 25%;
}

/* 入力フィールドw25-90 */
.inner-contents fieldset .my-table .col-lg-8 .w25-90 {
  width: 25%;
}

/* 入力フィールドw30 */
.inner-contents fieldset .my-table .col-lg-8 .w30 {
  width: 30%;
}

/* 入力フィールドw30-90 */
.inner-contents fieldset .my-table .col-lg-8 .w30-90 {
  width: 30%;
}

/* 入力フィールドw40 */
.inner-contents fieldset .my-table .col-lg-8 .w40 {
  width: 40%;
}

/* 入力フィールドw40-85 */
.inner-contents fieldset .my-table .col-lg-8 .w40-85 {
  width: 40%;
}

/* 入力フィールドw80 */
.inner-contents fieldset .my-table .col-lg-8 .w80 {
  width: 80%;
}

/* 入力フィールドw90 */
.inner-contents fieldset .my-table .col-lg-8 .w90 {
  width: 90%;
}

/* 入力フィールドw100 */
.inner-contents fieldset .my-table .col-lg-8 .w100 {
  width: 100%;
}

/* 入力フィールドw-auto */
.inner-contents fieldset .my-table .col-lg-8 .w-auto {
  width: auto;
}





.inner-contents fieldset .my-table .col-lg-8 .radio-list label {
  display: list-item;
  list-style:none;
}

@media (max-width: 768px) {
	.inner-contents fieldset .my-table .col-lg-8 label {
		margin-bottom: 0;
		
		border: 0px solid #f00;
	}
}





/* 入力系のデザイン微調整 */
.inner-contents .input-tidying input,
.inner-contents .input-tidying select {
  display: inline;
  margin-right: 5px;
}

.inner-contents .input-tidying .note {
  display: block;
  font-size: 0.75rem;
  padding-top: 0.2rem;
  padding-left:1em;
  text-indent:-1em;
}

.inner-contents .input-tidying .h8 {
  vertical-align: top;
}

/* custom-checkbox */
.inner-contents fieldset .my-table .col-lg-8 .custom-control-indicator {
  background-color: #0275d8;
}





/*
 * 戻るボタン
 */
#go-top {
	position: fixed;
	bottom: 20px;
	right: 37px;
	font-size: 77%;
	z-index: 10;
	opacity: 0.6;
}
#go-top a {
	background: #666;
	text-decoration: none;
	color: #fff;
	width: 66px;
	padding: 20px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#go-top a:hover {
	text-decoration: none;
	background: #f99;
	opacity: 0.9;
	border:1px solid #f00;
	
	-webkit-animation: rumble 0.15s linear infinite;
	animation: rumble 0.15s linear infinite;
}



















/*
 * Title Block
 */
.titleblock {
    background: #333333;
    padding: 15px;
    padding-left: 1.375rem;
	margin-bottom: 1rem;
}
.titleblock h1 {
	border-left: 0.5rem solid #fff;
	padding-left: 10px;
	padding-top: 0.3rem;
	padding-bottom: 0.3rem;
	margin-top: 0;
	margin-bottom: .1rem;
    font-size: 1.125rem;
	font-style: normal;
	font-weight: normal;
	line-height: 1.2;
	word-break: break-word;
	word-wrap: break-word;
	color: #fff;
}



/*
 * Title Block
 */
.titleblock-staff {
	padding-top: .25rem;
	padding-left: 1rem;
	margin-bottom: 1.25rem;
	border-left: .45rem solid rgba(70,70,70, 0.8);
}
.titleblock-staff h1 {
	margin-top: 0;
	margin-bottom: .25rem;
	font-size: 2.2rem;
	font-style: normal;
	font-weight: normal;
	line-height: 1.2;
	word-break: break-word;
	word-wrap: break-word;
	color: #000;
}











/*
 * Description Block
 */
.descriptionblock {
	padding-top: .6rem;
}
.descriptionblock h2 {
	color: #333333;
	font-size: 1.3rem;
	font-style: normal;
	font-weight: bold;
	line-height: 1.1;
	padding-top: 0.5rem;
}
.descriptionblock p {
	color: #000;
	font-size: 1rem;
	font-style: normal;
	font-weight: normal;
	line-height: 1.6;
}

.descriptionblock p:last-child {
	margin-bottom: 0;
}

.descriptionblock-red h2 {
	color: #D23931;
}

.descriptionblock .annotate {
	padding: .6rem;
	border:1px dashed #333333;
	margin-bottom: 1rem;
}
.descriptionblock .annotate p {
	font-size: 0.875rem;
/*
	padding-left:1rem;
	text-indent:-1rem;
*/
}

.descriptionblock-figure{
	padding-top: .6rem;
}

@media (max-width: 991px) {
	.descriptionblock-figure.order-first{
		/* 上下の位置を逆にする(flexbox) */
		order: 0;
	}
	
	/* 3カラムテキスト用 */
	.col-lg-4.descriptionblock:nth-child(1),
	.col-lg-4.descriptionblock:nth-child(2){
		margin-bottom: 1.5rem;
	}
}

@media (min-width: 991px) {
	/* 3カラムテキスト用 */
	.col-lg-4.descriptionblock .titleblock{
		
		
	}
	.col-lg-4.descriptionblock .titleblock h1{
	    font-size: 1.125rem;
		
	}
}











/*
 * 画像キャプション
 */
.imgcaption {
	position: relative;
}
.imgcaption p {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width:100%;
	font-size: .8rem;
	line-height: 1;
	padding: 1rem;
	color: rgba(0,0,0, 0.7);
	text-shadow: 3px 3px 2px #fff, -2px -2px 2px #fff, -1px -1px 2px #fff,  -1px -2px 2px #fff,  1px 1px 2px #fff, 5px 3px 3px #fff;
}
.imgcaption figcaption {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	color: rgba(0,0,0, 0.7);
	font-size: .9rem;
	text-shadow: 3px 3px 2px #fff, -2px -2px 2px #fff, -1px -1px 2px #fff,  -1px -2px 2px #fff,  1px 1px 2px #fff, 5px 3px 3px #fff;
}





/*
 * Ｑ＆Ａリスト
 */
.qa-wrapper {
    padding: 1rem 1rem;
    margin-bottom: 1rem;
}

.qa-wrapper .q {
    padding-bottom: 1rem;
    border-bottom: dashed 1px #e5e5e5;
}
.qa-wrapper .a {
    line-height: 160%;
}

.qa-wrapper .q,
.qa-wrapper .a {
    text-indent: -3.34rem;
    padding-left: 3.34rem;
}

.qa-wrapper .q span,
.qa-wrapper .a span {
    background-color: #3A5A97;
    font-family: Georgia, "Times New Roman", Times, serif;
	font-weight: bold;
    color: #fff;
    border-radius: 50%;
    padding: .5rem .8rem;
    margin-right: 1rem;
	text-indent: -2.2rem;
}
.qa-wrapper .a span {
    background-color: #FB7468;
}

.qa-wrapper .content-2nd-carousel-owl,
.qa-wrapper .content-2nd-carousel-owl-video{
	max-width:50%;
}
@media (max-width: 991px) {
	.qa-wrapper .content-2nd-carousel-owl,
	.qa-wrapper .content-2nd-carousel-owl-video{
		max-width:100%;
	}
}



/*
 * テーブルの設定
 */
table.table-block {
    max-width: 100%;
    background-color: transparent;
    border-collapse: collapse;
	border-top: 1px solid #e9ecef;
}

table.table-block th{
	white-space: nowrap;
	vertical-align: top;
	text-align: center;
	padding: .75rem;
}
table.table-block td{
	padding: 1rem;
}

table.table-block th,
table.table-block td{
	border-bottom: 1px solid #e9ecef;
}

table.table-block th p{
	display: block;
	font-size: .8rem;
	font-weight: bold;
	color: #fff;
	background: rgba(70,70,70, 0.8);
	padding: .3rem 1rem .1rem;
	
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
table.table-block td p{
	font-size: .95rem;
}
table.table-block p{
	margin-bottom: -.05rem;
}


















/* content-2nd */
.content-2nd{
	margin-bottom: 1.5rem;
}
.content-2nd .container{
	margin-bottom: 3rem;
	background: #ffffff;
}
@media (max-width: 768px) {
	.content-2nd{
		margin-bottom: 0;
	}
	.content-2nd .container{
		margin-bottom: 0;
	}
}

/* owlカルーセルのドットナビゲーションを消します */
.content-2nd .content-2nd-carousel-owl .owl-dots{
	display:none;
}

/* swiperカルーセルの設定 */
.content-2nd .content-2nd-carousel-swiper-coverflow{
	width: 100%;
	height: auto;
	
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}
.content-2nd .content-2nd-carousel-swiper-coverflow .swiper-slide{
	background-position: center;
	background-size: cover;
	
	/* アスペクト比を 16:9に合わせる */
	max-width: 20rem;
	height: 11.25rem;
}

.content-2nd .content-2nd-carousel-owl-video img:hover{
	-webkit-animation: rumble 0.15s linear infinite;
	animation: rumble 0.15s linear infinite;
}
@media (max-width: 991px) {
	.content-2nd .content-2nd-carousel-owl,
	.content-2nd .content-2nd-carousel-owl-video{
		margin-bottom: 1rem;
	}
}
/* /content-2nd */









/* content-3rd */
.content-3rd{
	padding-top: 1rem;
	margin-bottom: 1.5rem;
}

.content-3rd .content-3rd-carousel{
	padding-top: 1rem;
	background-color: #fff;
}

/* owlカルーセルのドットナビゲーションを消します */
.content-3rd .content-3rd-carousel .owl-dots{
	display:none;
}

.content-3rd .content-3rd-carousel .owl-item img{
	/* アスペクト比を 16:9に合わせる */
	max-width: 20rem;
	height: 11.25rem;
}

/* owlカルーセルを設定する */
.content-3rd .content-3rd-carousel .card {
	border:1px solid #fff;
	background-color: #fff;
	background-size: 100% 1.2rem;
	border:1px solid #fff;
	width: 20rem;
	padding-right: 1rem;
	border-radius: 0rem;
}

.content-3rd .content-3rd-carousel .card-body {
	padding-left: 0;
	padding-right: 0;
}

.content-3rd .content-3rd-carousel .card-footer {
	padding: 0;
	border:0px solid #fff;
	font-weight: 500;
}

.content-3rd .content-3rd-carousel .card p {
	margin-bottom: 0.1rem;
}

.content-3rd .content-3rd-carousel .card-text {
	font-size: 0.875rem;
	
	padding-top: 1rem;
	padding-bottom: 1rem;
	
	border-top:2px solid #000;
	border-bottom:2px solid #000;
	height: 6.2rem;
}

.content-3rd .item a{
	color: #232323;
	text-decoration: none;
}

/* テーブルバージョンのみ */
.content-3rd .content-3rd-carousel .table-block {
	padding-top: 1rem;
	padding-bottom: 1rem;
	border-top:2px solid #000;
	border-bottom:2px solid #000;
	height: 6.2rem;
}
.content-3rd .content-3rd-carousel .table-block td{
	padding: .1rem;
}
.content-3rd .content-3rd-carousel .table-block th p{
	padding: .1rem .1rem;
	line-height: 1.3rem;
}
/* /content-3rd */












/*
 * エラーメッセージの表示
 */
.validation-errors {
	display: inline-block;
	background: red;
	color: white;
	padding: .2rem .5rem;
	border-radius: .5rem;
	border: 2px solid white;
	box-shadow: 0px 1px 5px rgba(0,0,0,0.5);
	font-size: 12px !important;
	font-weight: normal !important;
	margin: 1px 5px 5px 0;
}











/* 768px 以上 */
@media (min-width: 768px) {
	.modal-content h5,
	.modal-content p{
		font-weight: normal !important;
	}
	.modal-content h5{
		font-size: 1rem !important;
	}
	
	.modal-content p{
		font-size: .75rem !important;
	}
}















/* 画面遷移ボタン */
.inner-contents .operation-nav {
  text-align: center;
  margin-top: 2rem;
  margin-bottom: 3rem;
}
.inner-contents .operation-nav button {
  width: 35%;
  height: 3rem;
  margin-bottom: 7%;
}



/* Google Map */
#googlemap-region iframe {
    padding: 0;
    border-radius: .25rem!important;

}































/* Special pattern (トップイメージの補正) */
@media (max-width: 380px) {
  .wrapper-inner {
/*
    margin-top: 1.2em !important;
*/
  }
}



/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575px) {
  
/*
  .header img {
    max-width: 80%;
  }
*/
  
  .wrapper {
/*
    padding: 12rem 1rem 5rem;
    background:url(../img/top-mb.jpg) no-repeat center 0;
    background-size:contain;
*/
  }
  
  .wrapper-inner {
	
	margin-bottom: 1.4em;
/*
    margin-top: 4.8em;
*/
  }
  
  .inner-contents {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
  }
  
  .footer .access {
    text-align:left;
    width:80%;
    margin-bottom: 1.2em;
    border-top:0px solid #fff;
    border-bottom:0px solid #fff;
  }
  
  /* タイトル装飾 */
  .inner-contents .input-tidying .col-lg-4 {
    max-width: 100% !important;
    white-space: nowrap;
    background-image: linear-gradient(to top, #c6c6c6, white);
  }
  
  /* thに相当 */
  .inner-contents fieldset .my-table .col-lg-4 {
    padding-bottom: 0;
  }
  
  /* tdに相当 */
  .inner-contents fieldset .my-table .col-lg-8 {
    padding-top: 1rem;
  }
  
  /* 入力フィールドw20 */
  .inner-contents fieldset .my-table .col-lg-8 .w20 {
    width: 100%;
	margin-bottom: 1rem;
  }
  
  /* 入力フィールドw25 */
  .inner-contents fieldset .my-table .col-lg-8 .w25 {
    width: 100%;
	margin-bottom: 1rem;
  }
  
  /* 入力フィールドw25-80 */
  .inner-contents fieldset .my-table .col-lg-8 .w25-80 {
    width: 80%;
	margin-bottom: 1rem;
  }
  
  /* 入力フィールドw25-90 */
  .inner-contents fieldset .my-table .col-lg-8 .w25-90 {
    width: 90%;
	margin-bottom: 1rem;
  }
  
  /* 入力フィールドw30 */
  .inner-contents fieldset .my-table .col-lg-8 .w30 {
    width: 100%;
	margin-bottom: 1rem;
  }
  
  /* 入力フィールドw30-90 */
  .inner-contents fieldset .my-table .col-lg-8 .w30-90 {
    width: 90%;
	margin-bottom: 1rem;
  }
  
  /* 入力フィールドw40 */
  .inner-contents fieldset .my-table .col-lg-8 .w40 {
    width: 100%;
	margin-bottom: 1rem;
  }
  
  /* 入力フィールドw40-85 */
  .inner-contents fieldset .my-table .col-lg-8 .w40-85 {
    width: 85%;
	margin-bottom: 1rem;
  }
  
  /* 入力フィールドw80 */
  .inner-contents fieldset .my-table .col-lg-8 .w80 {
    width: 100%;
	margin-bottom: 1rem;
  }
  
  /* 入力フィールドw90 */
  .inner-contents fieldset .my-table .col-lg-8 .w90 {
    width: 100%;
	margin-bottom: 1rem;
  }
  
  /* 入力フィールドw100 */
  .inner-contents fieldset .my-table .col-lg-8 .w100 {
    width: 100%;
	margin-bottom: 1rem;
  }
  
  /* 入力フィールドw-auto */
  .inner-contents fieldset .my-table .col-lg-8 .w-auto {
    width: 100%;
	margin-bottom: 1rem;
  }
  
  
  
  
  
  /* 入力フィールド年月日 */
  .inner-contents fieldset .my-table .my-ymd-fields select {
    width: 85%;
    margin-bottom: 6px;
  }
  .inner-contents fieldset .my-table .my-ymd-fields select:nth-child(3) {
    margin-bottom: 14px;
  }
  
  /* 入力フィールド(テキスト系)下部スペース */
  .inner-contents fieldset .my-table .my-mb-text-field {
    margin-bottom: 12px;
  }
  
  /* 入力フィールド(学年) */
  .inner-contents fieldset .my-table .my-ymd-fields-with-radio select {
    width: 80%;
    margin-bottom: 6px;
  }
  
  /* 入力フィールド(学年)左スペース */
  .inner-contents fieldset .my-table .col-lg-8 .radio-list label:nth-child(1) select:nth-child(3) {
    margin-left: 22px;
  }
  
  /* 入力フィールド(学年)文字高さ調整 */
  .inner-contents fieldset .my-table .col-lg-8 .radio-list label:nth-child(2) input,
  .inner-contents fieldset .my-table .col-lg-8 .radio-list label:nth-child(3) input {
    vertical-align: -0.2rem;
  }
  
  /* 入力フィールド(利用規約を表示)ボタン下部スペース */
  .inner-contents fieldset .my-table .col-lg-8 button {
    margin-bottom: 14px;
  }
  
  
  
  #steps li{
    width: 22%;
    height:30px;
    line-height: 0;
    padding-left: 3%;
  }
  #steps li:after{
    border-width: 15px 0 15px 20px;
  }
  
  
  
  
  
}



/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767px) {
  
  .wrapper {
/*
    padding: 16rem 1.5rem 5rem;
    background:url(../img/top-mb.jpg) no-repeat center 0;
    background-size:contain;
*/
  }
  
  .wrapper-inner {
	
	margin-bottom: 1.4em;
/*
    margin-top: 4.2em;
*/
  }
  
  .inner-contents {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
  
  .footer {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  
  .footer .access {
    text-align:left;
    width:62%;
    margin-bottom: 1.2em;
    border-top:0px solid #fff;
    border-bottom:0px solid #fff;
  }
  
  /* タイトル装飾 */
  .inner-contents .input-tidying .col-lg-4 {
    max-width: 100% !important;
    white-space: nowrap;
    background-image: linear-gradient(to top, #c6c6c6, white);
  }
  
  /* thに相当 */
  .inner-contents fieldset .my-table .col-lg-4 {
    padding-bottom: 0;
  }
  
  /* tdに相当 */
  .inner-contents fieldset .my-table .col-lg-8 {
    padding-top: 1rem;
  }
  
  /* 入力フィールドw100 */
  .inner-contents fieldset .my-table .col-lg-8 .w100 {
    width: 100%;
  }
  
  /* 入力フィールド年月日 */
  .inner-contents fieldset .my-table .my-ymd-fields select {
    margin-bottom: 14px;
  }
  
  /* 入力フィールド(テキスト系)下部スペース */
  .inner-contents fieldset .my-table .my-mb-text-field {
    margin-bottom: 14px;
  }
  
  /* 入力フィールド(学年)文字高さ調整 */
  .inner-contents fieldset .my-table .col-lg-8 .radio-list label:nth-child(2) input,
  .inner-contents fieldset .my-table .col-lg-8 .radio-list label:nth-child(3) input {
    vertical-align: -0.2rem;
  }
  
  /* 入力フィールド(利用規約を表示)ボタン下部スペース */
  .inner-contents fieldset .my-table .col-lg-8 button {
    margin-bottom: 14px;
  }
  
  #steps li{
    width: 22%;
    height:38px;
    line-height: 1em;
    padding-left: 1%;
  }
  #steps li:after{
    border-width: 19px 0 19px 20px;
  }
  
  
  
}



/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991px) {
  
  .wrapper {
/*
    padding: 21rem 1.5rem 5rem;
*/
  }
  
  .inner-contents {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
  
  .footer {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  .footer .access {
    text-align:left;
    width:57%;
    margin-bottom: 1.2em;
    border-top:0px solid #fff;
    border-bottom:0px solid #fff;
  }
  
  /* タイトル装飾 */
  .inner-contents .input-tidying .col-lg-4 {
    max-width: 100% !important;
    white-space: nowrap;
    background-image: linear-gradient(to top, #c6c6c6, white);
  }
  
  /* thに相当 */
  .inner-contents fieldset .my-table .col-lg-4 {
    padding-bottom: 0;
  }
  
  /* tdに相当 */
  .inner-contents fieldset .my-table .col-lg-8 {
    padding-top: 1rem;
  }
  
  /* 入力フィールドw100 */
  .inner-contents fieldset .my-table .col-lg-8 .w100 {
    width: 100%;
  }
  
  /* 入力フィールド年月日 */
  .inner-contents fieldset .my-table .my-ymd-fields select {
    margin-bottom: 14px;
  }
  
  /* 入力フィールド(テキスト系)下部スペース */
  .inner-contents fieldset .my-table .my-mb-text-field {
    margin-bottom: 12px;
  }
  
  /* 入力フィールド(利用規約を表示)ボタン下部スペース */
  .inner-contents fieldset .my-table .col-lg-8 button {
    margin-bottom: 14px;
  }
  
  #steps li{
    width: 20%;
    height:38px;
    line-height: 1em;
    padding-left: 1%;
  }
  #steps li:after{
    border-width: 19px 0 19px 20px;
  }
  
}
@media (max-width: 991px) { /* tablets サイズ以下 */
	.inner-contents fieldset .my-table .col-lg-8 {
		padding-top: 1rem;
	}
	.inner-contents fieldset .my-table .row:nth-last-child(1) .col-lg-8 {
		padding-bottom: 1rem;
	}
	.inner-contents fieldset .my-table {
		margin-bottom: 0;
	}
  
}



/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199px) {
  
  .wrapper {
/*
    padding-left: 3rem;
    padding-right: 3rem;
*/
    padding-bottom: 1rem;
/*
    padding: 28rem 3rem 5rem;
*/
  }
  
  .inner-contents {
    padding-left: 1.8rem;
    padding-right: 1.8rem;
  }
  
  .footer {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  .footer .access {
    width:88%;
  }
  
  /* 入力フィールドw100 */
  .inner-contents fieldset .my-table .col-lg-8 .w100 {
    width: 33.875rem;
  }
  
  
  
  
  
}



/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  
  .wrapper {
/*
    padding-top: 35rem;
*/
    padding-bottom: 1rem;
  }
  
  /* 入力フィールドw100 */
  .inner-contents fieldset .my-table .col-lg-8 .w100 {
    width: 32.8125rem;
  }
  
  .col-lg {
    padding-right: 0;
    padding-left: 0;
  }
}










/* ホーム (home) */
.home #steps {
	background: linear-gradient(-135deg, #FFF, #CCCCCC);
/*	background: linear-gradient(-135deg, rgba(255, 255, 255, .8), rgba(204, 204, 204, 0)),
	url(../img/top-mb.jpg);
	background-size: cover;
*/
}

@media (max-width: 575px) { /* Extra small devices (portrait phones, less than 576px) */
	.home .inner-contents .descriptionblock button  {
		font-size: .8rem;
		
	}
}










/* 入力情報確認 (confirm) */
/* レイアウト調整 */
.confirm .inner-contents fieldset .my-table .col-lg-4 {
	padding-top: 1rem;
}
.confirm .inner-contents fieldset .my-table .col-lg-8 {
	padding-top: 1.7rem;
}

/* チェックボックスに色をつける */
.custom-checkbox .custom-control-input~.custom-control-label::before{
	background-color:#007bff;
}
.custom-checkbox .custom-control-input~.custom-control-label{
	padding-top: 0.1rem;
}

/* ダイアログの右 16pxをなくす */
.modal.fade.show{
	padding-right:0rem !important;
}

/* 縦位置を真中へもってくる */
@media (max-width: 991px) { /* tablets サイズ以下 */
	.confirm .inner-contents fieldset .my-table .col-lg-8 {
		padding-top: 1rem;
	}
}















/* content-2nd */
/* owlカルーセルのドットナビゲーションを消します */
.home .content-2nd .content-2nd-carousel-owl .owl-dots{
	display:none;
}

/* swiperカルーセルの設定 */
.home .content-2nd .content-2nd-carousel-swiper-coverflow{
	width: 100%;
	height: auto;
	
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}
.home .content-2nd .content-2nd-carousel-swiper-coverflow .swiper-slide{
	background-position: center;
	background-size: cover;
	
	/* アスペクト比を 16:9に合わせる */
	max-width: 20rem;
	height: 11.25rem;
}

.home .content-2nd .content-2nd-carousel-owl-video img:hover{
	-webkit-animation: rumble 0.15s linear infinite;
	animation: rumble 0.15s linear infinite;
}
@media (max-width: 991px) {
	.home .content-2nd .content-2nd-carousel-owl,
	.home .content-2nd .content-2nd-carousel-owl-video{
		margin-bottom: 1rem;
	}
}
/* /content-2nd */

























































/*
 * 20210427
 * Requirements
 */
	table.requirements td p.box-red,
	table.requirements td p.box-blue,
	table.requirements td p.box-orange{
		margin: .5rem 0 .5rem;
		padding: 4px;
		border-radius: .8rem;
	}
	table.requirements td p.box-red{
		background-color: #FFF0F0;
	}
	table.requirements td p.box-blue{
		background-color: #C7E8FB;
	}
	table.requirements td p.box-orange{
		background-color: #FEBF60;
	}
	
@media (max-width: 768px) {
	table.requirements tbody {
		float: left;
	}
	
	table.requirements th,
	table.requirements td {
		display: block;
		width: 100%;
	}
	
	table.requirements th p,
	table.requirements td p {
	    font-size: 1rem;
	}
	
	table.requirements th {
		padding: .5rem 0 0;
		text-align: left;
		border-bottom: 0px solid #fff;
	}
	table.requirements th p {
		padding: .3rem 0 .1rem;
		padding-left: .5rem;
		border-left: solid .5rem #333333;
	}
	
	table.requirements td {
		padding-right: 0;
		border-bottom: 0px solid #fff;
	}
	
}

/*
 * 20210427
 * wrapper
 */
.home #steps {
	height: 1rem;
	
	border: 0px solid #f00;
}

/*
 * 20210428
 */
@media (max-width: 991px) {
	.confirm .inner-contents fieldset .my-table .col-lg-8 {
		padding-left: .75rem;
		
		border: 0px solid #f00;
	}
}







































































/*
 * Rumble keyframes
 */
@keyframes rumble {
 0% {
	-webkit-transform: rotate(0deg) translate(0, 0);
			transform: rotate(0deg) translate(0, 0); }
 12.5% {
	-webkit-transform: rotate(0.4deg) translate(1px, -1px);
			transform: rotate(0.4deg) translate(1px, -1px); }
 25% {
	-webkit-transform: rotate(0.8deg) translate(0px, 1px);
			transform: rotate(0.8deg) translate(0px, 1px); }
 37.5% {
	-webkit-transform: rotate(0.4deg) translate(-1px, 0);
			transform: rotate(0.4deg) translate(-1px, 0); }
 50% {
	-webkit-transform: rotate(0deg) translate(0, 0);
			transform: rotate(0deg) translate(0, 0); }
 62.5% {
	-webkit-transform: rotate(-0.4deg) translate(1px, 0);
			transform: rotate(-0.4deg) translate(1px, 0); }
 75% {
	-webkit-transform: rotate(-0.8deg) translate(0, 1px);
			transform: rotate(-0.8deg) translate(0, 1px); }
 87.5% {
	-webkit-transform: rotate(-0.4deg) translate(-1px, -1px);
			transform: rotate(-0.4deg) translate(-1px, -1px); }
 100% {
	-webkit-transform: rotate(0deg) translate(0, 0);
			transform: rotate(0deg) translate(0, 0); } }

@-webkit-keyframes rumble {
 0% {
	-webkit-transform: rotate(0deg) translate(0, 0);
	transform: rotate(0deg) translate(0, 0); }
 12.5% {
	-webkit-transform: rotate(0.4deg) translate(1px, -1px);
			transform: rotate(0.4deg) translate(1px, -1px); }
 25% {
	-webkit-transform: rotate(0.8deg) translate(0px, 1px);
			transform: rotate(0.8deg) translate(0px, 1px); }
 37.5% {
	-webkit-transform: rotate(0.4deg) translate(-1px, 0);
			transform: rotate(0.4deg) translate(-1px, 0); }
 50% {
	-webkit-transform: rotate(0deg) translate(0, 0);
			transform: rotate(0deg) translate(0, 0); }
 62.5% {
	-webkit-transform: rotate(-0.4deg) translate(1px, 0);
			transform: rotate(-0.4deg) translate(1px, 0); }
 75% {
	-webkit-transform: rotate(-0.8deg) translate(0, 1px);
			transform: rotate(-0.8deg) translate(0, 1px); }
 87.5% {
	-webkit-transform: rotate(-0.4deg) translate(-1px, -1px);
			transform: rotate(-0.4deg) translate(-1px, -1px); }
 100% {
	-webkit-transform: rotate(0deg) translate(0, 0);
			transform: rotate(0deg) translate(0, 0); } }



