@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');
/* CSS Document */
/* html all ----------------------------------------------------------- */
*,*:before,*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html { 
  font-size: 62.5%; /*rem算出をしやすくするために*/
  scroll-behavior: smooth;
  overflow: auto;
}

/* html end ----------------------------------------------------------- */

/* body ----------------------------------------------------------- */
body {
  margin: 0;
  padding: 0;
  font-size: clamp(1rem,1.6vw,16px);
  font-family: "Arial","Helvetica Neue","Noto Sans JP","Hiragino Sans","Meiryo","Hiragino Kaku Gothic ProN",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  text-spacing-trim: space-all;
  word-break: break-word;
  background: #fff;
  color: #333;
}

/* image all */
img { vertical-align: middle;}

/* display */
.pc { display: initial;}
.sp { display: none;}

/* background */
.bg {
  background-image: linear-gradient(90deg,rgba(255,255,255,1) 50%,rgba(255,255,255,0)),url(img/bg-s.png);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: cover;
  background-attachment: fixed;
}

/* body end ----------------------------------------------------------- */

/* header ----------------------------------------------------------- */
header {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border-bottom: none;
  background: #fff8a8;
}

/* header-box（ヘッダー横並び用） */
.header-box{
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

/* logo */
.logo {
  position: relative;
  height: auto;
  margin: 0;/* 適宜修正 */
  padding: 0;
}
.logo img { max-width: 1200px; width: 100%;}

/* header-menu */
.h-menu {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: flex-end;
  align-items: right;
  position: relative;
  max-width: 700px;
  width: 100%;
  text-align: right;
}
.h-menu ul{ padding-right: 30px;}
.h-menu li {
  display: inline-block;
  margin: 5px auto;
  padding: 5px 10px;
  /* border-right: 4px dotted rgba(255,255,255,0.5); */
}
.h-menu li a{
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  text-decoration: none;
  color: #231815;
}
.h-menu li a:hover{ color: #ec6c1f;}
.h-menu li:last-of-type{ border-right: none;}

/*header end ----------------------------------------------------------- */

/* base ----------------------------------------------------------- */
#wrap { margin: 0;}
.content {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-around;
  align-content: center;
  gap: 0 20px;
  max-width: 1400px;
  width: 100%;
  min-height: auto;
  margin: 20px auto;
  padding: 0;
}

/* base end ----------------------------------------------------------- */

/* flexbox ----------------------------------------------------------- */
.flexbox,.flexbox ul{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0 20px;
  justify-content: space-around;
  align-items: flex-start;
}

/* flexbox end ----------------------------------------------------------- */

/* sidebar ----------------------------------------------------------- */
.side {
  -webkit-flex: 1;
  flex: 0 0 1;
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

/* etc */
.etc {
  max-width: 350px;
  margin: 0 auto 10px;
  text-align: center;
}
.etc h4{
  margin: 15px auto 10px;
  padding: 5px;
  border-radius: 0;
  border-bottom: 1px solid #ec6c1f;
  background: none;
  color: #231815;
}
.etc img {
  max-width: 250px;
  width: 100%;
  border: 1px solid #fff;
}

/* sidebar end ----------------------------------------------------------- */

/* menu ----------------------------------------------------------- */
.menu {
  max-width: 350px;
  position: relative;
  margin: 0;
  padding: 0;
}
.menu ul{ margin: 10px 0 30px 20%;}
.menu li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu li a{
  display: inline-block;
  position: relative;
  width: 100%;
  padding: 10px 10px 10px 30px;
  box-sizing: border-box;
  line-height: 25px;
  text-align: left;
  letter-spacing: 1px;
  text-decoration: none;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  border-radius: 0;
  border-bottom: none;
  background: none;
  color: #231815;
}

/* 開いてるページの色のみ変更 */
.menu li a.active{ 
  background: #fff571;
  color: #ec6c1f;
}

.menu li a:hover,.menu li a:active{ 
  border-bottom: none;
  background: none;
  color: #ec6c1f;
}

.menu li a:after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #ec6c1f;
  transform: scale(0, 1);
  transform-origin: center;
  transition: transform .3s;
  filter: brightness(150%);
}

.menu li a:hover::after { transform: scale(1, 1);}

/* menu end ----------------------------------------------------------- */

/* sub-menu ----------------------------------------------------------- */
.sub-menu{
  width: 100%;
  margin: 0 auto 20px;
  padding: 10px 20px;
  background: #fff8a8;
  border: 1px solid #DAC6CB;
}
.sub-menu ul{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 10px;
}
.sub-menu li a{
  position: relative;
  text-decoration: none;
  color: #484848;
}
.sub-menu li a:hover{ color: #717BFF;}

/* sub-menu end ----------------------------------------------------------- */

/* main ----------------------------------------------------------- */
.main {
  -webkit-flex: 1;
  flex: 0 0 1;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

/* section */
section {
  margin: 0 auto;
  padding: 50px 20px;
  background: rgba(255,255,255,0.5);
}
section a img { border: 1px solid #dadada;}

/* home-image */
.home-image {
  position: relative;
  max-width: 1000px;
  width: 100%;
  height: auto;
  margin: 0 auto;
  text-align: center;
}
.home-image img{ max-width: 1000px; width: 90%;}

/* main end ----------------------------------------------------------- */

/* font ----------------------------------------------------------- */
/* 明朝体 */
h1, h2, h3, h4, h5, h6,.en h1,caption,.table th,.scroll dt,.co-sp dt,.p-title,
.h-menu,.menu,.menu,.gp-box,.btn-box,.p-menu,.period,
.tab li a,.ap-period th {
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}
/* ゴシック体 */
h1, h2, h3, h4, h5, h6,.en h1,caption,.table th,.scroll dt,.co-sp dt,.p-title,
.h-menu,.menu,.g-box,.btn-box,.p-menu,.period,
.fee,.tab li a,.ap-period th {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

/* font end ----------------------------------------------------------- */

/* text ----------------------------------------------------------- */
/* font-size 
<h1>&footer=***（px指定数）÷1905（画面全体サイズ）×100＝vwの数字（小数点切り上げ）*/
h1,.comingsoon-box{ font-size: clamp(3rem,2.5vw,48px);}
h1 > .number{ font-size: clamp(2.5rem,2.1vw,40px);}
.h-menu,footer small{ font-size: clamp(0.9375rem,0.8vw,15px);}

/* font-size
その他= ***（px指定数）÷1000（mainの数値）×100＝vwの数字（小数点切り上げ）で計算 */
.btn03 > .day{ font-size: clamp(2.5rem,2.1vw,40px);}
h2,.large.larger,.gr-box>h4,.btn03 > .month{ font-size: clamp(1.5rem,2.4vw,24px);}
h4,.large,.btn,caption,#arrow a,.number-flow,.btn-flow { font-size: clamp(1.25rem,2.0vw,20px);}
h3,h4 > .large { font-size: clamp(1.375rem,2.2vw,22px);}
h5,.menu,.sub-menu,.tab,.etc h4,h3 > .small,.btn03 > .year{ font-size: clamp(1.125rem,1.8vw,18px);}
h6,.large > .small,h4 > .small,.info-box dl,.number-flow .small{ font-size: clamp(1rem,1.6vw,16px);}
.small{ font-size: clamp(0.875rem,1.4vw,14px);}

/* caption */
h1,h2,h3,h4,h5,h6,p { letter-spacing: 1px;}
.en h1,h1>.en{ line-height: 1;}

/* <h1>～</h1> */
h1{ color: #333;}

/* <h2>～</h2> */
h2{
  position: relative;
  margin: 0 auto 20px;
  padding: 0;
  text-align: center;
  border-bottom: none;
  background: none;
}

/* heart icon */
h2::before,h2::after,.menu li a::before,.menu li a:hover::before{
  content: url(img/jspcd_icon.png);
  width: 20px;
  height: 20px;
  top: 0;
}
h2::before{ padding-right: 10px;}
h2::after{ padding-left: 10px;}

/* heart icon (menu & fotter) */
.menu li a::before,.menu li a:hover::before{
  position: absolute;
  top: 12px;
  left: 5px;
}
.menu li a.active::before,footer h2::before,footer h2::after{ filter: brightness(300%);}
.menu li a:hover::before{ filter: none;}

/* <h3>～</h3> */
h3{
  margin: 20px 0 10px;
  padding: 10px 15px 5px 20px;
  border-radius: 0;
  border-bottom: 1px solid #ec6c1f;
  background: none;
  color: #484848;
}

/* <h4>～</h4> */
h4{
  margin: 10px 0;
  padding: 10px 20px 10px 20px;
  border-radius: 0;
  border: none;
  background: #fff8a8;
  color: #221815;
}

/* <h5>～</h5> */
h5{
  position: relative;
  margin: 5px 0 5px 20px;
  padding: 0 20px;
  border-radius: 0;
  border: none;
  background: none;
  color: #ec6c1f;
}
h5::before{
  position: absolute;
  content: "\025c6";
  vertical-align: middle;
  top: 0;
  left: -5px;
  color: #f7b63d;
}

/* <h6>～</h6> */
h6{ padding: 0 20px; color: #6d6d6d;}

/* h-counter */
.counter{ counter-reset: header;}
.counter h3::before,.counter h4::before{ content: counter(header)". "; counter-increment: header;}

/* <p>～</p> */
p { margin-bottom: 10px; padding: 0 20px;}
p.top { margin-top: 10px;}
p.mtop { margin-top: -10px;}
p.bottom { margin-bottom: 20px;}

/* ＊ */
.note,.tri,.dia {
  position: relative;
  margin: 0 0 0 20px;
}
.note::before,.tri::before,.dia::before {
  position: absolute;
  top: 0;
  left: 0;
}
.note,.tri,.dia{ padding-left: 25px;}
.no01,.no02,.no03 { padding-left: 40px;}
.note::before{ content: "＊";}
.no01::before { content: "＊1";}
.no02::before { content: "＊2";}
.no03::before { content: "＊3";}

/* ▶ */
.tri::before {
  content: '';
  width: 18px;
  height: 18px;
  background: none;
  outline: none;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.tri:after{
  content: '';
  width:0;
  height:0;
  border-style:solid;
  border-width: 8px 0 8px 12px;
  border-color: transparent transparent transparent #f7b63d;
  position: absolute;
  top: 0;
  left: 4px;
  bottom: 0;
  margin: auto;
}

/* ◆ */
.dia::before{ content: "\025c6"; top: 2px; left: 1px; color: #fff;}

/* text end ----------------------------------------------------------- */

/* icon ----------------------------------------------------------- */
.material-symbols-outlined {
  font-variation-settings:
  'FILL' 1,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24;
  vertical-align: middle;
}

/* アイコン装飾用css */
.icon{ /* marginとpaddingはHP毎に調整 */
  margin: -5px 5px 0;
  padding: 0;
}
.icon.i-col{ color: #f7b63d;}
.icon.i-cir{
  padding: 5px;
  border-radius: 50%;
  border: none;
  background: #ec6c1f;
  color: #fff;
}
.icon.i-cir:hover{ background: #f7b63d; color: #fff;}

/* 特定の拡張子の場合自動で表示(白) */
[href$=".docx"].btn01::before,[href$=".doc"].btn01::before {
  display: inline-block;
  content: url("img/icon/word_icon.png");
  padding-right: 10px;
  vertical-align: middle;
}
[href$=".pdf"].btn01::before {
  display: inline-block;
  content: url("img/icon/pdf_icon.png");
  padding-right: 10px;
  vertical-align: middle;
}
[href$=".xlsx"].btn01::before {
  display: inline-block;
  content: url("img/icon/excel_icon.png");
  padding-right: 10px;
  vertical-align: middle;
}
[href$=".pptx"].btn01::before,[href$=".ppt"].btn01::before {
  display: inline-block;
  content: url("img/icon/pptx_icon.png");
  padding-right: 10px;
  vertical-align: middle;
}

/* ボタンの背景色が白い場合(g=gray b=black c=color ) */
/* gray */
[href$=".docx"].gray::before,[href$=".doc"].gray::before{ content: url("img/icon/word_icon_g.png");}
[href$=".pdf"].gray::before { content: url("img/icon/pdf_icon_g.png");}
[href$=".xlsx"].gray::before { content: url("img/icon/excel_icon_g.png");}
[href$=".pptx"].gray::before,[href$=".ppt"].gray::before { content: url("img/icon/pptx_icon_g.png");}
/* black */
[href$=".docx"].btn02::before,[href$=".doc"].btn02::before{ content: url("img/icon/word_icon_b.png");}
[href$=".pdf"].btn02::before { content: url("img/icon/pdf_icon_b.png");}
[href$=".xlsx"].btn02::before { content: url("img/icon/excel_icon_b.png");}
[href$=".pptx"].btn02::before,[href$=".ppt"].btn02::before { content: url("img/icon/pptx_icon_b.png");}
/* color */
.btn-box.col > [href$=".docx"]::before,[href$=".doc"]::before{ content: url("img/icon/word_icon_c.png");}
.btn-box.col > [href$=".pdf"]::before { content: url("img/icon/pdf_icon_c.png");}
.btn-box.col > [href$=".xlsx"]::before { content: url("img/icon/excel_icon_c.png");}
.btn-box.col > [href$=".pptx"]::before,[href$=".ppt"]::before { content: url("img/icon/pptx_icon_c.png");}

/* image no-icon */
.no-icon > .btn::before{ content: ""; padding-right: 0;}

/* icon end ----------------------------------------------------------- */

/* box ----------------------------------------------------------- */
/* box all:n-box */
.n-box{
  width: 100%;
  margin: 20px auto;
  padding: 10px;
  border-radius: 10px;
  border: 4px solid #f7b63d;
  background: rgba(255,255,255,0.5);
}
.n-box > h4{
  margin: 10px auto;
  padding: 0 10px;
  border-bottom: 2px solid #f7b63d;
  background: none;
}
.n-box > h5{ 
  margin-left: 0;
  padding: 5px 10px;
  border-left: 8px solid #fff571;
  background: #FFFEF4;
  color: #6d6d6d;
}
.n-box > h5::before{ content: "";}

/* box-border:color */
.n-box.att{ border-color: #FFBFBF;}
.n-box.att > h4{ border-color: #FFBFBF; color: #FF7F7F;}
.n-box.att > h5{ border-color: #FFB2B2; background: #FFEAEA;}
.n-box.smm{ border: 1px solid #DAC6CB; background: #FFFDE7;}
.n-box.smm > h4{ border-bottom: 1px solid #EAD4DA; color: #ec6c1f;}
.n-box.smm > h5{ border-left: 8px solid #FFF04E; background: #fff;}

/* important-box */
.n-box.imp{
  max-width: 670px;
  width: 100%;
  margin: 10px auto;
  padding: 15px 20px;
  border-radius: 10px;
  border: none;
  background: #eaeaea;
}
.n-box.imp h4{ 
  margin: 0 0 10px;
  padding: 0 20px;
  text-align: center;
  border-bottom: 1px solid #adadad;
}
/* important-box: <dl>～</dl> */
.n-box.imp dl{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  margin: 0;
}
.n-box.imp dt{
  display: inline-block;
  width: 100px;
  height: auto;
  padding: 0;
  font-weight: 600;
  vertical-align: middle;
}
.n-box.imp dd{ 
  width: 550px; /* max-widthに合わせて調整 */
  padding: 0;
  font-weight: 600;
  vertical-align: middle;
}

/* coming soon */
.comingsoon-box{
  max-width: 700px;
  width: 100%;
  margin: 50px auto;
  padding: 100px;
  border-radius: 20px;
  background: rgba(232,232,232,0.5);
  color: #a9a9a9;
}

/* 準備中アイコン */
.comingsoon-box .material-symbols-outlined.icon{ font-size: clamp(3rem,2.5vw,48px);}

/* メンテナンス中 */
.comingsoon-box.maintenance{ background: rgba(239,141,160,0.5); color: #dc143c;}

/* top-event */
#top-event.n-box{ margin-top: 0;}

/* box-width */
.w90{ max-width: 900px;}
.w70{ max-width: 700px;}

/* box end ----------------------------------------------------------- */

/* list ----------------------------------------------------------- */
/* list all */
ul,ol {
  margin: 0;
  padding: 0;
}
.list li .note{
  margin-left: 0;
  text-indent: 0;
}
.list .bottom li { margin-bottom: 10px;}
.list ul,
.list ol {
  list-style-position: outside;
  margin: 10px 0 20px;
  counter-reset: pn1 pn2 ast;
}
.list ul li{ margin: 0 20px 0 40px;}
.list ol li{ margin: 0 20px 0 43px;}
.list li li{ margin-left: 25px;}
.list td ul li{ margin-left: 25px;}
.list td ol li{ margin-left: 40px;}
.list li p{ margin-left: 0;}
.list li .period dl{ margin: 0;}

/* in:n-box */
.n-box ul, .n-box ol{ margin-bottom: 10px;}

/* ol all */
ol li{ list-style-type: decimal;}
ol.pn-1 li, ol.pn-2 li,ol.ast li{
  position: relative;
  list-style-type: none;
  margin: 0 20px 0 50px;
}
ol.pn-1 li::marker,ol.pn-2 li::marker,ol.ast li::marker{
  position: absolute;
  top: 0;
  left: 0;
}
ol.col li::marker{ font-weight: 700; color: #ec6c1f;}

/* 1) */
ol.pn1 li{ counter-increment: pn1; margin-left: 50px;}
ol.pn1 li::marker{ content: "" counter(pn1) "）";}

/* (1) */
ol.pn2 li{ counter-increment: pn2; margin-left: 52px;}
ol.pn2 li::marker { content: "（" counter(pn2) "）";}

/* ＊1 */
ol.ast li{ counter-increment: ast; margin-left: 48px; padding-left: 10px;}
ol.ast li::marker{ content: "＊" counter(ast) "";}

/* ul ●＆■ */
.disc li,ol ul.disc li{ list-style-type: disc;}
.sq li{ list-style-type: square;}
.disc li::marker,.sq li::marker{ color: #f7b63d;}
.smm .disc li::marker{ color: #f7b63d;}
.att .disc li::marker{ color: #FF7F7F;}

/* support */
.support li{ list-style-type: none;}

/* list end ----------------------------------------------------------- */

/* link ----------------------------------------------------------- */
a {
  font-weight: 600;
  text-decoration: underline;
  color: #717BFF;
}
a:hover,a:active { color: #A8AFFF;}
a img { border: 1px solid #fff;}
a img:hover { filter: brightness(120%);}

/* link list */
.link{ 
  max-width: 700px;
  width: 100%;
  margin: 30px auto 0;
  text-align: left;
}
.link a{ text-decoration: none; color: #231815;}
.link a:hover,.link a:active{ color: #999;}
.link li{
  position: relative;
  list-style-type: none;
  margin: 0;
  padding-bottom: 5px;
  text-indent: 0;
  border-bottom: 1px dashed #fff;
}

/* link end ----------------------------------------------------------- */

/* button ----------------------------------------------------------- */
/* button-box | flyer-box */
.btn-box,.f-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  gap: 10px 20px;
  margin: 30px auto;
}

/* button-box | flyer-box image */
.btn-box a img,.f-box a img { border: 1px solid #fff;}
.f-box img{ max-width: 700px; width: 100%;}

/* flyer-box fine */
.side .btn-box, .side .f-box{ margin: 10px auto;}
.flexbox .f-box{ flex-direction: column; flex-wrap: wrap;}

/* button all */
.btn,.btn01,.btn02,.btn03,button {
  display: inline-block;
  position: relative;
  max-width: 400px;
  width: 100%;
  padding: 2rem 1rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1rem;
  border-radius: 100vh;
}

/* button arrow */
.btn::after{
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 3rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 10px;
  height: 10px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.btn:hover::after{ right: 2.4rem;}

/* button01:dark-color */
.btn01{
  border: 1px solid #adadad;
  color: #fff;
}

/* button02:light color */
.btn02 {
  border: 1px solid #adadad;
  color: #484848;
}

/* button:03(deadline) */
#deadline.btn-box{
  justify-content: space-evenly;
  max-width: 600px;
  margin: 0 auto 30px;
}
.btn03 { 
  width: 150px;
  height: 150px;
  padding: 1rem;
  cursor: default;
  border-radius: 20px;
  background: #ec6c1f;
  color: #fff;
}
.btn03 > .day{ color: #fff571;}
a.btn03 { cursor: pointer;}

/* button color */
.btn-1{ background: #71D0FF;}
.btn-2{ background: #A8AFFF;}
.btn-3{ background: #f7b63d;}
.btn-4{ background: #F2C9CC;}

/* icon button */
.btn-mw { background: #717BFF;}
.btn-me { background: #E3FF6E;}
.btn-pp { background: #ec6c1f;}
.btn-pdf { background: #FF7F7F;}

/* button:width */
.btnw { max-width: 500px; width: 100%;}
.btnpad{ padding: 1rem 4rem;}
.side .btnw{ max-width: 300px; padding: 1rem;}

/* button:hover */
.btn01:hover,.btn02:hover{
  filter: hue-rotate(-15deg);
  color: #fff;
}
.btn02:hover{ color: #231815;}

/* color change */
.btn.gray,button.gray{ 
  cursor: default;
  filter: grayscale(100%);
  border: 1px solid #dadada;
  color: #dadada;
}
.btn.gray:hover,button.gray:hover{ margin-top: 0; filter: grayscale(100%);}
.btn.gray:after{ right: 3rem;}

/* button end ----------------------------------------------------------- */

/* flow ----------------------------------------------------------- */
/* flow all */
.flow {
  max-width: 700px;  
  width: 100%;
  margin: 20px auto;
}
/* flow-arrow */
.flow-arrow{
  display: inline-block;
  margin: 10px auto 20px;
  vertical-align: middle;
  line-height: 1;
  width: 2em;
  height: 2em;
  border: 0.3em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  color: #ec6c1f;
}

/* button-flow */
.flow-box{
  max-width: 600px;
  width: 100%;
  display: block;
  justify-content: space-around;
  align-items: center;
  text-align: center;
  margin: 10px auto 10px;
}
.btn-flow {
  max-width: 600px;
  width: 100%;
  height: 80px;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 25px;
  cursor: default;
  border-radius: 10px;
  border: none;
  background: #fff8a8;
  color: #ec6c1f;
}
.btn-flow:hover{ filter: none;}

/* flow end ----------------------------------------------------------- */

/* table ----------------------------------------------------------- */
/* table all */
table{
  width: 100%;
  -webkit-text-size-adjust: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  margin: auto;
}
caption{
  margin: 0 0 10px;
  padding: 10px 0;
  text-align: center;
  border: none;
  background: #fff8a8;
}
th,td{ 
  vertical-align: middle;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
}
td p,td li,td>.period dl{ margin: 0; padding: 0;}
td .note{margin: 0;}
.table { display: table; margin: 10px auto 20px;}
.table .flexbox{ justify-content: flex-start;}

/* ap-period */
.ap-period{ 
  max-width: 680px;/* 1000pxで中央にくるサイズ */
  position: relative;
  margin-bottom: 20px;
  align-items: center;
  background: none;
  border: none;
}
.ap-period table { width: 100%;}
.ap-period th {
  width: 150px;
  padding: 5px;
  text-align: center;
  border-radius: 10px;
  border: none;
  outline: none;
  background: none;
}
.ap-period td {
  width: 530px;
  padding: 5px 0 5px 20px;
  border-bottom: none;
  background: none;
}

/* event */
.event table { table-layout: fixed; width: 100%;}
.event tr { border-bottom: 1px solid #dadada;}
.event th{
  width: 25%;
  padding: 10px;
  text-align: center;
  color: #484848;
}
.event td{
  width: 75%;
  padding: 10px 20px;
  text-align: left;
}

/* fee */
.fee table{ max-width: 600px;}
.fee th {
  width: 300px;
  padding: 10px 20px;
  text-align: center;
  border: 1px solid #adadad;
  background: rgba(247,182,61,0.5);
}
.fee td {
  width: 300px;
  padding: 10px 20px;
  text-align: center;
  border: 1px solid #adadad;
  background: rgba(255,255,255,0.5);
}
.fee tr:nth-child(even) { background: rgba(218,218,218,0.5);}
.fee td:nth-of-type(1){ background: rgba(255,245,113,0.5);}
.fee.nobg td:nth-of-type(1){ background: none;}

/* fee-width */
.fee.feew { max-width: 900px;}
.fee.feew th:nth-of-type(1){ width: 510px;}
.fee.feew th:nth-of-type(n1+1){ width: 150px;}
.fee.feew td:nth-of-type(1){ text-align: left;}

/* ナンバー付きflow */
.number-flow table{
  table-layout: fixed;
  max-width: 600px;
  width: 100%;
  margin: 0;  
  font-weight: 600;
  text-indent: 0;
}
.number-flow th{
  width: 8%;
  padding: 15px 10px;
  text-align: center;
  background: #ec6c1f;
  color: #fff;
  /* 角を丸くしたい時 */
  border-radius: 5px 0 0 5px;
  outline: 3px solid #ec6c1f;
}
.number-flow td{
  width: 92%;
  padding: 15px 20px;
  text-align: left;
  background-color: #FFFEF4;
  color: #ec6c1f;
  /* 角を丸くしたい時 */
  border-radius: 0 5px 5px 0;
  outline: 3px solid #ec6c1f;
}
.number-flow .flow-arrow{ margin: 10px auto 0; color: #ec6c1f;}

/* table-abstract */
.abst_table { margin: 10px auto 20px;}
.abst_table table {
  max-width: 800px;
  width: 100%;
  border-collapse: collapse;
}
.abst_table caption{
  margin-bottom: 10px;
  padding: 5px;
  background: rgba(255,255,255,0.5);
  color: #484848;
}
.abst_table tr:nth-child(odd) { background: rgba(227,255,110,0.5);}
.abst_table tr:nth-child(even) { background: rgba(255,255,255,0.3);}
.abst_table th{
  width: 50px;
  padding: 5px 10px; /* 余白指定 */
  border: 1px solid #c1c1c1;
  text-align: center;
  color: #6d6d6d;
}
.abst_table td {
  width: 300px;
  padding: 10px; /* 余白指定 */
  font-weight: bold;
  border: 1px solid #c1c1c1;
  color: #6d6d6d;
}

/* table-max-width */
.tmw50 table{ width: 50%;}

/* table-width */
.tw150 th{ width: 150px;}
.tw250 th{ width: 250px;}
.tw350 th{ width: 350px;}

/* table end ----------------------------------------------------------- */

/* Information ----------------------------------------------------------- */
.info{
  display: block;
  width: 100%;
  margin: 0 auto 30px;
  padding: 0;
  border-radius: 0;
  border: none;
  background: none;
}
.info h2{ margin-bottom: 0; background: rgba(255,255,255,0.5);}
.info-box {
  width: 100%;
  height: 400px;
  margin: 0;
  padding: 0;
  overflow-y: scroll;
  border-radius: 10px;
  background: rgba(255,255,255,0.5);
}
.info-box dl{
  position: relative;
  margin: 10px auto;
  padding: 10px 30px;
  vertical-align: middle;
}
.info-box dt {
  display: inline-block;
  padding: 5px 0;
  color: #918487;
}
.info-box dd{ padding: 5px 10px;}

/* Information end ----------------------------------------------------------- */

/* greeting ----------------------------------------------------------- */
/* greeting-logo or header */
.g-logo{
  margin: 0 auto;
  text-align: center;
}
.g-logo h3{ 
  position: relative;
  margin: 10px 0 0;
  padding: 0;
  border: none;
  background: none;
  color: #f7b63d;
}
.g-logo img{
  max-width: 700px;
  width: 100%;
}

/* greeting-flexbox */
.g-box {
  display: flex;
  flex-wrap: nowrap; /* 写真あり：nowrap 写真なし：wrap*/
  justify-content: space-around; /* 写真あり：space-around 写真なし：flex-start */
  align-items: center;
  gap: 0 10px;
  max-width: 800px;
  width: 100%;
  margin: 10px auto;
}

/* greeting-box image */
.g-image { max-width: 160px; width: 100%; margin: 0 auto;}
.g-image img {
  width: 100%;
  border-radius: 10px;
}

/* greeting-box text */
.g-text {
  max-width: 600px; /* 写真あり：600px 写真なし： 1000px */
  width: 100%;
  margin: 10px 0 0;
  padding: 0 20px;
  text-align: right;
}
.g-text h4{
  padding: 0 20px 5px;
  border-bottom: 1px solid #c1c1c1;
  background: none;
  color: #231815;
}

/* greeting main-text */
.main-text {
  margin: 20px auto;
  padding: 0;
}
.main-text p {
  text-align: justify;
  line-height: 1.7;
  margin-bottom: 10px;
}

/* greeting end ----------------------------------------------------------- */

/* program ----------------------------------------------------------- */
/* program-header */
.program h3{
  padding: 10px 0;
  text-align: center;
  border-radius: 0;
  border: none;
  background: rgba(255,245,113,1);
  color: #484848;
}

/* p-section */
.p-section { margin: 20px auto 20px;}

/* p-section-header */
.p-section h3{
  padding: 10px;
  text-align: left;
  border-radius: 0;
  border-left: 10px solid rgba(236,108,31,0.5);
  background: #fff8a8;
  color: #484848;
}
.p-section h4{ 
  padding-bottom: 5px;
  border-bottom: 1px solid #dadada;
  background: none;
  color: #6d6d6d;
}
.p-section h4 span{ color: #ec6c1f;}
.p-section h5{
  display: inline-block;
  max-width: 80px;
  width: 100%;
  max-height: 35px;
  height: 100%;
  margin: 5px 20px;
  padding: 5px 0;
  letter-spacing: .1rem;
  text-align: center;
  font-weight: 500;
  vertical-align: middle;
  border-radius: 0;
  border: 1px solid #ec6c1f;
  outline: none;
  color: #231815;
}
.p-section h5::before{ content: ""; margin: 0; padding: 0;}

/* 座長・演者 */
.p-section dl{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0 20px;
  width: 100%;
  margin: 0 40px;
  line-height: 2;
}
.p-section dl:last-of-type{ margin-bottom: 20px;}
.p-section dt{
  display: inline-block;
  margin: 5px 0;
  padding: 0;
  letter-spacing: .1rem;
  text-align: left;
  font-weight: 500;
  vertical-align: middle;
  border-radius: 0;
  border: none;
  outline: none;
}
.p-section dd{ 
  margin: 5px 20px;
  padding: 0;
  font-weight: 500;
  text-align: left;
  vertical-align: middle;
}

/* 横並び：座長/演者＋名前（所属） */
.p-name,.speaker { 
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 0 20px;
  margin: 0;
}
.p-name dl{ margin: 0;}

/* 横並び：演題名＋演者名 */
.speaker{ flex-direction: column; width: 100%;}
.speaker dd{ margin: 5px 20px;}

/* 共催 */
.co-sp h5{ background: rgba(255,245,113,0.5); color: #ec6c1f;}
.co-sp dl{ margin: 0;}
.co-sp dd{ margin: 5px 0;}

/* 演題名 */
.p-title dl{ margin: 0;}
.p-title dt { 
  max-width: 80px;
  width: 100%;
  max-height: 32px;
  letter-spacing: .1rem;
  text-align: center;
  border-radius: 0;
  background: rgba(242,201,204,0.5);
  color: #D98B8B;
}
.p-title dd { 
  max-width: 760px;
  width: 100%;
  margin: 5px 0;
  font-weight: 700;
  text-align: left;
  color: #FF7F7F;
}
.p-title dl:last-of-type{ margin: 0;}

/* 概要etc */
.p-box {
  margin: 0 auto;
  padding: 10px;
  border-radius: 0;
  background: #FFFEF4;
}
.p-box h4{ 
  margin: 0 0 15px;
  padding: 5px 20px;
}

/* 顔写真付き all ------------------- */
/* 顔写真付き：横並び（右image/左text） */
.photo-box {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-evenly;
  align-items: center;
  gap: 0 20px;
  margin: 0 auto;
}
/* 顔写真付き：text */
.photo-text{ max-width: 700px; width: 100%;}
.photo-text h5{ margin: 5px 0;}
.photo-text dl{ margin: 0;}
.photo-text >.p-title dd,.speaker >.p-title dd{ text-align: left;}

/* 顔写真付き：photo */
.photo-image { max-width: 200px; width: 100%; text-align: center;}
.photo-image img{ max-width: 160px; width: 100%; border-radius: 50% /* 適宜調整 */;}

/* 顔写真付き：逆並び（左text/右image） */
.p-photo.re:nth-child(odd){ flex-direction: row-reverse;}

/* 顔写真付き：縦並び（image+text） */
.var{ 
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-width: 200px;
  width: 100%;
}
.var > .photo-text dl{ flex-direction: column; flex-wrap: wrap; margin-bottom: 0;}
.var > .photo-text dt,.photo-text dd{ text-align: center;}

/* 企業展示 ------------------- */
.photo-box.ex { margin-bottom: 40px;}
.photo-box.ex > .photo-text { max-width: 500px;}
.photo-box.ex > .photo-image { max-width: 400px;}
.photo-box.ex > .photo-image img { max-width: 400px; border-radius: 10px;}

/* program end ----------------------------------------------------------- */

/* period ----------------------------------------------------------- */
.period{
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  line-height: 2;
}
.period dl{
  margin: 0 40px;
  padding: 0;
}
.period dt{
  display: inline-block;
  width: auto;
  padding: 0 10px;
  vertical-align: middle;
}
.period dd{
  display: inline-block;
  width: auto;
  margin-left: 0;
  padding: 0 20px;
  vertical-align: middle;
}

/* period Individual-settings ----------------------- */
/* period-align */
.period.center dl{ margin: 0 auto;}

/* period-border */
.period.border dl{ border-bottom: 1px solid #ccc;}

/* period-color */
.period.dtcol dt{ color: #84787B;}

/* period margin&padding-change */
.n-box .period dl{ padding: 0;}
.period .note{ margin-left: 0;}

/* period-width */
.dtw60 dt{ width: 60px;}
.dtw160 dt{ width: 160px;}
.dtw200 dt{ width: 200px;}
.dtw250 dt{ width: 250px;}
.dtw350 dt{ width: 350px;}

/* period end ----------------------------------------------------------- */

/* movie ----------------------------------------------------------- */
/* iframe 単体用 ＊埋め込み動画掲載時は必ず使用 */
.iframe-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin: 5px auto 20px;
  overflow:auto; 
  -webkit-overflow-scrolling:touch;
}
.iframe-wrap iframe {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  border:none;
  display:block;
}

/* 動画横並び用flex */
.movie-flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 15px auto;
}

/* 動画を小さく表示 & 横並び用box */
.movie-box{ margin: 0 5px; width: 45%;}

/* iframe 横並び用 ＊埋め込み動画掲載時は必ず使用 */
.iframe-wrap-flex {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin: 5px auto 20px;
  overflow:auto; 
  -webkit-overflow-scrolling:touch;
}
.iframe-wrap-flex iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:none;
    display:block;
}

/* 動画に沿えるテキスト・画像 */
.movie p { text-align: center;}
.movie img{ width: 100%;}

/* movie end ----------------------------------------------------------- */

/* map ----------------------------------------------------------- */
.map {
  display: block;
  margin: 10px auto;
  text-align: center;
}
.map iframe { width: 90%; height: 450px;}

/* map end ----------------------------------------------------------- */

/* banner ----------------------------------------------------------- */
.flexbox.bn{ 
  flex-direction: column;
  flex-wrap: wrap;
  max-width: 1400px; /* 適宜修正 */
  width: 100%;
  margin: 0 auto;
}
#sp-bn,#link-bn{ margin: 20px auto;}
.banner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  text-align: center;
  align-items: flex-start;
  gap: 10px 20px;
}
.bn-box { max-width: 250px; width: 100%;}
.bn-box img {
  max-width: 250px;
  width: 100%;
  border: 1px solid #fff;
}
.bn-box p { font-weight: 600;}

/* banner end ----------------------------------------------------------- */

/* arrow ----------------------------------------------------------- */
/*リンクを右下に固定*/
#arrow {
  position: fixed;
  bottom: 5%;
  right: 1%;
  z-index: 2;
   /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}
#arrow a {
  /*天地中央にテキストを配置*/
  display: flex;
  align-items: center;
  justify-content: center;
  /*円の形状*/
  width: 60px;
  height: 60px;
  box-sizing: border-box;
  padding: 0 20px;
  line-height: 80px;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 50%;
  outline: none;
  border: 1px solid #fff8a8;
  background: #fff8a8;
  color: #231815;
}
#arrow a:hover { 
  border: 1px solid #fff;
  background: #fff;
  color: #f7b63d;
}

/*　上に上がる動き　*/
#arrow.upmove{ animation: UpAnime 0.5s forwards;}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*　下に下がる動き　*/
#arrow.downmove{ animation: DownAnime 0.5s forwards;}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}

/* arrow up */
a.arrow-up {
  display: block;
  position: relative;
  text-align: center;
  background: currentColor;
}
a.arrow-up::after {
  content: '';
  position: absolute;
  width: 0.7em;
  height: 0.7em;
  box-sizing: border-box;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  border-bottom: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  transform: translateY(3px) rotate(-45deg);
  transform-origin: top right;
  top: 35%;
  bottom: 0;
  right: 50%;
}
a.arrow-up:hover::after{ transform: translateY(-5px) rotate(-45deg);}

/* menu-arrow */
.n-arrow li a {
  position: relative;
  display: inline-block;
  padding-left: 25px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.n-arrow li a:before {
  content: '';
  width: 18px;
  height: 18px;
  background: none;
  outline: none;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.n-arrow li a:hover:before{ outline: none;}
.n-arrow li a:after {
  content: '';
  width:0;
  height:0;
  border-style: solid;
  border-width: 8px 0 8px 12px;
  border-color: transparent transparent transparent #f7b63d;
  position: absolute;
  top: 0;
  left: 5px;
  bottom: 0;
  margin: auto;
  -webkit-transition: .3s;
  transition: .3s;
}
.n-arrow li a:hover:after{ 
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  border-color: transparent transparent transparent #FFFEF4;}

/* arrow end ----------------------------------------------------------- */

/* contact ----------------------------------------------------------- */
.contact-box{
  display: block;
  max-width: 1100px;
  width: 100%;
  margin: 30px auto 0;
}
.contact{
  max-width: 700px;
  width: 100%;
}
.contact table {
  margin: 0 auto;
  line-height: 2.0rem;
  border-spacing: 0;
  border-collapse: collapse;
}
.contact th {
  width: 20%;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  padding: 20px 10px;
}
.contact td {
  width: 80%;
  text-align: left;
  line-height: 1.5;
  vertical-align: middle;
  padding: 20px 10px;
}

/* contact end ----------------------------------------------------------- */

/* deco ----------------------------------------------------------- */
/* text-deco */
.bold { font-weight: 700;}
.under{ text-decoration: underline;}
.line-th{ text-decoration: line-through;}
.color{ color: #ec6c1f;}
.gray{ filter: grayscale(100%);}
.red { color: #DC0509;}
.marker{ background: linear-gradient(transparent 50%,rgba(243,170,193,0.5) 50%);}

/* arrange */
.center{ text-align: center;}
.left{ text-align: left;}
.right{ text-align: right;}
.letter{ letter-spacing: 0.5rem;}

/* border */
.hr_b01{ margin: 10px 20px; border-top: 1px dashed #dadada;}
.hr_b02{ margin: 10px 20px; border-top: 1px dashed #ec6c1f;}
.hr_b03{ margin: 10px 20px; border-top: 1px dashed #f7b63d;}

/* margin-left 0 */
.m_left{ margin-left: 0; margin-right: 0;}

/* deco end ----------------------------------------------------------- */

/* footer ----------------------------------------------------------- */
footer {
  width: 100%;
  margin: 0;
  padding: 20px 0 0;
  font-weight: 600;
  background: #fff8a8;
}

/* copyright */
.copyright{ padding: 20px 0; text-align: center;}

/* footer内 etc */
#footer .etc { max-width: 1200px; width: 100%; margin: 0 auto;}

/* footer end ----------------------------------------------------------- */

/* inview ----------------------------------------------------------- */
/*ふわっと表示 */
.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show { opacity: 1;}

/* inview end ----------------------------------------------------------- */
/* blur ----------------------------------------------------------- */
/* じわっと表示 */
.fadein-blur{
  opacity: 0;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  transition: opacity 2s, filter 2s; /* アニメーション時間 */
}
.fadein-blur.is-show{
  opacity: 1;
  -webkit-filter: blur(0);
  filter: blur(0);
}

/* blur end ----------------------------------------------------------- */

/* 1280px ----------------------------------------------------------- */

@media screen and (max-width: 1280px) {
  /* side -------------------------------------- */
  .side { max-width: 250px; width: 100%;}

  /* menu -------------------------------------- */
  .menu ul{ margin-left: 0;}

  /* main -------------------------------------- */
  .main { max-width: 990px; width: 100%;}

  /* flexbox -------------------------------------- */
  .flexbox,.flexbox ul{ justify-content: space-around;}

  /* banner -------------------------------------- */
  .banner { justify-content: space-evenly;}
}

/* 1280px end ----------------------------------------------------------- */

/* 1024px ----------------------------------------------------------- */
@media screen and (max-width: 1024px) {
  /* body -------------------------------------- */
  .pc { display: none;}
  .sp { display: initial;}
  .bg { background-image: linear-gradient(90deg,rgba(255,255,255,1) 30%,rgba(255,255,255,0)),url(img/bg-s.png);}

  /* base -------------------------------------- */
  .content {
    flex-direction: column;
    height: 100%;
    padding-bottom: 0;
  }

  /* side -------------------------------------- */
 .side {
    max-width: 1024px;
    margin: 0 auto 50px;
    padding: 0 20px;
  }
  .etc{
    max-width: 1024px;
    margin: 0 auto;
    padding: 0;
  }

  /* menu -------------------------------------- */
  /* ハンバーガー はじまり */
  /* ハンバーガーアイコンの設置スペース */
  .menu-btn {
    height: 50px;
    width: 55px;
    position: fixed;
    z-index: 9999;
    cursor: pointer;
    top: 2px;
    right: 5px;
    background: none;
  }

  /* ×に変化 */
  .menu-btn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    width: 50%;
    height: 3px;
    border-radius: 2px;
    background-color: #ec6c1f;
  }
  .menu-btn span:nth-of-type(1){ top: 15px;}
  .menu-btn span:nth-of-type(2){ top: 23px;}
  .menu-btn span:nth-of-type(3){ top: 31px;}
  .menu-btn.active span:nth-of-type(1){
    top: 18px;
    left: 14px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
  }
  .menu-btn.active span:nth-of-type(2){ opacity: 0;}
  .menu-btn.active span:nth-of-type(3){
    top: 30px;
    left: 14px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
  }

  /* ナビゲーション（メニュー） */
  .menu{
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position: fixed;
    z-index: -1;
    opacity: 0; /*はじめは透過0*/
    /*ナビの位置と形状*/
    top: 0;
    right: 0; /* 右寄せで開く */
    width: 100%; /* デフォルト：100% */
    height: 100vh;
    background: #fff;
    /*動き*/
    transition: all 0.3s;
  }

  /*アクティブクラスがついたら透過なしにして最前面へ*/
  .menu.panelactive{
    opacity: 1;
    z-index: 999;
  }

    /*ナビゲーションの縦スクロール*/
  .menu.panelactive .menu-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  /*ナビゲーション*/
  .menu ul{
    display: none;
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top: 50%; /* デフォルト：50% */
    left: 8%; /* デフォルト：50% */
    transform: translate(0,-50%);/* デフォルト：-50%,-50% */
  }
  .menu.panelactive ul{ display: block;}

  /*リストのレイアウト設定*/
  .menu ul
  .menu li{
    list-style: none;
    border-bottom: none;
  }
  .menu li a{
    display: block;
    max-width: 1024px;
    width: 100%;
    padding: 5px 5px 5px 30px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.1em;
  }
  .menu li a::before{ top: 8px; left: 5px;}  
  .menu li a:hover::before{
    top: 0;
    left: 5px;
    padding: 5px 0;
  }
  .menu li a:after{ left: 5px;}

  /* ナビゲーション（メニュー）おわり */

  /* main -------------------------------------- */
  .main { max-width: 1024px; margin-top: 20px; padding-bottom: 50px;}

  /* flexbox -------------------------------------- */
  .flexbox,.flexbox ul{ flex-wrap: wrap; }

  /* table -------------------------------------- */
  /* fee-width */
  .fee.feew th:nth-of-type(1){ width: 493px;}

}

/* 1024px end ----------------------------------------------------------- */

/* 768px ----------------------------------------------------------- */
@media screen and (max-width: 768px) {
  /* body -------------------------------------- */
  .bg { 
    background-image: linear-gradient(90deg,rgba(255,255,255,1)0,rgba(255,255,255,0)),url(img/bg-s.png);
    background-size: contain;
    background-position: right 2%;
    background-attachment: scroll;
  }

  /* header -------------------------------------- */
  .logo{ padding: 5px 40px 5px 10px; text-align: left;}

  /* side -------------------------------------- */
  .side { padding: 0 10px;}

  /* base -------------------------------------- */
  .content{ margin: 0 auto;}

  /* main -------------------------------------- */
  .main { max-width: 768px; padding: 0;}
  section{ background: rgba(255,255,255,0.7);}

  /* box -------------------------------------- */
  .n-box.imp dl{ flex-wrap: wrap; margin-bottom: 5px;}
  .comingsoon-box{ padding: 20px;}

  /* list -------------------------------------- */
  .list ul li{ margin: 0 0 0 33px;}
  .list ol li{ margin-right: 0;}
  .list li li{ margin-left: 25px;}

  /* table -------------------------------------- */
  /* event */
  .event th,.event td{ display: block; width: 100%;}

  /* fee-width */
  .fee.feew th:nth-of-type(1){ width: 318px;}

  /* ナンバー付きflow */
  .number-flow th{ width: 15%; padding: 10px;}

  /* table横スクロール用 */
  .sc{ display: block; overflow-x: auto; -webkit-overflow-scrolling: touch;}
  .sc th,.sc td{ white-space: normal;}
  .sc::-webkit-scrollbar{ width: 10px; height: 10px;}
 
  /* button -------------------------------------- */
  .f-box{ margin: 0 auto 10px;}
  .btn03 { width: 100px; height: 100px;}

  /* Information ------------------------------- */
  .info-box dl{ padding: 10px 20px;}

  /* greeting -------------------------------------- */
  .g-box { flex-wrap: wrap; text-align: left;}
  .g-text{ max-width: 768px; padding: 0 20px;}

  /* program -------------------------------------- */ 
  .p-section h5{ margin: 5px 0;}
  .p-section dl{ margin: 0;}
  .p-name{ flex-wrap: wrap;}

  /* period -------------------------------------- */
  .period dl{ margin: 0;}

  /* arrow -------------------------------------- */
  #arrow a{ width: 50px; height: 50px;}

  /* Contact -------------------------------------- */
  .contact th,.contact td{
    display: block;
    width: 100%;
    padding: 0 30px;
  }
  .contact th{ margin: 10px 0;}

  /* footer -------------------------------------- */
  footer{ padding: 20px 10px 0;}
}

/* 768px end ----------------------------------------------------------- */