@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/*
.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
*/
/* RESET
----------------------------------------------------------------------------------------------------*/
a,article,body,dd,div,dl,dt,em,form,footer,header,h1,h2,h3,h4,h5,h6,html,i,iframe,img,legend,nav,ol,p,
section,main,span,table,tbody,tfoot,thead,time,tr,th,td,ul,video{
  font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;
  white-space:normal;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.6;
  text-align:left}
textarea{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;
  margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.6;text-align:left}
article,footer,header,nav,section,main{display:block}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}
*, *::before, *::after { box-sizing: border-box; margin:0; padding:0; }
/*----------------------------------------------------------------------------------------------------*/

:root {
	--main-color:rgba(236, 103, 172, 1.0);
	--main-color-l:rgb(237, 144, 192);
  --sub-color:rgba(80, 204, 208, 1.0);
	--base-color:rgba(63, 63, 63, 1.0);
  --red-color:rgba(210, 56, 56, 1.0);
  --brown-color:rgba(166, 133, 133, 0.8);
  --red-color:#d23838;
}
html {
  scroll-behavior: smooth;
}
body { 
	font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size:16px;
  color:var(--base-color);
}
a:link {
  color:var(--red-color);
}
a:visited {
   color: rgb(161, 95, 95);
}
a:hover {
  color:blue;
}
img {
  width:100%;
  margin:0;
  padding:0;
  line-height:0;
  vertical-align: bottom;
  border:0;
}
h2.toujitu-dame {
  width:auto;
  margin-right:auto;
  margin-left:auto;
  display:flex;
  justify-content: center;
  padding:10px 14px;
  color:var(--main-color);
  font-size:19px;
  line-height:140%;
  background:rgba(248, 229, 241, 0.6);
  margin-bottom:60px;
  border-radius: 15px;
}
/* 本文は PC では 120px 下げる */
main {
  margin-top: 120px;
  padding:0;
  width:100%;
}
section {
  width:100%;
  padding-bottom:60px;
  padding-top:60px; 
}
.inner {
    display:block;
    width:calc(100% - 40px);
     max-width:1300px;
     margin-right:auto;
     margin-left:auto;
}
h1 {
     font-size: 20px;
     font-weight:500;
}
h2 {
     font-size: 25px;
     font-weight:700;
     margin-bottom:40px;
}
h3 {
     font-size: 23px;
     font-weight:700;
     margin-bottom:20px;
     color:var(--main-color-l);
}
h4 {
     font-size: 20px;
     font-weight:700;
     margin-bottom:20px;
     color:var(--main-color-l);
     line-height:140%;
}
h5 {
    font-size: 16px;
    font-weight:600;
    margin-bottom:10px;
    border:1px solid var(--base-color);
    padding:2px 6px;
}
p {
  margin-bottom:25px;
}
/* 各セクションの背景 */

#gaiyou, #past {
  background-image:url(../img/shinsaku-right.png),url(../img/shinsaku-left.png);
  background-repeat:no-repeat;
  background-size:450px,450px;
  background-position: left 10% top 140px,right 10% bottom 20px;
  background-color:rgba(255,255,255,0.9);
  background-blend-mode:lighten;
}
#moushikomi {
  background:rgba(255, 238, 254, 0.5);
}
#kisei {
  background-image:url(../img/sakura-right.png);
  background-size:55%;
  background-repeat:no-repeat;
  background-position: right 0px bottom 0px;
  background-color:rgba(255, 238, 254, 0.5);
  background-blend-mode:lighten;
}
#toiawase  {
  background-image:url(../img/bridge.jpg);
  background-repeat:no-repeat;
  background-size:cover;
  background-position: center center;
  background-attachment: fixed;
  background-color:rgba(255,255,255,0.7);
  background-blend-mode:lighten;
}
#access, #syusai {
  background:rgba(255, 255, 236, 0.5);
}
/* トップのイメージ画像　*/
#topimage-sec {
  width:100%;
  max-height:400px;
  height:auto;
  padding-top:0px;
  padding-bottom:0px;
  background-image:url(../img/topimg.png);
  background-repeat:no-repeat;
  background-size: cover;
  background-position:center;
  display:flex;
  justify-content: center;
}
.topimage-pc {
  width:100%;
  max-width:1200px;
  max-height:400px;
  height:auto;
}
.topimage-sf {
  display:none;
}



/*h2用　見出し*/
.fukidashi {
  display:inline-block;
  position: relative;
  padding: 10px 15px;
  color: #fff;
  border-radius: 10px;
  background:var(--sub-color);
}
.fukidashi:after {
  position: absolute;
  bottom: -9px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: var(--sub-color) transparent transparent transparent;
}
/* h3用　見出し */
.nml {  
  margin-bottom:20px;
  position: relative;
  padding: 1rem 0.7rem;
}
.nml:before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 7px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, var(--brown-color), var(--brown-color) 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, var(--brown-color), var(--brown-color) 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;

}
/* 赤字で注意文 */
.cpoint, .tyuui1, .moushikomi-start p span, #toiawase dd span, .moushikomi-start div p.moushikomi-seigen  {
  color:var(--red-color);
  font-size:140%;
  font-weight:700;
}
.tyuui {
  color:var(--red-color);
  font-size:16px;
  font-weight:600;
}
.cpoint span {
  display:inline-block;
}
/* ---- 概要 ---- */
.sankaryou {
  display:flex;
  flex-flow: wrap;
  align-items: center;
  justify-content: space-between;
}
.sankaryou .muryou {
  width:60px;
}
.sankaryou p {
  width:calc(100% - 80px);
  margin-bottom:0;
}
.gaiyou-set {
  display:flex;
  justify-content: space-between;
}
.gaiyou-clm {
  width:calc(100% - 30% - 20px);
  display:flex;
  flex-flow: wrap;
  justify-content: space-between;
  box-sizing: border-box;
}
.gaiyou-clm h4 {
  font-size:17px;
  font-weight:600;
}
/*.gaiyou-clm h5 {
  font-weight:600;
  padding-bottom:4px;
  margin-bottom:4px;
  border-bottom:1px solid #ccc;
}*/
.gaiyou-clm div {
  width:100%;
  margin-right:20px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.8);
  margin-bottom:20px;
  border-radius:6px;
  box-shadow: 0px 0px 8px 2px #efefef;
}
.gaiyou-clm div div {
  box-shadow:none;
  padding:8px 0;
  margin-right:none;
  margin-bottom:0;
}
div.courselist {
  width:100%;
  max-width:400px;
  padding:16px;
  background: rgba(255, 255, 255, 0.8);
  border-radius:6px;
  box-shadow: 0px 0px 8px 2px #efefef;
  align-self:flex-start;
}
.course-bunki {
  display:flex;
  justify-content: space-between;
}
.course-bunki div {
  width:49%;
  padding:15px!important;
  margin-bottom:0;
  margin-right:0;
  background:#fbeef5;
}
.course-bunki div h5 {
  display:inline-block;
  margin-left:0;
  margin-right:auto;
  margin-bottom:0;
}
.course-bunki div p {
  width:100%;
  padding:0;
  margin-top:5px;
  margin-bottom:0;
}

/* ---- 申し込み ---- */
ul.moushikomi-tyuui {
    width: 100%;
    list-style-position: outside;
    list-style-type: disc;
}
ul.moushikomi-tyuui li {
	margin-left:30px;
	margin-bottom:10px;
  padding-bottom:3px;
  border-bottom:1px dotted #ccc;
  font-weight:600;
}
.moushikomi-start {
  margin-top:30px;
  margin-bottom:30px;
  padding:45px 10px;
  width:100%;
  display:flex;
  flex-flow: column;
  background:#fff;
  background-image:url(../img/moushikomi-shinsaku.png);
  background-size: 35%;
  background-position: left center;
  background-repeat: no-repeat;
  border-radius:6px;
  box-shadow: 0px 0px 8px 2px #efefef;
}
.moushikomi-start div {
  width:100%;
  padding:0 0 0 38%;
  display: flex;
  flex-flow: column;
}
.moushikomi-start div h5 {
  display:inline-block;
  margin-left:0;
  margin-right:auto;
}
.moushikomi-start div p.moushikomi-seigen {
  display:inline-block;
  margin-left:0;
  margin-right:auto;
  padding-bottom:4px;
  border-bottom:5px solid var(--sub-color);
}

/* 申し込みにリンクするボタン */
a.moushikomi-btn {
	display:flex;
  justify-content: center;
  align-items: center;
	background:#0000ff;
	color:#fff;
	width:100%;
  height:80px;
	max-width:300px;
	margin:30px auto;
	font-size:17px;
	font-weight:700;
	text-decoration: none;
  border-radius:100vh;
}
a:hover.moushikomi-btn {
	opacity: 0.5;
}
a:active.moushikomi-btn {
  background:#fff;
}
/* 申し込みSTEP */
.moushikomi-h2 {
  margin-top:30px;
  margin-bottom:20px;
  color:var(--red-color);
}
.moushikomi-h2:before {
  display:inline-block;
  content:"";
  width:35px;
  height:35px;
  background-image: url("../img/moushikomi.png");
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 10px;
  vertical-align: middle;
}
.moushikomi-step {
  display:flex;
  flex-flow: wrap;
  justify-content: space-between;
  margin-top:20px;
}
.moushikomi-step div {
  width:calc((100% - 30px) /2);
  margin-bottom:30px;
  background:#fff;
  border-radius:6px;
  padding:20px;
  box-shadow: 0px 0px 8px 2px #efefef;
}
.moushikomi-step h4.nml {
  padding-left:0;
}
.moushikomi-step h4.nml span {
  background:var(--sub-color);
  color:#fff;
  padding:3px 7px;
  margin-right:5px;
}
.moushikomi-step div p {
  font-size:95%;
}
.moushikomi-step div ul {
  font-size:95%;
  padding:15px 15px 10px 15px;
  border:1px solid var(--base-color);
  list-style-position: outside;
  list-style-type: disc;
}
.moushikomi-step div ul li {
  margin-left:10px;
  line-height:140%;
  margin-bottom:8px;
}
.moushikomi-step div ul li span {
  color:var(--red-color);
}
.moushikomi-step div div {
  font-size:95%;
  font-weight:600;
  box-shadow: none;
  border-radius:0;
  width:100%;
  margin-bottom:15px;
  background:rgba(80, 204, 208, 0.2);
}
.moushikomi-step div div span {
  color:var(--red-color);
  font-weight:700;
}
.moushikomi-cancel {
  display:flex;
  flex-flow: wrap;
  justify-content: space-between;
  margin-top:20px;
}
.moushikomi-cancel div {
  width:100%;
  margin-bottom:30px;
  background:#fff;
  border-radius:6px;
  padding:20px;
  box-shadow: 0px 0px 8px 2px #efefef;
}
.moushikomi-cancel div p {
  font-size:95%;
  margin-bottom:0;
}
/* ---- コース・イベント ---- */
.course-img {
  margin:0;
  padding:0;
  display:flex;
  flex-flow: wrap;
}
.course-img img {
  width:calc(100% / 4);
}
.course-img img:nth-child(1) {
  background:rgb(255, 250, 220);
}
.course-img img:nth-child(2) {
  background:rgb(222, 255, 253);
}
.course-img img:nth-child(3) {
  background:rgb(254, 232, 255);
}
.course-img img:nth-child(4) {
  background:rgb(226, 255, 238);
}
p span {
  color:var(--red-color);
  font-weight:600;
}
p span.bd {
  border: 1px solid #000;
  padding:2px 4px;
  margin-right:3px;
  margin-left:3px;
  font-weight:600;
}
/* ---- アクセス ---- */
.access-table h4 {
  color:var(--base-color);
}
p.outer-setsumei {
  display:none;
}
.access-table {
  display:flex;
  flex-flow: wrap;
  justify-content: space-between;
  margin-top:20px;
}
.access-table div {
  width:100%;
  margin-bottom:30px;
  background:#fff;
  border-radius:6px;
  padding:20px;
  box-shadow: 0px 0px 8px 2px #efefef;
}
ul.access-tyuui {
    width: 100%;
    list-style-position: outside;
    list-style-type: disc;
}
ul.access-tyuui li {
  font-size:95%;
	margin-left:30px;
	margin-bottom:10px;
  padding-bottom:3px;
  border-bottom:1px dotted #ccc;
}
ul.access-tyuui li span {
  color:var(--red-color);
  font-weight:600;
}
/*2カラム*/
div.access-table-clm2 {
  border-radius:0;
  box-shadow:none;
  display:flex;
  flex-flow: wrap;
  justify-content: space-between;
  padding:0;
}
div.access-table-clm2 div {
  width:49%;
  border-radius:0;
  box-shadow:none;
  padding:0;
  margin-top:30px;
}
div.access-table-clm2 table {
	border-collapse: collapse;
	width: 100%;
	margin:0;
}
div.access-table-clm2 table caption {
    padding-bottom: 5px;
    text-align: left;
    font-weight:700;
}
div.access-table-clm2 table th {
    text-align: center!important;
    font-weight:600;
}
div.access-table-clm2 table td, div.access-table-clm2 table th {
  /*width:calc(100% / 10);*/
  font-size: 83%;
	border: 1px solid #999;
	padding-top: 1px;
	padding-right: 2px;
	padding-left: 2px;
	padding-bottom: 1px;
	white-space: nowrap;
}
div.access-table-clm2 table th {
	background-color: #E9E9E9;
}
div.access-table-clm2 table td {
	text-align: center;
}
/*1カラム*/
div.access-table-clm1 {
  border-radius:0;
  box-shadow:none;
  display:flex;
  flex-flow: wrap;
  justify-content: center;
  padding:0;
}
div.access-table-clm1 div{
  width:100%;
  border-radius:0;
  box-shadow:none;
  padding:0;
  margin-top:30px;
}
div.access-table-clm1 table {
	border-collapse: collapse;
	width: 100%;
	margin:0;
}
div.access-table-clm1 table caption {
    padding-bottom: 5px;
    text-align: left;
    font-weight:700;
}
div.access-table-clm1 table th {
    text-align: center!important;
    font-weight:600;
}
div.access-table-clm1 table td, div.access-table-clm1 table th {
  width:calc(100% / 10);
  font-size: 83%;
	border: 1px solid #999;
	padding-top: 1px;
	padding-right: 2px;
	padding-left: 2px;
	padding-bottom: 1px;
	white-space: nowrap;
}
div.access-table-clm1 table th {
	background-color: #E9E9E9;
}
div.access-table-clm1 table td {
	text-align: center;
}

/* ---- 交通規制 ---- */
.koutsuu-kisei {
  display:flex;
  flex-flow: wrap;
  gap: 25px;
}
.koutsuu-kisei div{
  flex: 1;
  padding: 20px;
  /*border:1px solid #ccc;*/
  border-left:15px solid rgba(236, 103, 172, 0.4);
  background:rgba(255, 255, 255, 0.75);
  box-shadow: 0px 0px 8px 2px #efefef;
  margin-bottom:20px;
}
.koutsuu-kisei div dl {
  padding:0;
  margin:0;
}
.koutsuu-kisei div dl dt {
  font-weight:700;
  font-size:108%;
  margin-bottom:8px;
  display: flex;
  align-items: center;
}
.koutsuu-kisei div dl dt:before {
  content:"▼";
  margin-right:6px;
  font-size:65%;
  color:var(--sub-color);
}
.koutsuu-kisei div dl dd {
  width:100%;
  margin-bottom:20px;
  padding-left:17px;
}
.koutsuu-kisei div dl dd span {
  color:var(--red-color);
  font-weight:600;
}
.koutsuu-kisei p {
  font-size:90%;
  margin-bottom:0;
}


/* ---- お問い合わせ ---- */
#toiawase dl {
  display:flex;
  flex-flow: wrap;
  gap:40px;
  /*-webkit-text-stroke: 1px #fff;*/
	text-shadow:2px 2px 3px #fff;
}
#toiawase dl span {
  display: inline-block;
}
#toiawase dt {
  width:auto;
  font-size:140%;
  font-weight:600;
}
#toiawase dd {
  width:auto;
}
#toiawase dd span.jikantai {
  color:var(--base-color);
  font-size:100%;
}
#toiawase p {
  margin-top:30px;
}

/* ---- youtube ---- */
div.movie-youtube {
  width:100%;
  display:flex;
  justify-content: space-around;
  
}
div.movie-youtube div {
  width:40%;
  overflow: hidden; 
  margin-bottom:20px;
}
div.movie-youtube div div.no1 {
  width:100%;
  aspect-ratio: 16 / 9;
}
div.movie-youtube div div.no2 {
  width:100%;
  aspect-ratio: 4 / 3;
}
div.movie-youtube div iframe {
  width:100%;
  height:100%;
}

/* ---- アルバム ---- */
.gallery {
	display: flex;
  flex-wrap: wrap; /* 自動折り返し */
  gap: 15px; /* 画像間の隙間 */
  justify-content: center; /* 中央寄せ */
}
.gallery a {
  width: 160px; /* サムネイルの幅 */
  height: 160px; /* サムネイルの高さ */
  overflow: hidden; /* はみ出た部分を隠す */
}
.gallery a img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画像の比率を維持して枠に合わせる */
  transition: transform 0.3s; /* ホバー時のアニメーション */
}
.gallery a img:hover {
  transform: scale(1.1); /* ホバーで少し拡大 */
}

/* ---- 主催・協賛等 ---- */
dl.syusai {
  width:100%;
  display: flex;
  flex-flow: wrap;
}
dl.syusai dt {
  width:100px;
  font-weight:600;
  margin-bottom:8px;
}
dl.syusai dd {
  width:calc(100% - 120px);
  margin-left:20px;
  margin-bottom:8px;
  font-size:85%;
}
.syusai-sp {
  margin-top:20px;
  width:100%;
  max-width:740px;
  border:1px solid #c6c0a8;
}

/* ---- フッター ---- */
footer {
  width:100%;
  display:flex;
  justify-content: center;
  align-items: center;
  background:#ec67ac;
  color:#fff;
}
footer p {
  font-size:85%;
  margin:30px 20px;
}
footer p a:link, footer p a:hover, footer p a:visited {
  color:#fff!important;
  text-decoration: underline;
}




.anchor {           /*高さ分ずれるやつ*/
  scroll-margin-top: 120px;
}


/* order-before.php等 */
main.order-before {
  margin-top:60px;
  padding:0;
  width:100%;
}
.order-before-waku {
  width:100%;
  padding: 16px;
  background: rgba(255, 255, 255, 0.8);
  margin-bottom:20px;
  border-radius:6px;
  box-shadow: 0px 0px 8px 2px #efefef; 
}
.order-before-doui {
  display:flex;
  width:100%;
  max-width:600px;
  flex-flow: column;
  justify-content:center;
  margin:30px auto;
  background: rgba(237, 144, 192, 0.2);
  padding:20px;
  text-align: center;
}
.order-before-doui p {
  display:inline-block;
  margin-right:auto;
  margin-left:auto;
  font-weight:600;
  margin-bottom:15px;
}
.order-before-doui div {
  display:inline-block;
  margin:30px auto;
}
.order-before-doui div a {
  padding:10px 12px;
  color:#fff;
  font-size:16px;
  font-weight:700;
  text-decoration: none;
  margin:20px 5px;
  border-radius:100vh;
}
.order-before-doui div a:nth-child(1) {
  background:var(--red-color);
}
.order-before-doui div a:nth-child(2) {
  background:#555;
}
.order-before-doui div a:hover {
  opacity: 0.5;
}
.order-before-doui div a:active:nth-child(1), .order-before-doui div a:active:nth-child(2) {
  background:#fff;
}

/* order-form.tml */
.order-form h3 {
  margin-top:40px;
  margin-bottom:20px;
}
.order-form ul.moushikomi-tyuui {
  margin-bottom:30px;
}
.order-form table.type3 {
	border-collapse: collapse;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.order-form table.type3 caption {
    text-align: left;
    font-weight: bold;
    color: var(--main-color);
    font-size: 110%;
}
.order-form table.type3 th,
.order-form table.type3 td {
  padding: 6px;
  border: 1px solid #999;
}
.order-form table.type3 th {
    background-color: var(--main-color-light);
    text-align: center;
    width: 30%;
    font-weight: normal;
    color: var(--main-color);
}
.order-form input {
  font-size:16px;
}
.order-check-tyuuiarea {
  width:90%;
  margin:30px auto;
}
p.order-tyuui {
  font-size:130%;
  font-weight:600;
  color:var(--red-color);
}

.order-before-doui div .submit-btn, .order-before-doui div .reset-btn {
  padding:12px 12px;
  color:#fff;
  font-size:16px;
  font-weight:700;
  text-decoration: none;
  margin:20px 5px;
  border-radius:100vh;
  cursor: pointer;
  border:none;
}
.order-before-doui div .submit-btn {
  background:var(--red-color);
}
.order-before-doui div .reset-btn {
  background:#555;
}
.order-before-doui div .submit-btn:hover, .order-before-doui div .reset-btn:hover {
  opacity: 0.5;
}
.order-before-doui div .submit-btn:active, .order-before-doui div .reset-btn:active {
  background:#fff;
}
.form-style100px {
  border:solid 1px #ccc;padding:5px;width:100px;
}
.form-style50 {
  border:solid 1px #ccc;padding:5px;width:50%;
}
.form-style90 {
  border:solid 1px #ccc;padding:5px;width:90%;
}
/*キャンセル cancel.php*/
.cancel-form h5 {
  border:none;
  font-size:120%;
  text-align: center;
}
.cancel-form h5.red {
  color:var(--red-color);
  margin-bottom:40px;
}
.cancel-form h5.cancel-done {
  border:none;
  font-size:130%;
  margin-top:40px;
  margin-bottom:40px;
  text-align: center;
}
table.cancel {
  width:100%;
  max-width:600px;
  margin:20px auto;
  background:#f5f5f5;
  border-collapse: collapse;
}
table.cancel caption {
  margin-bottom:15px;
}
table.cancel th, table.cancel td {
  padding:5px 10px;
  border:1px solid #ccc;
}


/* ===== 1段目 menu.cssにも記述がある===== */
.header-top {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: #fff;
  border-bottom: 1px solid #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight:600;
  z-index: 1000;
}

/* ========== 証明書　表示時　========== */
section.shoumei-sec {
  width:100%;
  padding-bottom:60px;
  padding-top:60px;
}
section.shoumei-sec .inner {
    display:block;
    width:calc(100% - 40px);
     max-width:1300px;
     margin-right:auto;
     margin-left:auto;
}
.shoumei-tbl-waku {
  width:100%;
  max-width:900px;
  margin-top:20px;
  margin-left:auto;
  margin-right:auto;
  padding:5px;
  border:5px solid var(--red-color);
  background:#fff;
  margin-bottom:20px;
}
table.shoumei-tbl {
  width:100%;
  border-collapse: collapse;
  font-weight:600;
}
table.shoumei-tbl caption {
  font-size:18px;
  font-weight:600;
  color:var(--red-color);
  padding-bottom:6px;
}
table.shoumei-tbl th, table.shoumei-tbl td {
  padding:2px 4px;
  border:1px solid #ccc;
}
p.insatsu {
  margin-bottom:15px;
}
p.insatsu span {
  color:var(--red-color);
}
h4.shoumei-h4 {
  /*background:var(--main-color);
  padding:5px 10px;
  color:#fff;*/
  display:inline-block;
  padding:5px 10px;
  color:#555;
  border:1px solid #555;
}
ul.shoumei-list {
    width: 100%;
    padding: 20px;
    margin: 0;
    list-style-position: outside;
    list-style-type: disc;
}
ul.shoumei-list li {
  line-height:140%;
  margin-bottom:6px;
  padding-bottom:5px;
  border-bottom:1px dotted #ccc;
}
div.tyuuigaki {
  display:flex!important;
  flex-flow: wrap;
  justify-content: space-between;
}
.tyuuigaki .clm1 {
  width:55%;
  margin:0;
}
.tyuuigaki .clm2 {
  width:43%;
  margin:0;
}
/*印刷するリンク*/
#print {
  width:100%;
  margin-bottom:30px;
  display:flex;
}
#print a {
  padding:5px 10px;
  background:var(--red-color);
  color:#fff;
  font-size:120%;
  font-weight:700;
  text-decoration: none;
  border-radius:5px;
  display:inline-block;
  margin-right:0;
  margin-left:auto;
}




/* ----------------------------------------------------
   モバイル
---------------------------------------------------- */
@media(max-width: 1100px) {

.anchor {           /*高さ分ずれるやつ*/
  scroll-margin-top: 60px;
}

#kisei{
  background-size:70%;
}
#gaiyou, #past {
  background-size:280px,350px;
}

main {
  margin-top: 60px;
}


h1 {
  flex-flow: column;
  font-size: 16px!important;
}
h1 span {
  display: inline-block;
  white-space: nowrap;
}

h2 {
  font-size: 22px;
  margin-bottom:25px;
}
h3 {
  font-size: 20px;
}
h4 {
     font-size: 18px;
}


/* ---- 概要 ---- */
.gaiyou-clm {
  width:calc(100% - 20% - 20px);
  display:flex;
  flex-flow: wrap;
  justify-content: space-between;
  box-sizing: border-box;
}
.gaiyou-clm div {
  width:100%;
  padding: 16px;
  margin-bottom:20px;
  border-radius:6px;
  box-shadow: 0px 0px 8px 2px #efefef;
}
div.courselist {
  width:100%;
  max-width:300px;
}
.course-bunki {
  flex-flow: column;
  justify-content: flex-start;
}
.course-bunki div {
  width:100%;
  border-radius:0;
  margin-bottom:20px!important;
}
.course-bunki div:nth-child(2) {
  margin-bottom:0px!important;
}
/* ---- お問い合わせ　---- */
#toiawase dl {
  display:flex;
  flex-flow: column;
  gap:0;
}
#toiawase dt {
  width:100%;
  font-size:120%;
}
#toiawase dd {
  width:100%;
}
#toiawase dd span {
  font-size:120%;
}
 



}


/* ----------------------------------------------------
   スマホ
---------------------------------------------------- */
@media(max-width: 700px) {

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

/*#topimage-sec {
  width:100%;
  max-height:400px;
  height:auto;
  padding-top:0px;
  padding-bottom:0px;
  background-image:url(../img/topimg.png);
  background-repeat:no-repeat;
  background-size: cover;
  background-position:center;
  display:flex;
  justify-content: center;
}*/
.topimage-pc {
  display:none;
  /*width:100%;
  max-width:1200px;
  max-height:400px;
  height:auto;*/
}
.topimage-sf {
  display:inherit;
  width:100%;
  max-height:400px;
  height:auto;
}
#kisei {
  background-size:96%;
}
#gaiyou, #past {
  background-size:220px,300px;
}
/* 赤字で注意文 */
.cpoint, .moushikomi-start p span, #toiawase dd span, .moushikomi-start div p.moushikomi-seigen  {
  font-size:130%;
}
#toiawase dt {
  font-size:130%;
}

/* ---- 概要 ---- */
#gaiyou {
  background-image:url(../shinsaku-left.png);
  background-repeat:no-repeat;
  background-size:300px;
  background-position: right 10px top 90px;
  background-attachment:inherit;
  background-color:rgba(255,255,255,0.9);
  background-blend-mode:lighten;
}
.gaiyou-set {
  display:flex;
  flex-flow: column;
  justify-content: center;
}
.gaiyou-clm {
	width:100%;
}
.gaiyou-clm div {
	width:100%;	
	margin-right:0;
}
div.courselist {
  width:100%;
  max-width:320px;
  margin-left:auto;
  margin-right:auto;
}
/* ---- 申し込み ---- */
.moushikomi-start {
  padding:20px 20px;
  background-image:none!important;
  background-size: none;
  background-position: none none;
  background-repeat: none;
}
.moushikomi-start div {
  width:100%;
  padding:0 0 0 0;
  display: flex;
  flex-flow: column;
}
.moushikomi-step div {
  width:100%;
  margin-bottom:30px;
}

/* ---- アクセス ---- */
p.outer-setsumei {
  width:calc(100% - 15px);
  margin-left:15px;
  display:inherit;
  line-height:140%;
  margin-top:20px;
  margin-bottom:10px;
  font-size:80%;
  color:var(--red-color);
}
/*2カラム*/
.outer2 {
	width: 100%;
	overflow-x: auto;
	display: block;
	float: left;
	margin-left: 0;
	margin-right: auto;
  padding:0;
  margin-bottom:0;
}
div.access-table-clm2 {
  flex-flow:column;
  justify-content: flex-start;
}
div.access-table-clm2 div {
  width:100%;
  margin-top:0;
  margin-bottom:0;
}
div.access-table-clm2 table {
  width:600px;
  margin:10px 10px 20px 10px;
}
/*1カラム*/
.outer1 {
	width: 100%;
	overflow-x: auto;
	display: block;
	float: left;
	margin-left: 0;
	margin-right: auto;
  padding:0;
  margin-bottom:0;
}
div.access-table-clm1 {
  flex-flow:column;
  justify-content: flex-start;
}
div.access-table-clm1 div {
  width:100%;
  margin-top:0;
  margin-bottom:0;
}
div.access-table-clm1 table {
  width:700px;
  margin:10px 10px 20px 10px;
}

/* ---- youtube ---- */
div.movie-youtube {
  justify-content: center;
  flex-flow: column;
}
div.movie-youtube div {
  width:84%;
  margin-left:auto;
  margin-right:auto;
}


/* ---- 交通規制 ---- */
.koutsuu-kisei {
  display:flex;
  flex-flow: column;
  gap: 0;
}
.koutsuu-kisei div{
  flex: none;
  margin-bottom:20px;
}

/* ---- 問い合わせ ---- */
#toiawase  {
  background-attachment:inherit;
}
/* ---- 主催・協賛等 ---- */
dl.syusai {
  width:100%;
  display: flex;
  flex-flow: column
}
dl.syusai dt {
  width:100%;
  font-weight:600;
  margin-bottom:8px;
}
dl.syusai dd {
  width:calc(100% - 10px);
  margin-left:10px;
  margin-bottom:8px;
}
.syusai-sp {
  margin-top:20px;
  width:100%;
  max-width:800px;
}
/*order-form.tml等*/
.order-form table.type3 {
    border-top: 0px solid #999;
  }
.order-form table.type3 td {
	border-top: 0px solid #0000ff;
	border-left: 1px solid #999;
	border-right: 1px solid #999;
	border-bottom: 1px solid #999;
	display: block;
	text-align: center;
	width: 96.5%;
  }
.order-form table.type3 th {
	margin-top: 5px;
	border-top: 3px solid #CACACA;
	border-bottom: 1px solid #999;
	display: block;
	width: 96.5%;
	/*background-color: var(--main-color);*/
	font-weight: normal;
  }
.form-style50 {
  border:solid 1px #ccc;padding:5px;width:70%;
}
.form-style90 {
  border:solid 1px #ccc;padding:5px;width:100%;
}
/* ========== 証明書　表示時　========== */
.tyuuigaki .clm1 {
  width:100%;
}
.tyuuigaki .clm2 {
  width:100%;
}




}



/* ========== 証明書　印刷時　========== */
@media print {

.syoumei-prt h1 {
  flex-flow: wrap;
  font-size:20px!important;
  color:var(--main-color);
}
.syoumei-prt h1 span {
  display: inherit;
  white-space: nowrap;
}
.syoumei-prt .header-top {
  border-bottom: none;
}
.syoumei-prt main#syoumei-main {
  margin-right:auto;
  margin-left:auto;
	width: 688px;
  font-size:80%;
}
.syoumei-prt #topimage-sec {
  width:100%;
  max-height:400px;
  height:auto;
  padding-top:0px;
  padding-bottom:0px;
  background-image:url(../img/topimg.png);
  background-repeat:no-repeat;
  background-size: cover;
  background-position:center;
  display:flex;
  justify-content: center;
}
.syoumei-prt .topimage-pc {
  display:inherit;
  width:100%;
  max-width:1200px;
  max-height:400px;
  height:auto;
}
.syoumei-prt .topimage-sf {
  display:none;
}

.syoumei-prt table.shoumei-tbl caption {
  font-size:16px;
}	
	
.syoumei-prt section.shoumei-sec {
  padding-bottom:10px;
  padding-top:10px;
}
.syoumei-prt section.shoumei-sec .inner {
    width:94%;
     max-width:none;
     margin-right:auto;
     margin-left:auto;
     font-size:80%;
}

.syoumei-prt h4.shoumei-h4 {
  padding:2px 4px;
  font-size:14px;
  font-weight:500;
  margin:0;
}
.syoumei-prt ul.shoumei-list {
  width:100%;
  padding:10px;
  margin:0;
}
.syoumei-prt .shoumei-footer p {
  margin:5px auto;
  font-size:75%;
}
.syoumei-prt .tyuuigaki {
  justify-content: space-between;
}
.syoumei-prt .tyuuigaki .clm1 {
  width:65%;
  margin:0;
}
.syoumei-prt .tyuuigaki .clm2 {
  width:32%;
  margin:0;
}
.syoumei-prt ul.shoumei-list li {
  font-size:90%;
  line-height:140%;
  margin-bottom:2px;
  padding-bottom:2px;
  border-bottom:1px dotted #ccc;
}
.syoumei-prt #print {
  display:none;
}


.syoumei-prt a.moushikomi-btn {
    display: none;
}


}