@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Bitter:wght@100;300;400&display=swap'); /* header nav */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@500&display=swap');  /* page title */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;700;800&display=swap');　/* Noto Serif Japanese */


/*--------------------------------------------*/
body,input,textarea {
	font-family:"游ゴシック","Yu Gothic","游ゴシック体","YuGothic","メイリオ", meiryo, Osaka, "ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック", sans-serif;
	/*
	font-family:"ヒラギノ明朝 Pro","HiraMinPro","ＭＳ 明朝","ＭＳ Ｐ明朝","HG明朝E","MS PMincho",serif;
	font-family:"ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", sans-serif;
	*/
}
* { box-sizing:border-box; }
body {
	margin:0px;
	padding:0px;
	font-size:100%;
	line-height:1em;
	color:#2a2a2a;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}
header a, footer a { color:#333; text-decoration:none; display:inline-block; }

h1 { font-size:150%; }
h2 { font-size:140%; }
h3 { font-size:130%; }
h4 { font-size:120%; }
h5 { font-size:100%; }
h6 { font-size:100%; }
h1,h2,h3,h4,h5,h6,div,dl,dt,dd,p,a,table,tr,td,address,img,
header ul, footer ul{
	margin:0px;
	padding:0px;
	line-height:1.5em;
	text-align:left;
	font-style:normal;
	list-style:none outside;
}
ul,ol { margin:1em 0; padding:0; } li { line-height:1.3em; margin:0 0 .5em; }
header li, footer li { line-height:1em; margin:0; }
i,em { font-style:normal; } u { text-decoration:none; } sup,sub { font-size:60%; }
/*************/
#clear, .clear { clear:both; }
.c { margin-left:auto; margin-right:auto; }
.l { float:left; }
.r { float:right; }
.t_c { text-align:center; }
/*img.l { margin:0 10px 10px 0; }
img.r { margin:0 0 10px 10px; }*/

._pcOnly{
  display: inline-block;
  @media screen and (max-width:870px){
    display: none;
  }
}

._spOnly{
  display: none;
  @media screen and (max-width:870px){
    display: inline-block;
  }
}

._pcOnly2{
  display: block;
  @media screen and (max-width:870px){
    display: none;
  }
}

._spOnly2{
  display: none;
  @media screen and (max-width:870px){
    display: block;
  }
}

/* table */
table { width:100%; border-collapse:collapse; border-spacing:0; margin-top:20px; margin-bottom:20px; }
thead th, thead td { background:#000; color:#FFF; font-weight:bold; }
thead th           { border-bottom-color:#FFF; border-left-color:#FFF; border-right-color:#FFF; }
thead th:first-child { border-left-color:#000; border-right-color:#FFF; }
thead th:last-child  { border-left-color:#FFF; border-right-color:#000; }
thead th:only-child  { border-left-color:#000; border-right-color:#000; }
tbody th             { border-bottom-color:#FFF; }
th,td { border:1px solid #000; padding:15px; text-align:center; }
th    { width:20%; background-color:#000; font-weight:bold; color:#FFF; }
td    {  }
thead + tbody tr:first-child th { border-top-color:#FFF; }
tbody tr:first-child th { border-top-color:#000; }
tbody tr:last-child th  { border-bottom-color:#000; }

/* * */
ul.aster { list-style:none; padding:0; }
p.aster::before,
.aster li::before { content:"※"; }
p.aster,
.aster li { padding-left:1em; text-indent:-1em; margin:0; line-height:1.5em; }

/* -------------------------------------------- */
a 			{ text-decoration:underline; color:#2a2a2a; }
a:hover     { text-decoration:none; }
/* --------------------------------------------*/

::selection {
  background-color: #ffebcd;
}


.inner {
	display:block; clear:both; padding:0; margin-left:auto; margin-right:auto;
	width:980px; position:relative;
	text-align:justify; text-justify:inter-ideograph; /* IE用 */
	font-feature-settings:"palt";

	padding: 0 30px;
	box-sizing: border-box;
	font-family:'Bitter','Noto Serif JP',serif; 
}


header a, footer a { display:block; }

header           { width:100%; height:64px; margin:0 auto; display:flex; justify-content:space-between; background:#fff; position: fixed; top:0; left:50%; z-index: 999;
    transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
    padding: 0 30px;
}
header div { width:980px; margin:10px auto 0 auto; display:flex; justify-content:space-between; }

header h1        { width:90px; height:auto; margin:0px 0 0px 32px; padding:0; }
header h1 img    { width:100%; }
header nav       { position:relative; margin-right:17px; }
header nav ul    { font-family:'Bitter',serif; font-weight:400; display:flex; justify-content:flex-start; flex-grow:1; margin:0px; column-gap:8px; }
header nav ul li { flex-grow:inherit; box-sizing:border-box; margin:0 4px; padding:0; display:inline-block; }
header nav ul li:hover,header nav ul li.current { border-radius:0; border-bottom:2px solid #2a2a2a; transition:all .08s linear; }
header nav ul li a { padding:5px 15px; margin:0px; box-sizing:border-box; cursor:pointer; display:inline-block; text-decoration:none; vertical-align:baseline; width:auto; min-width:100px; text-align:center; letter-spacing :.1em; }

/* ハンバーガーメニュー用チェックボックスを非表示にする */
.drawer_hidden { display:none; }



footer              { width:980px; display:flex; margin:25px auto 28px auto; justify-content:center; flex-wrap:wrap; }
footer address      { width:100%; font-family:'Noto Serif JP',serif; font-weight:400; text-align:center; padding: 0 30px; margin-top:211px;}
footer address small{
  font-size: 11px;
}
footer address.about_address { text-align:left; margin-top:50px; }
footer address.about_address a    { display: inline-block; }
footer ul.policy    { display:flex; justify-content:center; flex-wrap:wrap; width:100%; text-align:center; row-gap:15px; margin-top:25px; }
footer ul.policy li { width:100%; font-family:'Noto Serif JP', serif; font-weight:400; font-size:15px; }
footer ul.policy li a { text-align:center; }
footer nav          { display:flex; width:100%; justify-content:center; margin-top:35px; }
footer nav ul       { display:flex; margin-bottom:15px;column-gap:10px; }
footer nav ul li    { width:39px; height:39px; }
footer nav ul li img{ width:100%; }
p.copyright         { color:#2a2a2a; font-family:'Bitter',serif; font-weight:100; font-size:0.875em; }
footer .update{
  width: 100%;
  margin-top: 40px;
  padding: 0 30px;
  text-align: left;
  font-family:'Noto Serif JP',serif;
}


/* --------------------------------------------
ページ読み込み時フェードイン用
-----------------------------------------------*/
main{
    display:none;
    width:980px;
    margin:64px auto 0 auto;

}
/* --------------------------------------------*/



a.link_btn     { height:36px; text-align:center; font-size:14px; font-weight:300; text-decoration:none;  color:#fff; display:flex; justify-content:center; align-items:center; letter-spacing:0.15em; width:115px; padding:3px; transition:all 0.2s ease, visibility 0s; border:4px double #FFFFFF; background:#3e3e3e; touch-action:manipulation; margin:0 auto; }
a.link_btn:hover   { background:#fff; border:3px double rgb(11, 47, 91); transition:all 0.2s ease, visibility 0s; color:#2a2a2a; padding:0px; box-sizing:border-box; }






/* --------------------------------------------------------------------------------------
TOP
-----------------------------------------------------------------------------------------*/

#mv .inner     { display:flex; justify-content:space-between; margin-bottom:62px; padding: 0px 0px 0 15px;}
#mv .inner img { width:100%; height:auto; object-fit:cover; }


#information{
  width: 750px;
  margin: 98px auto 0 auto;
  @media screen and (max-width:870px){
    width: 90%;
    margin: 75px auto 0 auto;
  }
  .inner{
    width: 100%;
    padding: 30px 60px;
    border: 1px solid #000;
    @media screen and (max-width:870px){
      padding: 20px;
    }
    h3 {
      font-family: 'Bitter',serif;
      font-weight: 300;
      margin-bottom: 20px;
      text-align: center;
      @media screen and (max-width:870px){
        font-size: 0.875em;
      }
    }
    ul{
      margin: 0 auto;
      li{
        display: flex;
        align-items: flex-start;
        gap: 0 30px;
        font-family: 'Bitter',serif;
        font-size: 15px;
        line-height: 1.4;
        @media screen and (max-width:870px){
          gap: 0 15px;
          font-size: 0.575em;
        }
        &:not(:last-child){
          margin-bottom: 20px;
          @media screen and (max-width:870px){
            margin-bottom: 15px;
          }
        }
      }
    }
  }
}

#intro p           { text-align:center; font-weight:300; margin:0 0 43px 0; line-height:1.7em; font-size:15px; }
#intro p a         { height:36px; text-align:center; font-size:14px; font-weight:300; text-decoration:none;  color:#fff; display:flex; justify-content:center; align-items:center; letter-spacing:0.15em; width:115px; padding:3px; transition:all 0.2s ease, visibility 0s; border:4px double #FFFFFF; background:#3e3e3e; touch-action:manipulation; margin:0 auto; }
#intro p a:hover   { background:#fff; border:3px double rgb(11, 47, 91); transition:all 0.2s ease, visibility 0s; color:#2a2a2a; padding:0px; box-sizing:border-box; }
#intro p:last-child{ margin:0; }

#intro .column2-top {
  display:flex;
  justify-content:center;
  margin: 20px auto 0 auto;
  width: 70%;
}
#intro .column2-top p{
  margin-bottom: 15px;
}

#seminar_workshop h3,#specialist h3,#adviser h3   { font-size:1.875em; font-family:'Bitter',serif; font-weight:300; margin:98px auto 50px auto; text-align:center; }
#seminar_workshop ul           { width: 100%; margin:0 auto; display:flex; justify-content:flex-start; flex-wrap:wrap; list-style:none; gap:60px 26px; }
#seminar_workshop ul li        { width:210px; height:195px; box-sizing:border-box; border:solid 1px #d2d2d2;  }
#seminar_workshop ul li a      { width:100%; height:100%; text-align:center; text-decoration:none; color:#2a2a2a; display:flex; align-items:center; justify-content:center; flex-direction:column; font-family:'Noto Serif JP', serif; font-weight:300; font-size:0.625em; }
#seminar_workshop ul li a span { display:flex; margin:0; width:100%; height:73px; justify-content:center; align-items:center; font-weight:700; }


#specialist ul      { width:840px; margin:0 auto; display:flex; justify-content:flex-start; flex-wrap:wrap; list-style:none; gap:60px 89px; font-family:'Noto Serif JP', serif; font-size:0.875em; font-weight:300; padding:0; }
#specialist ul li   { width:143px; height:165px; text-align:right; }
#specialist ul li a { width:143px; height:165px; border:none; }
#specialist ul li img { width:100%;margin:0 0 5px 0; }

#adviser p   { text-align:center; font-weight:300; margin:0 0 43px 0; line-height:1.7em; font-size:0.875em; }
#adviser p:last-of-type:not( #adviser figure figcaption p )        { text-align:left; width:740px; margin:0 auto; line-height:1.8em; font-size:0.875em; }
#adviser figure               { width:535px; margin:30px auto; display:flex; justify-content:space-between; align-items:center; }
#adviser figure img           { width:144px; }
#adviser figure figcaption    { width:324px; display:flex; flex-direction:column; font-size:15px; }
#adviser figure figcaption h4 { font-size:1.25em; }
#adviser figure figcaption p  { font-size:15px; text-align: left;}

#intro p.sp_item1{margin-bottom: 28px;}
#intro p.sp_item2{margin-bottom: 33px;}


/* --------------------------------------------------------------------------------------
about
-----------------------------------------------------------------------------------------*/
#about .inner,#support .inner,#brand .inner,#entry .inner,#contact .inner,#exhibition .inner { /*font-family:'Bitter','Noto Serif JP',serif;*/ }
#about .inner h2,#support .inner h2,#entry .inner h2,#contact .inner h2,#exhibition .inner h2   { font-size:3em; font-family:'Bitter',serif; font-weight:400; margin:40px auto 50px auto; text-align:center; }
#about .inner p, #support .inner p { font-size:0.875em; font-weight:300; margin:0 0 20px 0; line-height:1.8em; }
#about .inner h3    { font-size:1em; font-weight:700; text-decoration:underline; }
#about .inner dl    { width:268px; margin:0 auto; display:flex; flex-direction:column; flex-wrap:wrap; }
#about .inner dl dt { font-size:1em; font-weight:700; border:solid 2px #2a2a2a; padding:20px; display:flex; justify-content:center; align-items:center; font-weight:300; }
#about .inner dl dd { padding-left:35px; padding-bottom:65px; margin-bottom:20px; position:relative; }
.about_red          { color:#F65F58; margin-left:10px; }

#about .inner h2{margin: 155px auto 70px auto;}

/*下向き矢印*/
#about .inner dl dd::before{
	content:'';
	display:inline-block;
	vertical-align:middle;
	color:#333;
	line-height:1;
	position:absolute;
	left:128px;
	bottom:0;
	width:3px;
	height:40px;
	background:#000;
}
#about .inner dl dd::after {
	content:'';
	width:15px;
	height:15px;
	border:3px solid #000;
	border-top:0;
	border-right:0;
	transform:rotate(-45deg);
	transform-origin:bottom left;
	position:absolute;
	left:130px;
	bottom:-0.05em;
	box-sizing:border-box;
}
#about .inner dl dd:last-child { padding-bottom:0px; }
#about .inner dl dd:last-child::before,#about .inner dl dd:last-child::after{ display:none; }



/*Entryボタン・Read more（セミナーページ） */
a.entry-btn,a.read_more              { font-size:0.875em; font-weight:300; margin:0 0 0 20px; position:relative; display:inline-block; text-decoration:none; border:1px solid #2a2a2a; border-radius:0;
                                       background:#fff; padding:0.2rem 2rem; cursor:pointer; color:#2a2a2a; -webkit-transition:all 0.3s; transition:all 0.3s; }
a.entry-btn:hover,a.read_more:hover  { color:#fff; background:#2a2a2a; }
/*PDF*/
a.pdf-btn         { width:60px; height:99px; display:block; margin-top:5px; }
a.pdf-btn img     { width:100%; height:100%; }

footer address small{
  font-size:0.575em;
}
footer address.about_address      { font-size:0.875em; }
footer address.about_address span { font-size:1em; font-weight:700; text-decoration:underline; }


/* --------------------------------------------------------------------------------------
support
-----------------------------------------------------------------------------------------*/
#support .inner h2 {margin: 160px auto 10px auto;}
#support .inner p:nth-of-type(1) { text-align:center; margin-bottom:50px; }
//#support .inner p:nth-of-type(4) { text-align:center; margin:170px auto 75px auto; }
#support .inner ul        { display:flex; justify-content:center; flex-wrap:wrap; list-style:none; gap:60px 78px; }
#support .inner ul li     { width:233px;text-align:right; }
#support .inner ul li img { height:348px; }
#support .inner ul li a   { color:#2a2a2a; text-decoration:none; font-weight:300; }
#support .inner ul li a ol    { display:flex; justify-content:center; align-items: flex-end; flex-direction: column; list-style:none; gap: 0; margin: 0;}
#support .inner ul li a ol li    { margin: 0; line-height: 1.4; }

#support .inner .results:not(:first-of-type){
  margin-top: 60px;
  border-top: 1px solid #aaa;
}

#support .inner h3 {
  margin: 80px auto 10px auto;
  padding: 6px 30px;
  border: 1px solid #000;
  width: fit-content;
  font-size: 1.2em;
  font-weight: normal;
}

#support .inner .achievement_text {
  margin-top: 40px;
  text-align: center;
}

#support{
  &.-top{
    & h2{
      margin-top: 75px;
      margin-bottom: 0;
      font-size: 1.375em;
      @media screen and (max-width:870px){
        font-size: 1.125em!important;
      }
    }
  }
}

/* --------------------------------------------------------------------------------------
support > 各brand　事業者
-----------------------------------------------------------------------------------------*/

#brand .inner h2,#specialist_into .inner h2         { font-weight:300; font-size:2.75em; }
#brand .inner h2.-h2024{
  display: none;
}
#brand .inner figure,#specialist_into .inner figure { display:flex; justify-content:space-between; margin:0 70px 50px 70px; }
#brand .inner figure { margin:0 10px 50px 10px; }
#brand .inner figure img,#specialist_into .inner figure img{ width:429px; }
#brand .inner figure figcaption    { width:400px; display:flex; justify-content: center; align-items:center; flex-direction:column; font-size:1.5em; }
#brand .inner figure figcaption h3,#specialist_into .inner figure figcaption h3 { font-weight:300; font-size:1.25em; }
#brand .inner figure figcaption h3{font-size:35px; font-weight: bold;}
#brand .inner figure figcaption ol    { display:flex; justify-content:center; align-items: flex-end; flex-direction: column; list-style:none; gap: 0; font-weight: 300;}
#brand .inner figure figcaption ol    { font-size:23px;}
#brand .inner div       { border-top:solid 1px #bdb9b8; border-bottom:solid 1px #bdb9b8;padding:30px 0; font-size:1.125em; text-align:center; line-height:2; }
#brand .inner div h4    { font-weight:700; font-size:1.375em; text-align:center; }
#brand .inner div h4.-new    { margin:35px 70px 0 70px; font-size:1.0em; text-align: left;}

#brand .inner p         {  margin:35px 70px 50px 70px; line-height:1.8em; }
#brand .inner p.-text        {  margin: 0 70px 50px 70px; line-height:1.8em; }
#brand .inner p.-logo{margin: 0 auto; text-align: center;}

#brand .inner ul        { display:flex; justify-content:center; flex-wrap:wrap; list-style:none; gap:60px 30px; }
#brand .inner ul li     { height:429px; width:auto; }
#brand .inner ul li img { width:auto;height:100%; }

#brand .inner ul.links li.hp{width: 125px; height: 30px; font-size: 0.75em;}
#brand .inner ul.links li.hp a{
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #5F5F5F;
  width: 100%;
  height: 100%;
  text-decoration: none;
  &:hover{
    background-color: #CACACA;
  }
}
#brand .inner ul.links li.insta{width: auto; height: 30px; font-size: 1.0em;}

#brand .inner table,#seminar .inner table     { table-layout:auto; font-size:0.875em; display:flex; justify-content:center; border-spacing: 0px 10px;}
#brand .inner tbody     { margin:0 auto; width:300px; }
#brand .inner table th,#seminar .inner th  { color:#2a2a2a; background:none; white-space:nowrap; font-weight:300; }
#brand .inner table th,#brand .inner table td,#seminar .inner table th,#seminar .inner table td { border:none; padding:0px; text-align:left; width:auto; vertical-align:top; }
#brand .inner table td,#seminar .inner table td{ padding-left:15px; }
#brand .inner table td a img{ width:39px; height:39px; }
#brand .inner table td ol    { display:flex; justify-content:center; align-items: flex-start; flex-direction: column; list-style:none; margin:0; }
#brand .inner table td ol li    { margin: 0; line-height: 1.4; }



/* --------------------------------------------------------------------------------------
Specialist
-----------------------------------------------------------------------------------------*/
#specialist_into .inner figure               { margin:0 0px 50px 25px; flex-wrap:wrap; }
#specialist_into .inner figure figcaption    { width:428px; display:flex; flex-direction:column; font-size:1em; margin: auto; padding-bottom: 80px; }
#specialist_into .inner h2                   { font-size:1.75em; }
#specialist_into .inner figure figcaption h3 { margin-top:60px; font-size:1.375em;margin-bottom:45px; }
#specialist_into .inner figure figcaption h4 { font-size:1.75em; font-weight:700; }
#specialist_into .inner figure figcaption h5 { font-size:1.25em; font-weight:400; }
#specialist_into .inner figure div           { width:100%; z-index:3; margin-top:-95px; display:flex; flex-direction:row-reverse; }
#specialist_into .inner figure div p         { font-size:0.875em;color:#fff;background:#434343; padding:30px; width:585px; }
#specialist_into .inner figure span          { font-size:0.775em; text-align: right; margin-top: 10px; margin-left: auto;}

#specialist_into.type02{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#specialist_into.type02 .inner{
  width: 46%;
  padding: 0 0;
}

#specialist_into .inner figure{
  margin:0 0px 50px 0;
  flex-wrap:wrap;
}

#specialist_into.type02 .inner figure figcaption{
  width: fit-content;
  margin: 20px auto;
  padding-bottom: 0;
  display:flex;
  flex-direction:column;
  font-size:1em;
}


#specialist_into.type02 .inner figure div{
  width: 90%;
  z-index: 0;
  margin-top: 0;
  margin: 0 auto;
  display: flex;
  flex-direction: row-reverse;
}

#specialist_into.type02 .inner figure img{
  width: 90%;
  margin: 0 auto;
}


#specialist_into .seminar_link{
  width: 100%;
  font-size:0.875em;
}

/* --------------------------------------------------------------------------------------
Entry
-----------------------------------------------------------------------------------------*/
#entry .inner h2 {margin:20px auto 20px auto}
#entry .link_btn {margin:20px auto;}
#entry h3      { font-size:1em; line-height:1.8em; font-weight:700; margin:45px auto 5px auto; text-align:center; }
#entry h4      { font-size:0.9em; line-height:1.8em; font-weight:700; margin:45px auto 25px auto; text-align:center; }
#entry ul      { margin:0; list-style:none; font-size:0.75em; }
#entry ul li   { margin:0 0 10px 0; padding:0; text-align:center; }
#entry ul li a { text-decoration:none; }
#entry p   { font-size: 0.9em; line-height: 1.6em;}
#entry p.-small   { font-size: 0.8em;}


/* --------------------------------------------------------------------------------------
Contact
-----------------------------------------------------------------------------------------*/
#contact p   { width:460px; margin:0 auto 10px auto; }
#contact p input,
#contact p textarea { width:100%; padding:5px; border:none; outline:solid 2px #373b4d; font-family:'Bitter','Noto Serif JP',serif; }
#contact textarea       { height:100px; }
#contact p:last-of-type { text-align:center; }
#contact p input[type="submit"] { width:110px; height:40px; background:#373b4d; color:#fff; margin:0 auto; }

#contact p .formError .formErrorContent{background:#fff;border:none; outline:none; color:#cc0000;padding:0; }
#contact p div    { border:none; outline:none; }
#contact .inputOk { background:#fff; }
#contact .inputError,#contact .inputError:focus{ background:#fea7ab; border:none; outline:2px solid red; }



/* --------------------------------------------------------------------------------------
Seminar
-----------------------------------------------------------------------------------------*/
#seminar .inner h2 { font-size:1.25em; margin:60px 0 30px 0; }
#seminar .inner h2:first-of-type { margin:0px 0 30px 0;}
#seminar .inner p,#seminar .inner table,#seminar .inner ul  { margin:0 0 20px 60px; }
#seminar .inner table { width:auto; justify-content:flex-start; border-collapse: separate; border-spacing: 0px 10px;}
#seminar .inner table *:not(.read_more) { border:none; padding:0; text-align: left;}
#seminar .inner table tbody{width: 100%;}
#seminar .inner table td { display:block; }
#seminar .inner ul.seminar_photo{ display:flex; list-style:none; flex-wrap:wrap; gap:20px; }
#seminar .inner ul.seminar_photo li {width: auto; height: 230px; margin:0;}
#seminar .inner ul.seminar_photo li img {width: auto; height: 100%;border:solid 4px #fff;box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.35);}

#seminar .inner ul:not(.seminar_photo),#seminar .inner ol { counter-reset:list; list-style-type:none; padding:0;}
#seminar .inner ul:not(.seminar_photo) li        { position:relative; padding:0 0 0 20px; margin:7px 0 7px 0px; line-height: 1.8;}
#seminar .inner ul:not(.seminar_photo) li:before { counter-increment:list; content:""; display:block; position:absolute; left:0px; height:10px;
                                                   width:10px; border-radius:50%; background:#ccc; top:15px; -moz-transform: translateY(-50%);
                                                   -webkit-transform:translateY(-50%); -o-transform:translateY(-50%); -ms-transform:translateY(-50%);
                                                   transform: translateY(-50%);}
#seminar .inner ol    { margin:0 0 20px 60px; }
#seminar .inner ol li { position:relative; margin:7px 0 20px 35px; padding-left:10px;line-height: 1.8;}
#seminar .inner ol li:before{
  counter-increment: list;
  content: counter(list);
  position: absolute;
  left: -35px;
  width: 30px;
  height: 30px;
  background: #000;
  text-align: center;
  color: #fff;
  top: 15px;
  line-height: 1.8;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  line-height: 30px;
}


/* --------------------------------------------------------------------------------------
Privacy
-----------------------------------------------------------------------------------------*/
#privacy .inner h2         { font-size:1.4em; font-weight: bold; text-decoration: underline;}
#privacy .inner p         {  margin:20px 0 20px 0; font-size: 0.9em; line-height:1.8em; }

/* --------------------------------------------------------------------------------------
Sitepolicy
-----------------------------------------------------------------------------------------*/
#sitepolicy .inner h2         { font-size:1.4em; font-weight: bold; text-decoration: underline;}
#sitepolicy .inner h3         { margin-top:20px; font-size:0.9em; font-weight: bold; text-decoration: underline;}
#sitepolicy .inner p         {  margin-bottom: 20px; font-size: 0.9em; line-height:1.8em; word-wrap: break-word;}
#sitepolicy .inner p strong         {font-weight: bold;}


/* --------------------------------------------------------------------------------------
exhibition
-----------------------------------------------------------------------------------------*/
#exhibition{
  .inner{
    p{
      @media screen and (max-width:870px){
        font-size: 0.825em;
      }
    }
    #information {
      margin-top: 40px;
      margin-bottom: 20px;
      h3{
        @media screen and (max-width:870px){
          font-size: 1.025em;
        }
      }
      p{
        margin-top: 20px;
        @media screen and (max-width:870px){
          font-size: 0.825em;
        }
      }
    }
    .link_list{
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      list-style: none;
      gap: 20px 40px;
      li{
        border: solid 1px #5F5F5F;
        outline: solid 1px #5F5F5F;
        outline-offset: 2px;
        margin: 2px;
        &:hover{
          background-color: #5F5F5F;
        }
        a{
          display: flex;
          justify-content: center;
          align-items: center;
          width: 300px;
          padding: 4px 0;
          text-decoration: none;
          &:hover{
            color: #ffffff;
          }
        }
      }
    }
  }
}


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


↓↓↓↓↓レスポンシブ用↓↓↓↓↓


-----------------------------------------------------------------------------------------*/
@media screen and (max-width:870px){

/*ハンバーガーメニューアイコンクリック時*/
.scroll_off       { overflow:hidden; }

header,footer     { width:100%;  z-index:1; }
header            { height:60px; padding: 0; position:relative; }
header nav        { display:flex; flex-direction:row-reverse; position:relative; margin-right:0; }
footer            { margin:30px 0; font-size:0.75em; }
footer address    { line-height:1.5; width:100%; text-align:center; margin-top:0px;}
footer address.about_address      { display:block; margin:60px 0; }
footer ul.policy li { font-size:0.625em; }

header h1         { margin: 22px 0 0 22px;}
header h1 img     { width:80%; }
header div        { width:100%; margin:0; position:relative; }

p.copyright       { font-size:1em; }

/* ハンバーガーアイコンの設置スペース */
.drawer_open      { display:flex; height:80px; width:80px; justify-content:center; align-items:center; position:relative; z-index:100; cursor:pointer; }

/* ハンバーガーメニューのアイコン */
.drawer_open span,.drawer_open span:before,.drawer_open span:after {
                    content:''; display:block; height:2px; width:25px; border-radius:2px; background:#333; transition:0.5s; position:absolute; }

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before { bottom:10px; }
/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after  { top:10px; }
/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span         { background:rgba(255, 255, 255, 0); }
/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before { bottom:0; transform:rotate(45deg); }
#drawer_input:checked ~ .drawer_open span::after  { top:0; transform:rotate(-45deg); }
  
/* メニューのデザイン*/
header nav ul.menu-content {
    display:flex/*none*/;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    width: 100%;
    height:100vh;
    min-height:100vw;
    position: fixed;
    top: 0;
    left: 0%;
    z-index: 80;
    background-color: #fff;
    transition: all 0.5s;
    display: none;

    padding-top:20%;
    font-weight:300;
    font-size: 1.125em;
}


header nav ul li                                { list-style:none; height:auto; flex-grow:initial; text-align:center; }
header nav ul li.current,header nav ul li:hover { border-bottom:none; }
header nav ul li.current a                      { color:#f65f58; }

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .menu-content { left:0; display: flex;}





main,.inner { width:100%; box-sizing:border-box;  }
main {margin:20px auto 0 auto;}
.inner      { padding:0 20px; }
/* --------------------------------------------------------------------------------------
TOP
-----------------------------------------------------------------------------------------*/
#mv .inner     { width:100%; padding:0; }
#mv .inner img { width:100%; height:auto; margin-right:0px; }
#mv .inner h2  { font-size:1em; }

#seminar_workshop h3,
#specialist h3,
#adviser h3   {
  font-size:0.875em;
  margin:75px auto 23px auto;
}

#seminar_workshop ul,
#specialist ul{
  width:100%;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px 0;
}

#specialist ul { font-size:11px;}
#specialist ul li { width:46%; height:auto; display:block;}

#seminar_workshop ul li {
  aspect-ratio:1;
  width: 46%;
  height: auto;
  display:block;
}

#seminar_workshop ul li span {
  padding: 0 2px;
  font-size: 0.5rem;
}

#intro p, #adviser p { text-align:left; font-size:0.625em; }
#intro p a           { margin:0; font-size:0.625em; }
#adviser figure      { width:100%; justify-content:flex-start; }
#adviser figure img  { margin-right:20px; width:30%; max-width:144px; }
#adviser figure figcaption,#adviser p:last-child{width:auto; }
#adviser figure figcaption h4 { font-size:0.75em; }
#adviser figure figcaption p  { font-size: 0.625em; }
#adviser p:last-child {margin:0; }



#intro .column2-top {
  width: 100%;
}
#intro .column2-top p{
  margin-bottom: 0;
  text-align: center;
}
#intro p.sp_item1 { width:40%;}
#intro p.sp_item2 { order:3; width:100%; } 
#intro p.sp_item3 { order:2; margin-bottom:20px; width:50%;  }

#adviser p:last-of-type:not( #adviser figure figcaption p ){width: 100%;font-size: 0.625em;}

/* --------------------------------------------------------------------------------------
about
-----------------------------------------------------------------------------------------*/
#about .inner h2, #support .inner h2, #entry .inner h2, #contact .inner h2, #exhibition .inner h2{margin:30px auto; font-size:1.375em; }
#about .inner h3,#about .inner dl dd { font-size:0.75em; }
#about .inner p, #support .inner p   { font-size:0.75em; }
#about .inner dl dt                  { font-size:0.875em; }
footer address.about_address span    { font-size:1.2em; }
footer address.about_address a    { display: inline-block; }
footer address.about_address         { margin:30px 0px; font-size:1em; text-align:left; }
footer .update{
  margin-top: 20px;
  font-size:1.2em;
}
/*Entryボタン・Read more（セミナーページ） */
a.entry-btn,a.read_more {padding: 0.2rem 1rem;}

/* --------------------------------------------------------------------------------------
support
-----------------------------------------------------------------------------------------*/
#support .inner h2 { margin-bottom:10px; }
#support .inner p { font-size:0.75em; }
#support .inner p:nth-of-type(1) { text-align:left; margin-bottom:35px; }
#support .inner p:nth-of-type(4) { text-align:left; margin:50px auto 35px auto; }
#support .inner ul        { gap:20px 75px; margin-bottom:10px; }
#support .inner ul li     { width:auto; font-size:0.75em; }
#support .inner ul li a   { width:100%; display:block; text-align:right; }
#support .inner ul li img { width:auto; height:auto; max-height:300px; display:block; margin-bottom:10px; }

#support .inner .results:not(:first-of-type){
  margin-top: 40px;
}

#support .inner h3 {
  margin: 40px auto 0 auto;
  padding: 6px 30px;
}

#support .inner .achievement_text {
  text-align: center;
  font-size: 0.75em;
}

/* ---------------------------------- ----------------------------------------------------
support > 各brand　事業者
-----------------------------------------------------------------------------------------*/
#brand .inner h2,#specialist_into .inner h2{ font-size:1.25em; }
#brand .inner figure { display:block; margin:0; }
#brand .inner figure img,#specialist_into .inner figure img                { margin:0 auto; width:100%; }
#brand .inner figure figcaption,#specialist_into .inner figure figcaption  { width:100%; }
#brand .inner figure figcaption    { padding:20px 0; }
#brand .inner figure figcaption    { font-weight:700; font-size:1em; }
#brand .inner figure figcaption h3 { margin:0; font-size:1.25em; font-weight: 400; }
#brand .inner div       { font-size:0.625em; padding:10px 0; line-height:1; }
#brand .inner div h4    { font-size:1.2em; margin-top:10px;}

#brand .inner p         { width:100%; padding:10px 0px; line-height:1.8; margin:0; font-size:0.625em; }
#brand .inner ul        { gap:10px; }
#brand .inner ul li     { width:auto; height:auto; max-width:150px; margin:0; }
#brand .inner ul li img { width:100%;height:auto; }
#brand .inner table     { font-size:0.625em; }

#brand .inner div h4.-new    { width:100%; padding:0; margin:0; font-size:1.1em; line-height:1.9;}

#brand .inner p.-text        {  width:100%; padding:0; margin:0; font-size:1.1em; line-height:1.8;}
#brand .inner p.-logo{width:80%; padding:0; margin:0 auto;}
#brand .inner p.-logo img{width:100%;}

#brand .inner p.-text        {  width:100%; padding:0; margin:0; font-size:1.1em; line-height:1.8;}
#brand .inner p.-logo{width:80%; padding:0; margin:0 auto;}
#brand .inner ul.links{
  align-items: center;
}
#brand .inner ul.links li.hp{
  width: 120px;
  height: 22px;
}
#brand .inner ul.links li.insta{
  width: 39px;
  height: 39px;
}

#brand .inner h2.-h2024{
  display: block;
  text-align: center;
  font-size: 25px;
  font-weight: bold;
  margin:10px auto;
}

#brand .inner figure.-h2024 figcaption h3{
  display: none;
}

#brand .inner figure figcaption ol {
  font-size: 14px;
}

/* --------------------------------------------------------------------------------------
Entry
-----------------------------------------------------------------------------------------*/
#entry h3 { text-align:center; font-size:0.75em; }
#entry h4 { text-align:center; font-size:0.70em; }
#entry p   { font-size: 0.75em;}
#entry p.-small   { font-size: 0.65em;}

/* --------------------------------------------------------------------------------------
Contact
-----------------------------------------------------------------------------------------*/
#contact p { width:100%; }

/* --------------------------------------------------------------------------------------
Specialist
-----------------------------------------------------------------------------------------*/
#specialist_into .inner figure               { margin:0; }
#specialist_into .inner figure div           { margin-top:0; font-size:0.625em; }

#specialist_into .inner figure div p         {width:100%; padding:20px; line-height:1.8; }
#specialist_into .inner figure figcaption    { margin: auto; margin-top: 10px; padding-bottom: 0; }

#specialist_into .inner figure figcaption h3 { margin:20px 0; font-size:0.875em; }
#specialist_into .inner figure figcaption h4 { font-size:1em; }
#specialist_into .inner figure figcaption h5 { margin-bottom:20px; font-size:0.875em; }
#specialist_into .inner figure span           { margin-top:5px; font-size:0.525em; }

#specialist_into.type02{
  width: 100%;
}

#specialist_into.type02 .inner{
  width: 100%;
  padding: 0 20px;
}

#specialist_into.type02 .inner.type02{
  margin-top: 40px;
}

#specialist_into.type02 .inner figure{
  margin: 0;
  flex-wrap:wrap;
}

#specialist_into.type02 .inner figure figcaption{
  width: 100%;
  margin-top: 10px;
  margin-bottom: 0;
  padding-bottom: 0;
}


#specialist_into.type02 .inner figure div{
  width: 100%;
}

#specialist_into.type02 .inner figure img{
  width: 100%;
}


#specialist_into .seminar_link{
  width: 90%;
  margin: 20px auto 0 auto;
  font-size:0.525em;
}

#specialist_into .seminar_link a{
  display: block;
  width: fit-content;
  margin: 5px auto 0 auto;
}


/* --------------------------------------------------------------------------------------
Seminar
-----------------------------------------------------------------------------------------*/
#seminar .inner h2 { font-size:1.6em; }
#seminar .inner    { font-size:0.625em; }
#seminar .inner p,#seminar .inner table,#seminar .inner ul  { margin:0 0 10px 20px; }
#seminar .inner ul.seminar_photo    { margin:0 0 10px 20px; display:flex; justify-content:center; }
#seminar .inner ul.seminar_photo li { height:155px; }
#seminar .inner ul:not(.seminar_photo) li:before {top:10px;}
#seminar .inner ol                  { margin:0 0 10px 20px;padding: 0;}
#seminar .inner ol li               { margin: 7px 0 10px 15px;}
#seminar .inner ol li:before        { top:10px;width:20px;height: 20px;line-height:20px; margin: 0 0 10px 15px;left: -30px;}
#seminar .inner p.has-small-font-size {
  font-size: 0.6em!important;
  line-height: 1.2;
}

/* --------------------------------------------------------------------------------------
Privacy
-----------------------------------------------------------------------------------------*/
#privacy .inner h2         { font-size:1.2em;}
#privacy .inner p         {font-size: 0.8em;}


/* --------------------------------------------------------------------------------------
Sitepolicy
-----------------------------------------------------------------------------------------*/
#sitepolicy .inner h2         { font-size:1.2em;}
#sitepolicy .inner h3         {font-size:0.8em;}
#sitepolicy .inner p         {font-size: 0.8em;}

#page-top {
position: fixed;
bottom: 200px;
right: 20px;
}
#page-top a {
  margin       : auto;
  overflow     : hidden;
  position     : relative;
  width        : 42px;
  height       : 42px;
  background   : #ffffff;
  border-radius: 50%;
  /*box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.80);*/
  border: solid 1px #808080;
}
#page-top a:hover {
text-decoration: none;
background: #999;
}
#page-top a:before { content:""; border:0; border-top:solid 2px #555; border-right:solid 2px #555;
    display: inline-block; transform: rotate(-45deg) translate(-50%,-50%); width:12px; height: 12px;
    top:40%; left: 56%;

	position: absolute;
}
}