@charset "utf-8";

@import url("https://unpkg.com/sanitize.css");
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");

html,
body {
	margin: 0;
	padding: 0;
	/* font-size: 14px; */
	height: 100%;
}

body {
	font-family: "Helvetica Neue",
		Arial,
		"Hiragino Kaku Gothic ProN",
		"Hiragino Sans",
		Meiryo,
		sans-serif;
	-webkit-text-size-adjust: none;
	background: #e6f9fc;
	color: #333;
	line-height: 1.6;
}

figure {
	margin: 0;
}

dd {
	margin: 0;
}

nav {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
}

img {
	border: none;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

section+section {
	padding-top: 30px;
}

video {
	max-width: 100%;
}

iframe {
	width: 100%;
}

/*
---------------------------------------------------------------------------*/
@keyframes opa1 {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/*
---------------------------------------------------------------------------*/
@keyframes opa2 {
	0% {
		opacity: 0;
		height: 0px;
		overflow: hidden;
	}

	50% {
		opacity: 0;
		height: 80px;
		overflow: hidden;
	}

	100% {
		opacity: 1;
		height: auto;
	}
}


a {
	color: #333;
	transition: 0.3s;
}

a:hover {
	color: #ff8400;
}

/* カレント表示 */
.header-nav__item.current a {
	color: #ff8400;
}  

.color-red{
	color:red;
	font-size:1.1em !important;
	font-weight:bold;
}
.color-red2{
	color:red;
}

.line-del{
	text-decoration: line-through;
}
.line-del-fn{
	font-size:1.1em !important;
	font-weight:bold;
}

/*container
---------------------------------------------------------------------------*/
#container {
	max-width: 1600px;
	max-width: 1200px;
	margin: 130px auto 50px;
}
.home #container {
	margin: 10px auto 50px !important;
}

/*header
---------------------------------------------------------------------------*/
header{
	background:#fff;
	overflow:hidden
}
header #logo {
	line-height: 0;
	margin: 0;
	padding: 5px 10px;
	position: absolute;
	left: 0px;
	top: 0px;
	width:80%;
}

/*
---------------------------------------------------------------------------*/
#menubar_hdr {
	display: block;
	position: fixed;
	z-index: 100;
	top: 5px;
	right: 5px;
	width: 50px;
	height: 50px;
	cursor: pointer;
	background: rgba(0, 0, 0, 0.6) url(../cm_images/ham.png) no-repeat center top/50px;
}

#menubar_hdr.ham {
	background: #ff0000 url(../cm_images/ham.png) no-repeat center bottom/50px;
}


/*
---------------------------------------------------------------------------*/
#menubar ul {
	font-size:16px;
	font-weight:bold;
	list-style: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

#menubar {
	height: 0px;
	overflow: hidden;
}

#menubar a {
	display: block;
	text-decoration: none;
	padding: 5px 0px;
}

#menubar .ddmenu {
	cursor: default;
}

#menubar span {
	display: block;
	font-size: 0.5em;
	opacity: 0.6;
	letter-spacing: 0.2em;
}

a.ddmenu::before {
	font-family: "Font Awesome 5 Free";
	content: "\f150";
	font-weight: bold;
	color: #B1B1B1;
	margin-right: 1em;
}

a.ddmenu:hover::before {
	color: #ff8400;
}

.sh {
	display: none;
	position: fixed;
	overflow: auto;
	z-index: 99;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	padding: 90px 20px;
}

.sh>ul {
	border-top: 1px solid #ccc;
}

.sh>ul>li {
	border-bottom: 1px solid #ccc;
}

.sh a.ddmenu span {
	padding-left: 3.8em;
}
.sh>ul>li>a:not(.ddmenu) {
	padding-left: 3.2em !important;
}

.ddmenu_parent ul {
	display: none;
}

.sh .ddmenu_parent ul li a {
	border-bottom: 1px solid #ccc;
}

.sh .ddmenu_parent ul a {
	padding-left: 65px !important;
}

.sh .ddmenu_parent ul li:first-of-type a {
	border-top: 1px solid #ccc;
}

.sh .ddmenu_parent ul li:last-of-type a {
	border-bottom: none;
}

main {
	display: block;
	min-height: 100%;
	margin: 80px 10px 50px;
	flex: 1 0 auto;
	background-color: #fff;
	padding: 20px 10px 80px;
	border-radius: 5px;
}

.home main {
	margin-top: 0px;
	overflow: hidden;
	border-radius: 5px;
}

.home .news {
	overflow: hidden;
}

.home .info::-webkit-scrollbar-track {
	background: #ffe6ea;
}

.home .info::-webkit-scrollbar-thumb {
	background: #ff8095;
}

.fa-arrow-right{
    padding-left:5px;
    color:#41b3bd;
}

.home .entrysyu h2 {
	padding: 0;
	margin: 0;
	text-align: center;
	border: none;
}

.home .entry {
	padding: 10px;
	margin: 0 0 10px 0;
	border-radius: 5px;
	text-align: center;
	position: relative;

	display: flex;
}

.home .entry h3 {
	font-size: 120%;
	font-size: 100%;
	margin: 0 0 10px;
	line-height: 1.2;
	border-bottom: none;
}

.home .entry .kounin {
	color: #f00;
	border: #f00 1px dotted;
	background-color: #fff;
	font-size: 80%;
	padding: 5px 2px;
	font-weight: bold;
	border-radius: 5px;
}

.home .entry .kouninnone {
	color: #ecfae3;
	opacity: 0;
	border: #ecfae3 1px dotted;
	background-color: #ecfae3;
	font-size: 90%;
	padding: 5px;
	font-weight: bold;
	border-radius: 5px;
}

.home .entry dl {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	line-height: 1.1;
	margin: 5px 0 0;
}

.home .entry dt {
	flex-basis: 35%;
	padding: 0px;
}

.home .entry dd {
	flex-basis: 65%;
	padding: 0 0 0 10px;
	text-align: left;
}

.home .entry-button ul {
	overflow: hidden;
	margin: 5px 0 15px;
	padding: 0
}

.home .entry-button li {
	display: flex;
	font-weight: bold;
	width: 48.5%;
	float: left;
	list-style-type: none;
	border-radius: 5px;
	position: relative;
	text-align: center;
}
.home .entry-button li a{
	color: #fff;
	width: 100%;
	padding: 5px 7px;
	text-decoration:none;
}
.home .entry-button li a:hover{
	border-radius: 5px;
}

.home .entry-button li:first-child {
	margin-right: 10px;
}

.home .entry-button li::after {
	color:#fff;
	content: ">";
	position: absolute;
	right: 5px;
	padding: 5px 0px;
}

.home .entry-button li.ent-runnet {
	background-color: #f39918;
}

.home .entry-button li.ent-runnet a:hover {
	background-color: #f5c41c;
}

.home .entry-button li.ent-page {
	background-color: #0060ff;
	background-color: #39dc23;
}
.home .entry-button li.ent-page a:hover {
	background-color: #0096ff;
}



ul.course {
	/* display: flex; */
	flex-wrap: wrap;
	list-style-type: none;
	padding: 0;
}

ul.course li {
	width: calc(100% / 3);
	width: 100%;
	position:relative;
}
ul.course li p{
	margin:0 0 5px;
	line-height:1.1;
	font-size:85%;
}
ul.course li .coursebtn{
	display: block;
bottom:5px;

}
.home .course h3 {
	padding: 0;
	margin: 0;
}

.home .coursehalf {
	background-color: #f8d2dc;
}

.home .coursehalf h3 {
	color: #fff;
}

.home .course10 {
	background-color: #bbd4eb;
}

.home .course10 h3 {
	color:#4a74a2;
}

.home .course5 {
	background-color: #ffeda0;
}

.home .course5 h3 {
	color: #f6ac19;
}

.home .course1_5 {
	background-color: #cce1a3;
}

.home .course1_5 h3 {
	color: #008d3f;
}


table.course-tbl{
	font-size:85%;
	width:100%;
	line-height:1.2;
	margin:0 0 20px;
}
table.course-tbl td{
	text-align: center;
	padding:10px 0;
}

table.course-tbl h3 {
	padding:0;
	margin:0;
    font-size: 120%;
    font-size: 100%;
    margin: 0;
    line-height: 1.2;
    border-bottom: none;
}
table.course-tbl .kounin{
	display:inline-block;
	background-color: #fff096;
	font-size: 80%;
	padding: 5px 4px;
	font-weight: bold;
	border-radius: 50px;
}
table.course-tbl p{
	margin:2px 0 0;
}

.col-white{color:#fff !important;}
.col-half{color:#e57894 !important;}
.bgmain-half{background-color:#e57894 !important;}
.bg-half{background-color:#f8d2dc !important;}
.col-10km{color:#4a74a2 !important;}
.bgmain-10km{background-color:#4a74a2 !important;}
.bg-10km{background-color:#bbd4eb !important;}
.col-5km{color:#f6ac19 !important;}
.bgmain-5km{background-color:#f6ac19 !important;}
.bg-5km{background-color:#ffeda0 !important;}
.col-1_5km{color:#008d3f !important;}
.bgmain-1_5km{background-color:#008d3f !important;}
.bg-1_5km{background-color:#cce1a3 !important;}

.hm-coursebtn{
	color:#fff;
	background-color: #0060ff;
	border-radius: 10px;
	padding:20px 5px;
	width:80%;
	text-align: center;
}

.tokyo img{
	display: block;
	width: 80%;
	text-align: center;
	margin-right: auto;
	margin-left: auto;
}
.tokyo p{
	margin: 0;
}

.guest {
	padding: 10px;
	overflow: hidden;
}

.guest h3 {
	font-size: 1.5em;
	border: none;
	margin-top:0;
	padding-left: 0;
}
.guest h4 {
	color:#333 !important;
	font-size:1.2em !important;
}
.guest h4::before{
	content: url(../cm_images/arrow.png);
	padding-right:5px;
}
.guest dl {
	margin-left:2em;
}
.guest dl dt {
	clear:left;
	width:100%;
	margin-top:10px;
}
.guest dl dd {
	margin-left: 0;
}

.other2{
	font-size:90%;
}
.other2 ul {
    width:100%;
    margin:0;
    padding:0;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.other2 ul li {
    width: 48%;
    background: #F5f5f5;
    list-style: none;
    padding-top:10px;
    padding-bottom: 65px;
    margin-bottom: 5px;
    position: relative;
	overflow: hidden;
}
.other2 ul li:first-child{
    margin-right:4%;
}
.other2 ul li h2 {
    margin-bottom: 20px;
}
.other2 ul li img {
    width:100%;
    margin:0 0 20px;
    padding:0 10px;
}
.other2 ul li p {
    padding:5px 10px;
	margin:0;
}
.other2 ul li p.button {
    /* text-align:center;
    padding:5px 0;
    display: block;
    position: absolute;
    bottom: 20px;
    width:100%;
    width: 80%;
	margin: 0 auto; */

	
position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    width: 80%;
    margin: 0 auto;
    text-align: center;


	
}
.other2 ul li p.button a {
    text-align: center;
    padding: 5px 0;
    display: block;
    position: absolute;
    bottom: 15px;
    width: 100%;
}

.other2 dl.otlist {
	display: flex;
	flex-wrap: wrap;
	padding: 5px 10px;
	margin:  5px 0px 30px;
}
.other2 dl.otlist dt {
	width: 20%;
}
.other2 dl.otlist dd {
	width: 80%;
	text-indent: -1em;
	line-height:1.2;
}
.other2 dl.otlist dd::before {
	content: "：";
}

.other ul {
	display: flex;
	list-style-type: none;
	padding-left: 0;
}
.other ul li {
	width: calc(100% /3);
	padding: 10px;
	border-radius: 5px;
	background-color: #efefef;
	margin-right: 5px;
}

.btn-mod,
a.btn-mod {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 4px 13px;
	color: #fff;
	background: rgba(34, 34, 34, .9);
	border: 2px solid transparent;
	/* font-size: 11px; */
	font-weight: 400;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 2px;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	-webkit-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.btn-mod:hover,
.btn-mod:focus,
a.btn-mod:hover,
a.btn-mod:focus {
	font-weight: 400;
	color: rgba(255, 255, 255, .85);
	background: rgba(0, 0, 0, .7);
	text-decoration: none;
	outline: none;
}

.btn-mod:active {
	cursor: pointer !important;
}

.btn-mod.btn-small {
	padding: 6px 17px;
	font-size: 11px;
	letter-spacing: 1px;
}

.btn-mod.btn-medium {
	padding: 8px 37px;
	/* font-size: 13px; */
}

.btn-mod.btn-medium2 {
	padding: 8px 37px;
	font-size: 16px;
}

.btn-mod.btn-large {
	padding: 12px 45px;
	font-size: 16px;
}

.btn-mod.btn-orange {
	color: #fff !important;
	background: #f60;
}
.btn-mod.btn-orangehalf {
	color: #fff;
	background: #f39800;
}

.btn-mod.btn-blue {
	color: #fff;
	background: #1d2088;
}

.btn-mod.btn-green {
	color: #fff;
	background: #8fc31f;
}
.btn-mod.btn-pink {
	color: #fff;
	background: #e4007f;
}

.btn-mod.btn-gray:hover,
.btn-mod.btn-gray:focus {
	color: #444;
	background: #d5d5d5;
}

.btn-mod.btn-circle {
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
}

.btn-mod.btn-round {
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

.course-tbl .csbtn{
	display:inline-block;
	margin: 5px 5px;
	padding: 20px 5px;
	border-radius: 10px;
}
.course-tbl .csbtn a{
	color: #fff;
	font-size: 85% !important;
	text-decoration: none;
}
.course-tbl .half{
	background: #e57894;
}
.course-tbl .blue{
background: #4a74a2;
}
.course-tbl .green{
	background: #f6ac19;
}
.course-tbl .pink{
	background: #008d3f;
}




main h2 {
	border-bottom: 4px dotted #f60;
	margin-bottom: 50px;
	text-align: center;
}

.info h2 {
	text-align: left;
}

main h2 span.uline {
	display: inline-block;
	border-bottom: 4px solid #ff8400;
	position: relative;
	bottom: -4px;
	padding: 0 20px;
	line-height: 1.5;
}

main h3 {
	border-bottom: 1px solid #ccc;
	padding: 0 20px;
}

main h4 {
	font-size: 1.1em !important;
	margin-bottom: 0;
}

main h5 {
	font-size: 1em !important;
	margin-bottom: 0;
}

main p {
	margin: 0 20px 30px;
}

#footermenu {
	background: #333;
	color: #fff;
	padding: 20px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	padding: 0 20px;
}

#footermenu a {
	text-decoration: none;
	color: #fff;
}

#footermenu a:hover {
	color: #fff;
}

#footermenu ul {
	margin: 0;
	padding: 0 2px;
	flex: 1;
	list-style: none;
}

#footermenu ul li {
	float: left;
	margin-right: 50px;
}

#footermenu .title {
	font-weight: bold;
	color: #ccc;
	padding-bottom: 5px;
}


/*フッター設定
---------------------------------------------------------------------------*/
footer small {
	font-size: 100%;
}

footer {
	font-size: 14px;
	background: #ff8400;
	color: #fff;
}

footer .contact {
	padding: 20px;
}

footer ul.sponsor {
	list-style-type: none;
}

footer ul.sponsor img {
	width: 50%;
}

footer ul.sponsor li {
	padding: 10px 0;
}

footer a {
	color: #fff;
	text-decoration: none;
}

footer a:hover {
	color: #fff;
}

footer .pr {
	display: block;
}

footer .cr {
	float: left;
	width: 50%
}


/*トップページのメイン画像
---------------------------------------------------------------------------*/
#mainimg {
	width: 100%;
}
.home #mainimg {
	background-image: url(../cm_images/bg_home.png);
	background-size: cover;
    background-repeat: no-repeat;
	padding-bottom: 50px;
	background-size:auto;
	background-position: center 80px;
}

#mainimg-inner {
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
}

#outline #mainimg-inner,
#entry #mainimg-inner {
	height: auto;
	background: none !important;
	margin-bottom: 30px;
}

#outline #mainimg-inner div,
#entry #mainimg-inner div {
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
}

#mainimg-inner div {
	position: relative;
	z-index: 1;
	width: 60%;
	text-align: center;
	border-radius: 10px;
	line-height: 1.5;
	transition: 0.3s;
	box-shadow: 10px 20px 40px rgba(0, 0, 0, 0.4);
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
}

#mainimg-inner div a {
	display: block;
	text-decoration: none;
	padding: 10px 20px;
	color: #fff;
}

#mainimg-inner div+div {
	margin-top: 20px;
}
#mainimg-inner div:hover {
	transform: scale(1.05);
	filter: brightness(1.2);
}

#mainimg-inner div:nth-of-type(1) {
	background: linear-gradient(#ffa800, #ff8400);
}

#mainimg-inner div:nth-of-type(2) {
	background: linear-gradient(#0096ff, #0060ff);
}

#mainimg-inner span {
	font-size: 1.5rem;
}

#mainimg-inner i {
	opacity: 0.7;
	margin-left: 10px;
}

#mainimg2 {
    width: 100%;
	position:relative;
	overflow: hidden;

	background: #fff;

}
#mainimg2-image {
	padding-top:100px;
}
#mainimg2-in {
	display:block;
	height:60px;
}

#mainimg2-inner {
	height: 30vh;
	display: flex;
	justify-content: center;
	align-items:flex-start;
	margin-top:-200px;
}

#mainimg2-inner div {
	position: relative;
	z-index: 1;
	width: 35%;
	text-align: center;
	border-radius: 10px;
	line-height: 1.5;
	transition: 0.3s;
	box-shadow: 5px 8px 20px rgba(0,0,0,0.4);
	text-shadow: 2px 2px 2px rgba(0,0,0,0.2);
	margin-left: 10%;
}

#mainimg2-inner div a {
	display: block;text-decoration: none;
	padding: 10px 20px;
	color: #fff;
}

#mainimg2-inner div:hover {
	transform: scale(1.05);
	filter: brightness(1.2);
}

#mainimg2-inner div:nth-of-type(1) {
	background: linear-gradient(#f5c41c, #f39918);
    margin-left: 0;
}

#mainimg2-inner div:nth-of-type(2) {
	background: linear-gradient(#0096ff,#0060ff);
}

#mainimg2-inner span {
	font-size: 1.5rem;
}

#mainimg2-inner i {
	opacity: 0.7;
	margin-left: 10px;
}

/*---------------------*/

.scroll2{
  position:absolute;
  left:50%;
  bottom:0px;
  height:50px;

  z-index: 2;
  transform: translateX(-50%);

}

.scroll2 span{
  position: absolute;
  left:-32px;
  top: -40px;
  color: #f37b7b;
  font-size: 1rem;
  letter-spacing: 0.1em;
}

.scroll2::after{
  content: "";
  position: absolute;
  top: -80px;
  width: 2px;
  height: 80px;
  background: #eee;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}

@keyframes pathmove{
  0%{
    height:0;
    top:5px;
    opacity: 0;
  }
  30%{
    height:70px;
    opacity: 1;
  }
  100%{
    height:0;
    top:100px;
    opacity: 0;
  }
}


	/* createLightbox */
	/* .idrLightbox {
		background-position: right 20px;
		background-size: 5%;  
		top: 50px;  
	
		position: fixed;
		background-color: rgba(0,0,0, 0.7);
		background-image: url(../cm_images/close.png);
		background-repeat: no-repeat;
		cursor:pointer;
		bottom: 0;
		left: 0;
		right: 0;
	}
	.idrLightbox iframe {
		width: 90%;
	
		display: block;
		height: 90%;
		margin: 30px auto auto;
	} */

/* createLightbox */
.idrLightbox {
  position: fixed;
  top: 50px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
  background-image: url(../cm_images/close.png);
  background-repeat: no-repeat;
  background-position: right 20px;
  background-size: 5%;
  cursor: pointer;
  z-index: 9999;
}

/* iframe 内包 */
.idrLightbox iframe {
  display: block;
  width: 90%;
  height: 90%;
  margin: 30px auto auto;
  border: none;
  background: #fff;
  border-radius: 8px;
}

/* モバイル対応 */
@media (max-width: 768px) {
  .idrLightbox {
    background-size: 8%;
    background-position: right 10px top 10px;
  }

  .idrLightbox iframe {
    width: 95%;
    height: 80%;
    margin-top: 20px;
  }
}

section .pc{display: block;}
@media (max-width: 768px) {
	section .pc{display: none;}
}


/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
#new {
	display: flex;
	flex-wrap: wrap;
	padding: 0 20px;
	height: 450px;
	height: 795px;
	overflow-y: scroll;
	background-color: #f5f5f5;
	border-radius: 5px;
	align-content: flex-start;
}
/* #new span.view_timer{width: 100%;}
#new span.view_timer dt{float: left;}
#new span.view_timer dd{float: left;} */

#new dt,
#new dd {
	border-bottom: 1px solid #ccc;
	padding: 10px 0;
}

#new dt {
	width: 8em;
}

#new dt span {
	display: none;
}

#new dd {
	width: calc(100% - 8em);
}

#news{
	min-height: 60vh;
}
#news-info a[href*=".pdf"]:after {
    padding-left: 5px;
    content: "\f1c1";
    font-family: "Font Awesome 5 Free";
    color: #fff;
}

body:not(.home) h3 {
	background-color: #eeeded;
	padding: 20px 15px;
	margin-bottom: 50px;
	text-align: center;
	border-bottom: 0px dotted #ccc;
	font-size: 1.5em;
}

.footer .contact h3 {
	background: none;
	padding: 0;
	text-align: left;
	border-bottom: 0px dotted #ccc;
	font-size: 1.5em;
}

#outline ul.disc {
	margin: 0;
}

#outline table.ta1 {
	width: 85%;
	border-top: none;
	border-top: 2px dotted #ccc;
	border-left: 2px dotted #ccc;
}

#outline table.ta1 tr {
	
	border-bottom: 2px dotted #ccc;
}

#outline .ta1 th,
.ta1 td {
	padding: 15px 10px !important;
	border-right: 2px dotted #ccc;
}

#outline .ta1 th {
	background-color: #f5f5f5;
	text-align: center;
}

#outline table.course {
	text-align: center;
}

#outline ul {
	padding-left: 1em;
}

#outline .coursehalf {
	color: #fff;
	background-color: #f39800;
}

#outline .course10 {
	color: #fff;
	background-color: #1d2088;
}

#outline .course5 {
	color: #fff;
	background-color: #8fc31f;
}

#outline .course1_5{
	color: #fff;
	background-color: #e4007f;
}
#outline .course5 h4,
#outline .course1_5 h4{
	margin-top: 0 !important;
}

#outline #mainimg-inner .link {
	background: linear-gradient(#0096ff, #0060ff);
}

h3{display: block;clear:both;}
#result {
	font-weight: bold;
}

#result ul {
	margin: 30px auto 50px;
	overflow: hidden;
	width: 50%;float: left;
}

#result ul li {
	color: #333;
	font-size: 18px;
	font-weight: 700;
	list-style-type: none;
	margin: 0 5% 10px 0;
	background-color: #e1f0ff;
	border-radius: 35px !important;
	justify-content: center;
	align-items: center;
	position: relative;

	text-align: center;
}
#result ul li.w {
	background-color: #ffe3f1;
}
#result ul li.g {
	background-color: #d9ffd9;
}

#result ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px 0;

	text-decoration: none;
	transition: 0.3s;

}

#result ul li a:hover {
	color: #f2f2f2;
	background-color: #9cf;
	border-radius: 35px !important;
}
#result ul li.w a:hover {
	background-color: #f9c;
}
#result ul li.g a:hover {
	background-color: #6c0;
}

#result ul.link{
 width: 100%;
	 display: flex;
	 flex-flow: row wrap;
	justify-content: center;

}
#result ul.link li {
	background-color: #ffead2;
	width: 45%;
}
#result ul.link li a:hover {
	background-color: #f60;
}

#result ul li a[href*=".pdf"]:after {
	padding-left: 5px;
	content: "\f1c1";
	font-family: "Font Awesome 5 Free";
	color: #F30401;
}

#result ul li a:hover[href*=".pdf"]:after {
	color: #f2f2f2;
}

#result .icon_sp a:after {
	padding-left: 5px;
	content: "\f1c1";
	font-family: "Font Awesome 5 Free";
	color: #F30401;
}

#result .icon_sp a:hover:after {
	color: #f2f2f2;
}

#result ul.oner{
	width:100%;
}
#result ul.oner li{
	width:50%;
	margin-right: auto;
	margin-left:auto;
}
main{overflow: hidden;}

#course .left-map {
	width: 55%;
	float: left;
	border:1px solid #f0861c}

#course .right-list {
	width: 43%;
	float: right;
}

#course  .left-map img,
#course .right-list img{
	width:100%;
}

#course table {
	margin: 10px 0 30px;
	border-right: 1px solid #ccc;
}

#course table th {
	text-align: center;
	background: #f5f5f5;
}

#course table th,
#course table td {
	border-left: 1px solid #ccc !important;
	border-right: 1px solid #ccc !important;
}

#course table td {
	line-height: 1;
	padding: 10px 5px !important;
}

#course ul {
	margin: 10px 0 30px;
}

/*お知らせ 詳細*/
#info .infoimg img{
	width:70%;
}
#info p.indent{
	text-indent: 1em;
	margin-bottom:0;
}
.ml10 {
	margin-left: 3em;
}

.mb40 {
	overflow: hidden;
}

.list-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: column;
}

.list {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-bottom: 30px;
	border: 1px solid #ccc;
	padding: 20px;
	background: #fff;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}

/*listボックス内のh4タグ*/
.list h4 {
	margin: 10px 0;
	font-size: 1.2em;
	font-weight: normal;
}

/*listボックス内のpタグ*/
.list p {
	margin: 0;
	font-size: 0.7em;
}

/*IE対策*/
.list div {
	min-height: 0%;
}

.list2 {
	display: flex;
	padding: 10px 0;
}

.list2 div {
	flex: 1;
}

.list2 figure {
	width: 40%;
	margin-right: 60px;
}

/*ボックス内のh4タグ*/
.list2 h4 {
	margin: 0;
	margin-bottom: 10px;
	color: #ff8400;
}

.list2 h4 a {
	color: #ff8400;
}

.list2 h4 a:hover {
	color: #333;
}

/*ボックス内のpタグ*/
.list2 p {
	margin: 0;
	font-size: 0.7em;
}


dl.line {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.7em;
	border-top: 1px solid #ccc;
}

/*左右のボックス*/
dl.line dt,
dl.line dd {
	border-bottom: 1px solid #ccc;
	padding: 0 5px;
}

/*左のボックス*/
dl.line dt {
	width: 8em;
	background: #f0f0f0;
}

/*右のボックス*/
dl.line dd {
	width: calc(100% - 8em);
}

.list2 dl.line dt:nth-of-type(1),
.list2 dl.line dd:nth-of-type(1),
.list2 dl.line dt:nth-of-type(2),
.list2 dl.line dd:nth-of-type(2) {
	border-top: none;
}

.pickup {
	position: relative;
	background: #f5f5f5;
	padding: 10px 5px;
}

.pickup .list {
	margin: 0 5px;
}

.pickup .list a {
	text-decoration: none;
	display: block;
}

.pickup .list h4 {
	font-size: 0.85em;
}

.slick-arrow {
	position: absolute;
	z-index: 1;
	bottom: 45%;
	background: rgba(0, 0, 0, 0.5);
	padding: 2px 7px;
	border-radius: 5px;
}

.slick-arrow:hover {
	cursor: pointer;
	opacity: 0.8;
}

.slick-prev::after,
.slick-next::after {
	display: block;
	content: "▼";
	color: #fff;
	font-size: 0.5rem;
}

.slick-prev {
	left: 0px;
}

.slick-prev::after {
	transform: rotate(90deg);
}

.slick-next {
	right: 0px;
}

.slick-next::after {
	transform: rotate(-90deg);
}


/*アイコン
---------------------------------------------------------------------------*/
.icon {
	display: inline-block;
	padding: 0 10px;
	background: #999;
	color: #fff;
	font-size: 0.7em;
}


.waku {
	background: #fff;
	color: #666;
	border: 1px solid #666;
}

.newicon {
    background: #F00;
    color: #FFF;
    font-size: 70%;
    line-height: 1.5;
    padding: 2px 5px;
    border-radius: 2px;
    margin: 0px 5px;
    vertical-align: text-top;
	text-decoration: none !important;
}

.upicon {
	background: #0078e8;
}

.option1 {
	background: #e80068;
}

.option2 {
	background: #5ab600;
}

.option3 {
	background: #ccc;
}



ul.menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.menu li {
	width: 100%;
	margin-bottom: 10px;
}


ul.menu a {
	display: block;
	padding: 10px 20px;
	border-radius: 5px;
	border: 1px solid #ccc;
	background: linear-gradient(#fff, #eee);
}


ul.menu a::before {
	content: "";
	border-left: 4px solid #ff8400;
	padding: 3px 15px 3px 0px;
}



.btn {
	text-align: center;
	color: #fff !important;
	text-decoration: none;
}


.btn a,
.btn input {
	display: inline-block;
	text-decoration: none;
	border: none;
	color: #fff !important;
	border-radius: 3px;
	padding: 10px 20px;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
	background: linear-gradient(#ffa800, #ff8400);
	font-size: 1rem;
}


.btn a:hover,
.btn input:hover {
	opacity: 0.9;
	cursor: pointer;
}


.list .btn a,
.list .btn input {
	margin-top: 10px;
	display: block;
}



.ta1 caption {
	border-top: 1px solid #ccc;
	font-weight: bold;
	padding: 10px 5px;
	background: #f5f5f5;
}

.ta1 {
	border-top: 1px solid #ccc;
	table-layout: fixed;
	width: 100%;
	margin: 0 auto 30px;
}

.ta1 tr {
	border-bottom: 1px solid #ccc;
}

.ta1 th,
.ta1 td {
	padding: 5px 5px;
	word-break: break-all;
}

.ta1 th {
	width: 30%;
	text-align: left;
}

ol.kk {
	margin-left: 3.5em;
	margin-right: 3em;

	margin-left: 0em;
	margin-right: 0em;
}

ol.kk li {
	list-style-type: none;
	counter-increment: cnt;
}

ol.kk li::before {
    content: "(" counter(cnt) ")";
    display: inline-block;
    margin-left: -3em;
    width: 3em;
}

ul.comment {
	padding-left: 40px !important;

}

ul.comment li {
	list-style-type: none;
	text-indent: -1em;
	padding-left: 1em;
}

ul.comment li::before {
	content: "◇";
}


.box1 {
	overflow: hidden;
	padding-bottom:50px;
}

#outline .access {
	padding: 0 30px;
	padding: 0 0px;
	overflow: hidden;
}

#outline .access h4 {
	text-align: center;
	position: relative;
	display: inline-block;
}

.access h3 {
	text-align: center !important;
	background: none !important;
}
.access h5 {
	border-bottom: 1px solid #bababa;
}

.access p {
	text-indent: -1em;
	padding: 10px 20px 10px 2em;
	margin-left: 0em;
	border-radius: 5px;
	background-color: #efefef !important;
}
.access img {
	width:80%;
	padding:10px;
	border: 3px solid #f7bc18;
	border-radius: 5px;
	background-color: #fcf8f3 !important;
}
.access .acc-info img{
	width:50%;
	height:100%;
	border:none;
	background-color:#fff !important;
}

.access .bg_orange {
	background-color: #ffead2 !important;
}
.access .bg_yellow {
	background-color: rgb(249, 249, 144) !important;
}

.access table{
	border-collapse:separate;
	border-spacing:8px;
	border:1px;
	margin: 30px 0;
}
.access table.case_1{
	width:100%;
}
.access table.case_1 td{
	text-align: center;
	border-radius: 3px;
	line-height: 1.1;
	padding: 5px 0;
}

.access ul.case{
	display: flex;
	list-style-type: none;
}
.access ul.case li{
	padding: 5px 5px;
	line-height:2em;
}
.access ul.case li span{
	padding: 5px 20px;
}
.lh2{
	padding: 1em 10px !important;
	margin:5px 10px;
}

/*よく頂く質問
---------------------------------------------------------------------------*/
.faq {
	padding: 0 5px;
}


.faq dt {
	border-radius: 10px;
	margin-bottom: 20px;
	background: linear-gradient(#fff, #f7f7f7);
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
	text-indent: -2em;
	padding: 5px 1em 5px 3em;
}


.faq dt::before {
	font-family: "Font Awesome 5 Free";
	content: "\f059";
	color: #ff8400;
	padding-right: 1em;
}

.faq dd {
	padding: 5px 1em 30px 3em;
}


.openclose {
	cursor: pointer;
}


/*新型コロナウイルス感染拡大防止のための特記事項・注意事項
---------------------------------------------------------------------------*/
#cvd19 {
	padding-right: 40px;
	padding-left: 40px;
}

.cvd19-note {
	font-weight: bold;
	border: 4px red solid;
	border-radius: 5px;
	padding: 20px;
	width: 90%;
	margin: 0 auto;
}

.cvd19-note li {
	list-style-type: none;
}

.cvd19-note li::before {
	content: "□";
	padding-right: 5px;
	color: red;
}

#entry .entrydate {
	font-size: 1.5em;
	font-weight: bold;
	padding: 0 0 30px;
	margin: 0;
	text-align: center;
}
/*新着情報*/
dl.newsdllist dd {
	margin-top: 30px;
}

main .news{
	min-height: 500px;
}

.news-inst{
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #045543;
	padding:20px 30px 20px 50px;
	margin-bottom: 30px;
	border-radius: 10px;
	background: #f2f1ec url(../cm_images/Instagram_Glyph_Gradient.png) left 10px center no-repeat;
	background-size: 30px;
	gap: 24px;
}
.news-inst a{
	color: #045543;
}
.news-inst-button{
	padding:8px 20px;
	background-color: #045543;
}
a.news-inst-button{
	color: #fff !important;
	letter-spacing: 0.05em;
	border-radius: 8px;
	text-decoration: none;
}
a.news-inst-button:hover{
	background-color: #5cc0aa;
}


.news-entry-button{
	padding:8px 20px;
	background-color: #045543;
}
a.news-entry-button{
	color: #fff !important;
	letter-spacing: 0.05em;
	border-radius: 8px;
	text-decoration: none;
}
a.news-entry-button:hover{
	background-color: #5cc0aa;
}
a.news-entry-button::before {
	font-family: "Font Awesome 5 Free";
	content: "\f35a";
	color: #fff;
	padding-right: 1em;
}

span.marker {
    background: linear-gradient(transparent 90%, #cacac9 15%);
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {
	display: block;
}
.pagetop a {
	display: block;
	text-decoration: none;
	text-align: center;
	width: 50px;
	line-height: 50px;
	position: fixed;
	right: 20px;
	bottom: 20px;
	color: #fff;
	border: 1px solid #fff;
	background: rgba(0, 0, 0, 0.4);
}

.pagetop a:hover {
	background: rgba(0, 0, 0, 0.8);
}


.specialbox {
	display: inline-block;
	margin-right: 10px;
}


.pager {
	margin-top: 30px;
	text-align: center;
	color: #999;
}

.pager a {
	display: inline-block;
	text-decoration: none;
	margin-bottom: 5px;
	padding: 0 10px;
	border: 1px solid #ff8400;
	background: #ff8400;
	color: #fff;
}

.pager a:hover {
	background: #fff;
	color: #ff8400;
}

.pager span {
	display: inline-block;
	margin-bottom: 5px;
	padding: 0 10px;
	border: 1px solid #ccc;
	background: #eee;
	color: #999;
}


/*詳細ページ
---------------------------------------------------------------------------*/
#item-image {
	position: relative;
	margin: 0 auto 20px;
	text-align: center;
	width: 100%;
}

#item-image img {
	width: 100%;
}

.thumbnail {
	width: 80px;
	border: 1px solid #dcdcdc;
	margin-bottom: 5px;
}

.thumbnail:hover {
	border: 1px solid #999;
}


/*パノラマ画像のサイズ設定（※CMS用）
---------------------------------------------------------------------------*/
.panorama-img {
	width: 100% !important;
	height: 200px !important;
}


/*その他
---------------------------------------------------------------------------*/
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

.color-theme,
.color-theme a {
	color: #ff8400 !important;
}

.color-check,
.color-check a {
	color: #f00 !important;
}

.c {
	text-align: center !important;
}

.r {
	float: right;
}

.l {
	float: left;
}

.ws {
	width: 95%;
	display: block;
}

.wl {
	width: 95%;
	display: block;
}

img.center{
	display: block;
	margin-right: auto;
	margin-left: auto;
}
.pr80{padding-right:80px !important;}
.mt30 {
	margin-top: 30px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb80 {
	margin-bottom: 80px !important;
}
.mb0{
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.mb0-1{
	margin-bottom: 0 !important;
}

.look {
	display: inline-block;
	border: 1px solid #ccc;
	padding: 5px 20px;
	background: rgba(0, 0, 0, 0.03);
	border-radius: 5px;
	margin: 5px 0;
}

.look2 {
	display: inline-block;
	font-size: 80%;
	font-weight: bold;
	padding: 0;
	margin: 0;
}

.ofx {
	overflow-x: hidden;
}

.close {
	display: none;
}

.db {
	display: block;
	height: 100% !important;
	overflow: auto !important;
}

.fs_b1 {
	font-size: 1.3em;
	color: #f60;
	font-weight: bold;
}

.fs_b2 {
	font-size: 1.4em;
	font-weight: bold;
}

.fs_b3 {
	font-size: 1.2em;
	font-weight: bold;
}

.lh {
	line-height: 1.2;
}
.lh10 {
	line-height: 1.0;
}

h2 span.subti {
	font-size: 80%;
	font-weight: normal;
	padding-left: 10px
}

.info {
	position: relative;
}

.home .info .info-special{
	/* font-size:95%; */
	line-height: 1.2;
	background-color: #ffc;
	padding: 10px 20px !important;
	margin: -20px 0px 10px !important;
	border-radius: 5px;
}
.home .info .info-special p {
	margin: 0 20px 5px !important;
}
.cr{clear:both;}

.notic {
	position: absolute;
	top: 30px;
	right: 20px;
	padding: 5px 20px;
	font-size: 90%;
	background-color: red;
	border-radius: 5px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	margin: -5px 0 0 10px;
}

.notic a {
	color: #fff;
}

main {
	position: relative;
}

img.ir {
	position: absolute;
	top: 0;
	right: 0;
	width: 10%;
}
img.ir2 {
	float: right;
}

img.il {
	float: left;
}

.w80 {
	width: 75%
}

hr.dott {
	border: none;
	border-bottom: 2px dotted #f60;
}
hr.none {
	border: none;
}

.indent{text-indent: 1em;}
.indent1{text-indent: -1em;padding-left:1em;}

.tousen{
	background: url(../cm_images/crk.png) center bottom 0 no-repeat;
	background-size:100%;
}
.tousen ul{
	padding-left: 0px !important;
	padding-inline-start: 0px;
	margin-left: 0px;
	float:left;
}
.tousen ul li{
	display: inline-block;
	list-style-type: none;
	border-radius: 5px;
	padding: 10px 10px;
	margin: 5px 5px !important;
	background: rgb(250, 231, 204);
	text-indent: 0em;
	width:200px;
}

.result-area {
	max-width: 840px;
	margin: 60px auto 100px;
	padding: 0 20px;
}

.result-area h1 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
}

.result-area .lead {
	font-size: 15px;
	margin-bottom: 30px;
	line-height: 1.7;
	}

.result-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 20px;
}

.result-table th,
.result-table td {
	padding: 14px;
	border-bottom: 1px solid #ccc;
	font-size: 16px;
}

.result-table th {
	background-color: #f5f5f5;
	font-weight: bold;
}

.result-table td {
	text-align: center;
}
.result-table th {
	background-color: #eee;
}

@media screen and (max-width: 600px) {
	.result-area h1 {
		font-size: 20px;
	}
	.result-table th,
	.result-table td {
		font-size: 14px;
	}
}

table.runasone{
	width: 100%;
	margin: 20px 10px;
	border-collapse: collapse;
	border-spacing: 0;
	border-radius: 6px;
}
table.runasone tr{
	text-align: right;
	border-left: 5px solid #fff;
}
table.runasone th{
	font-weight: normal;
	border-right: 5px solid #fff;
}
table.runasone td{
	border-radius: 5px;
	text-align: center;
	border-right: 5px solid #fff;
	padding: 10px 5px;
	background:  rgb(250, 231, 204);
}
.mr50{margin-right: 0px;}

.fc-white{
	color:#fff;
}
.bg_half{
	background: #f39800 !important;
}
.bg_blue{
	background: #1d2088 !important;
}
.bg_green{
	background: #8fc31f !important;
}
.bg_pink{
	background: #e4007f !important;
}

.bg-yel {background-color: yellow !important;}

.dsp-inb{
	display: inline-block;
	margin-right: auto;
	margin-left: auto ;
}
.mb20{
	margin-bottom: 20px;
}
.fnt-80{
	font-size:80%;
}
.fnt-120{
	font-size:120%;
}
.cursor {
    cursor: pointer;
}
.center-add{
	display: flex;
	justify-content: center;
	align-items:flex-start;
}

/*---------------------------------------------------------------------------
画面が縦向きの場合の追加指定
---------------------------------------------------------------------------*/
@media screen and (orientation:portrait) {


	/*トップページのメイン画像
---------------------------------------------------------------------------*/

	mainimg-inner span {
		display: block;
	}


	.sp{display:block}
}

/*---------------------------------------------------------------------------
画面幅900px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width:900px) {

	/*全体の設定
---------------------------------------------------------------------------*/
	html,
	body {
		/* font-size: 14px; */
	}

	section+section {
		padding-top: 50px;
	}

	/*header
---------------------------------------------------------------------------*/
	header {
		animation-name: opa2;
		animation-duration: 1s;
		animation-fill-mode: both;
	}

	/*ヘッダーブロック*/
	header {
		position: fixed;
		z-index: 99;
		align-items: center;
		box-shadow: 0px 0px 30px 10px rgba(0, 0, 0, 0.2);
		width: 100%;
		top: 0px;
		left: 0px;
		padding: 0 calc((100% - 1200px) / 2);
		border-bottom: 3px solid #f60;
		background-color: #fff;
		/* background-image: url(../cm_images/bg_logo.png);
		background-position: bottom 20% left 50%;
		background-repeat: no-repeat;
		background-size: 60%; */
		text-align: center;
	}
	header .header-bg{
		background: rgba(255,255,255,0.8);
		overflow: hidden;
	}

	#container {
		margin: 130px auto 50px !important;
	}

	header #logo {
		position: static;
		background: none;
		border-radius: 0px;
		text-align: center;
		padding: 5px 0 10px 20px;
		width: 450px;
		float: left;
		top: 20px;
		left: 20px;
	}

	/*menubar（.pcは900px以上メニュー）
---------------------------------------------------------------------------*/
	#menubar {
		height: auto;
		overflow: visible;
		width: 100%;
		padding-right: 0px;
		float: right;
		overflow: hidden;
		max-width: 1200px;
	}

	#menubar .on{
		color: #f60;
	}
	#menubar_hdr {
		display: none;
	}
	.sp{display: none;}

	.pc {
		display: block;
	}

	.pc>ul {
		flex: 1;
		width: 100%;
	}

	.pc li {
		text-align: center;
		flex: 1;
		position: relative;
		padding: 0 40px;
		float: left;
		width:calc(100% / 6);
		background: rgba(255,255,255,0.4);
	}

	.pc li.ot {
		padding: 0 0px;
	}

	.head-right {
		font-size:16px;
		float: right;
	}

	.head-right span {
		padding: 20px 15px 0 0;
		font-size: 1.5em;
		font-weight: bold;
	}

	.days {
		padding: 7px 10px 0;
		font-size: 80% !important;
		line-height: 1.1;
		float: right;
		border-radius: 0px;
		color: #fff;
		background-color: #f60;
		margin: 0px 0px 0 0;
		text-align: right;
		color: #f60;
		background-color: #000;
	}

	.days strong {
		font-size: 2em !important;
		font-weight: bold;
	}

	.pc ul ul {
		position: absolute;
		width: 100%;
	}

	.pc .ddmenu_parent ul li a {
		border: 1px solid #ccc;
		border-top: none;
	}

	.pc .ddmenu_parent ul li:first-of-type a {
		border-top: 1px solid #ccc;
	}

	/*mainブロック設定
---------------------------------------------------------------------------*/
	/*mainブロックの設定*/
	main {
		margin: 0px 0px 80px;
	}

	/*フッターメニュー設定
---------------------------------------------------------------------------*/
	/*ボックス全体の設定*/
	#footermenu {
		padding: 20px 20px;
	}

	/*トップページのメイン画像
---------------------------------------------------------------------------*/
	#mainimg-inner {
		flex-direction: row;
	}

	#mainimg-inner div {
		width: 40%;
		width: 450px;
	}

	#mainimg-inner div a {
		padding: 20px 40px;
	}

	#mainimg-inner div+div {
		margin-top: 0;
		margin-left: 10%;
	}

	#mainimg-inner span {
		display: block;
		font-size: 1.5rem;
	}

	#mainimg-inner i {
		margin-right: 0.4em;
	}

	/*--------------------*/
	#mainimg2-inner {
		flex-direction: row;
	}

	#mainimg2-inner div a {
		padding: 15px 10px;
	}

	#mainimg2-inner div + div {
		margin-top: 0;
		margin-left: 10%;
	}

	#mainimg2-inner span {
		display: block;
		font-size: 1.5rem;
	}

	#mainimg2-inner i {
		margin-right: 0.4em;
	}
	/*--------------------*/

	/*スクロールを促すアイコン*/
	.scroll {
		bottom: 20px;
		width: 40px;
	}

	.scroll a {
		display: inline-block;
		position: absolute;
		right: 0px;
		bottom: 0;
		z-index: 2;
		padding: 10px 10px 110px;
		overflow: hidden;
		color: #fff;
		font-size: 14px;
		font-family: 'Josefin Sans', sans-serif;
		line-height: 1;
		letter-spacing: .2em;
		text-transform: uppercase;
		text-decoration: none;
		writing-mode: vertical-lr;
	}

	.scroll a::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 1px;
		height: 100px;
		background: #fff;
	}

	.scroll a::after {
		animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
	}

	@keyframes sdl {
		0% {
			opacity: 1;
			transform: scale(1, 0);
			transform-origin: 0 0;
		}

		30% {
			transform: scale(1, 1);
			transform-origin: 0 0;
		}

		30.1%,
		70% {
			transform: scale(1, 1);
			transform-origin: 0 100%;
		}

		100% {
			opacity: 0;
			transform: scale(1, 0);
			transform-origin: 0 100%;
		}
		
	}


	/*フッターメニュー設定
---------------------------------------------------------------------------*/
	/*ボックス全体の設定*/
	#footermenu {
		padding: 20px 20px;

	}

	.home .info {
		float: left;
		width: 55%;
	}
	.home .entrysyu {
		float: right;
		width: 43%;
		padding: 0 20px;
	}

	/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
	/*日付(dt)設定*/
	#new dt {
		width: 14em;
		display: flex;
		justify-content: space-between;
	}

	#new dt span {
		display: inline-block;
		width: 6em;
		background: #f0861c;
		color: #fff;
		font-size: 0.9em;
		text-align: center;
		border-radius: 3px;
		margin-right: 1.2em;
		align-self: flex-start;
		line-height: 1.5;
		position: relative;
		top: 0.2em;
	}

	#new dt span.icon-bg1 {
		background: #f32218;
	}

	#new dd {
		width: calc(100% - 14em);
	}

	.list-container {
		flex-direction: row;
	}

	.list {
		width: 49%;
	}

	.list2 {
		padding-right: 10px;
		padding-left: 10px;
	}

	.list2 dl.line dd {
		width: calc(50% - 8em - 10px);
		margin-right: 10px;
	}

	.list2 dl.line {
		border-top: none;
	}

	.list2 dl.line dt:nth-of-type(1),
	.list2 dl.line dd:nth-of-type(1),
	.list2 dl.line dt:nth-of-type(2),
	.list2 dl.line dd:nth-of-type(2) {
		border-top: 1px solid #ccc;
	}
	.p0{padding: 0 !important;}	
	.mb30{margin-top: 30px;}

	.list2-course {
		position: relative;
		padding: 0 10px;
		margin: 10px 5px 0 0;
		border: 1px solid #ccc;
	}

	.slick-prev {
		left: -15px;
	}

	.slick-next {
		right: -15px;
	}

	ul.menu {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	ul.menu li {
		width: 49%;
		margin-bottom: 20px;
	}

	ul.menu a {
		padding: 20px 30px;
	}

	.ta1 caption {
		padding: 20px 15px;
	}

	.ta1 th,
	.ta1 td {
		padding: 10px 15px;
	}

	.ta1 th {
		width: 20%;
	}
	.pagetop a {
		right: 50px;
		bottom: 50px;
	}
	#item-image {
		width: 80%;
	}
	.panorama-img {
		height: 500px !important;
	}

	.ws {
		width: 48%;
		display: inline;
	}

	.home #mainimg {
		background-size: auto;
	}

	.guest dl {
		margin-left:2em;
	}
	.guest dl dt {
		float:left;
		width:30%;
	}
	.guest dl dd {
		margin-left: 35%;
	}

	.other2 ul li {
		width: calc(98% / 3);
	}
	/* .other2 ul li.wd40 {
		width: calc(80% / 2);
	}
	.other2 ul li.wd20 {
		width: calc(98% - 80%);
	} */
	.other2 ul li:first-child{
		margin-right:1%;
	}
	.other2 ul li{
		margin-right:1%;
	}
	.other2 ul li:last-child{
		margin-right:0;
	}
	.other2 ul li h2 {
		font-size:1.2em;
	}

	ol.kk {
		margin-left: 3.5em;
		margin-right: 3em;
	}
	ol.kk li::before {
		content: "(" counter(cnt) ")";
		display: inline-block;
		margin-left: -3em;
		width: 3em;
	}
	dl.newsdllist {
		margin-left:2em;
	}
	dl.newsdllist dt {
		float:left;
		width:60%;
	}
	dl.newsdllist dd {
		margin-left: 65%;
	}
	.couse_pc{display: block;}
	.couse_sp{display: none;}

		

/* createLightbox */
.idrLightbox {
    position: fixed;
    background-color: rgba(0,0,0, 0.7);
    background-image: url(../cm_images/close.png);
    background-position: calc(50% + 530px) 20px;
    background-repeat: no-repeat;
    background-size: 30px;    
    cursor:pointer;
    top: 100px;
    bottom: 0;
    left: 0;
    right: 0;
}
.idrLightbox iframe {
    display: block;
    width: 1000px;
    height: 90%;
    margin: 30px auto auto;
}
}
@media screen and (min-width:802px) {
		.mr50{margin-right: 100px;}
}

/*---------------------------------------------------------------------------
画面幅900px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width:900px) {

	#menubar ul {
	    background-color: #fff;
		border-radius: 5px;

	}
	#menubar{
		width:100%;
		background: rgb(0,0,0,0.8);
		background-image:url(../cm_images/logo_res.png);
		background-repeat: no-repeat;
		background-size: 80%;
		background-position: 20px 10px;
	}
	#menubar ul li{
	    padding: 5px 0;
	}

	.head-right {
		float: right;
		padding: 60px 15px 0 15px;
	}

	.head-right span {
		font-size: 1.5em;
		font-weight: bold;


	}
	.days {
		font-size: 80% !important;
		padding: 7px 10px 0;

		line-height: 1.1;
		float: right;

		border-radius: 0px;
		margin: 0px 0px 0 5px;

		text-align: right;

		color: #f60;
		background-color: #000;
	}

	.days strong {
		font-size: 2em !important;
		font-weight: bold;
	}

	#outline .access {
		padding-left: 5px;
		overflow: hidden;
	}
	.access .acc-info {
		clear:both;
		width:100%;
	}

	#outline .access h4 {
		display: block;
		margin-right: auto;
		margin-left: auto;
	}

	.w80 {
		width: 100%;
	}

	.home #mainimg {
		background-image: url(../cm_images/bg_home.png);
		background-size:cover;
	}
	header {
		position: absolute;
		top:0;
		width:100%
	}
	.notic {
		top: 10px;
	}

	#new {
		height: auto;
	}

	.entrysyu{
		margin-top:50px;
	}

	.other ul {
		display: block;

		list-style-type: none;
		padding-left: 0;
	}
	.other ul li{
		width:48%;
		float:left;
		margin-bottom: 5px;;
	}
	.other .pc{display: none;}

	#outline #mainimg-inner {
		flex-direction: row;
		width:100%;
	}

	#course .left-map {
		width: 100%;
		clear: left;
		margin: 0 auto;
		text-align: center;
	}

	#course .right-list {
		width: 100%;
		clear: right;
	}
}

@media screen and (max-width: 1200px) {

	.pc li {
		padding: 0em 0px !important;
		width:calc(100% / 6);
		height:3em;
	}
	.pc li.ot {
		width:20%;
	}
}

@media screen and (max-width: 1199px) {
	.pc li.ot {
		line-height:1;
	}
	br.sp{display: block;}
	.fs_b1,.fs_b2 {
		font-size: 1.3em;
	}
}

@media screen and (max-width: 830px) {
	br.sh{
		display: block;
	}
}
@media screen and (max-width: 550px) {
	h2{font-size: 1.3em !important;}
	h3{font-size: 1.2em !important;}
	.home #mainimg {
		background-image: url(../cm_images/bg_home_s2.png);
	}

	.notic {
		position: static;
	}

	ul.course {
		display: block;
	}
	ul.course li{
		width:50%;
		float:left;
	}

	.home .entry-button li {
		width: 48%;
		padding: 5px 5px;
		font-size:90%;
	}

	.other2 ul li {
		width: 100%;
	}
	.other2 ul li:first-child {
		margin-right: 0;
	}

	br.none{display:none;}

	#outline table.course {
		width: 80%;
	}
	#outline table.course .thead {
		display: none;
	}
	#outline table.course tr {
		width: 100%;
		position:relative;
	}
	#outline table.course td {
		display: block;
		text-align: right;
		text-align: left;
		width: 100%;
		padding:0 !important;
		border-bottom:1px dotted #ccc;
	}
	#outline table.course td:first-child {
		font-weight: bold;
		text-align: center;
	}
	#outline table.course td:before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
		margin-right: 10px;
		width: 50%;
	}
	#outline table.course td.or1:before {
		height:40px;
	}
	#outline table.course td.or2:before {
		height:120px;
	}
	#outline table.course td.or3:before {
		height:170px;
	}

	/*お知らせ 詳細*/
	#info .infoimg img{
		width:100%;
	}

	ul.comment {
		padding-left: 0px !important;
	}
	ol{
		padding-left:0;
	}

	ol.kk {
		margin-left: 2em;
	}
	ol.kk li::before {
		margin-left: -2em;
		width: 2em;
	}

	#mainimg-inner span {
		font-size: 1rem;
	}

	#outline table.ta1 {
		width: 100%;
	}
	.access img {
		width: 100%;
	}
	.access .acc-info img{		
	padding:10px 0;
		width:100%;
	}

	#entry .link{
		margin:0 auto 20px;
	}
	#outline #mainimg-inner, #entry #mainimg-inner {
		margin-bottom: 10px;
	}
	#result ul {
		display: block;
		width:100%;
		padding-right: 40px;
		margin:10px;
	}

	#result ul li,
	#result ul.oner li {
		 width: 100%;
	}

	#course .left-map {
		width: 100%;
		clear: left;
	}

	#course .right-list {
		width: 100%;
		clear: right;
	}

	#cvd19 {
		padding-right: 10px;
		padding-left: 10px;
	}

	.cvd19-note {
		padding: 5px;
	}
	.cvd19-note ul {
		padding-left: 10px;
	}
	footer ul.sponsor li {
		margin-right: 0px !important;
	}

	header #logo {
		padding: 15px 10px;
	}

	.list2 {
		display: block;
	}

	.list2 figure {
		width: 100%;
		margin-right: 0px;
		margin-top: 10px;
	}
	.list2 div {
		flex: 2;
	}
	.list2 .pc{display: none;}

	main h2 {
		margin-bottom: 20px;
	}

	#footermenu {
		padding: 0 5px;
	}
	footer .contact {
		padding: 0 5px 2em;
		line-height: 1.2;
	}
	footer small {
		font-size: 80%;
	}
	.runasone-ul{}

	.couse_pc{display: none;}
	.couse_sp{display: block;}

}

@media screen and (max-width: 559px) {
	.home .entry dl {
		flex-flow: column;
	}
}

@media screen and (max-width: 350px) {
	.head-right span{
		font-size: 1.2em;
	}
	.days {
		font-size: 60% !important;
	}
}

@media screen and (max-width: 683px) {
	#mainimg2-inner {
		height: 15vh;
	}
	#mainimg2-inner div {
	font-size:70%;
	}
	#mainimg2-inner div a {
		padding: 5px;
	}
	#mainimg2-inner span {
		font-size: 1rem;
	}
}

@media screen and (max-width: 460px) {
	#mainimg2-in {

		height:160px;
	}
	#mainimg2-inner div {
	font-size:45%;
	}
	#mainimg2-inner div a {
		padding: 5px;
	}
	#mainimg2-inner span {
		font-size: 1rem;
	}
}

@media screen and (max-width: 441px) {

	#mainimg2-inner div {
		width: 100%;
		font-size:6px;

	}
	#mainimg2-inner div a {
		padding: 5px 0;
	}
	#mainimg2-inner span {
		font-size: 0.7rem;
	}

	header #logo {
		padding: 5px 0px;
	}
	.head-right {
		float: left;
		padding: 50px 0 0 0;
	}
	#mainimg2-image {
		padding-top: 100px;
	}
	#menubar_hdr {
		top: 2px;
		right: 2px;
	}
	#new {
		display: block;
		padding: 0 5px;
	}
	#new dt,
	#new dd {
		width: 100%;
	}
	#new dt {
		border-bottom: 0px solid #ccc;
		padding: 5px 0 0;
	}
	#info p{
		margin-right:10px;
		margin-left:10px;
	}
	#info .pr80 {
		padding-right: 0px !important;
	}
}