.display-pc { display: block !important; }
.display-sp { display: none !important; }
.cet {text-align:center;}
.img-fluid2 {
    max-width: 70%;
    height: auto;
}

.main-bg {
    width: 100vw; /* ビューポートの幅100% */
    aspect-ratio: 16 / 9; /* アスペクト比 (16:9 例) */
    background-image: url(/assets/img/main_01.png);
    background-size: cover; /* 画像を完全にカバー */
    background-position: center center; /* 中央配置 */
    background-repeat: no-repeat; /* 画像の繰り返しなし */
    display: flex;
    justify-content: flex-start;  /* 左寄せ */
    align-items: center;          /* 垂直中央 */
    height: 100%;
    padding-left:10em;
}
.main-bg2 {
    width: 100vw; /* ビューポートの幅100% */
    aspect-ratio: 16 / 9; /* アスペクト比 (16:9 例) */
    background-image: url(/assets/img/main_02.jpg);
    background-size: cover; /* 画像を完全にカバー */
    background-position: center center; /* 中央配置 */
    background-repeat: no-repeat; /* 画像の繰り返しなし */
    display: flex;
    justify-content: flex-start;  /* 左寄せ */
    align-items: center;          /* 垂直中央 */
    height: 100%;
    padding-left:10em;
}

span.underline_pink {
    background: linear-gradient(transparent 65%,rgba(255,0,0,.2) 0%);
    background-image: linear-gradient(transparent 65%, rgba(255, 0, 0, 0.2) 0%);
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-repeat-x: initial;
    background-repeat-y: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
}


h2.midashi {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  color: #183e2f;
}

h2.midashi:before,
h2.midashi:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  border-top: solid 1px black;
  border-bottom: solid 1px black;
}

h2.midashi:before {
  left:0;
}
h2.midashi:after {
  right: 0;
}

ul.ml-1 li {
  margin-left:-2.5rem;
  list-style:none;
}

ol.ml-2 li {
  margin-left:-0.5rem;
}

.company_info dl {
  display: flex;
  flex-wrap: wrap;
}
.company_info dt {
  width: 28%;
  padding: 20px;
  background-color: #183e2f;
  color:#fff;
  margin: 0 0 10px 0;
  display: flex;
  align-items: center;
  justify-content:  center;
}
.company_info dd {
  width: 72%;
  padding: 20px;
  background-color: #eeeeee;
  text-align:left;
  margin: 0 0 10px 0;
}
.company_info dd:last-child { margin-bottom: 10px!important; }

.company_info ul {
  margin-bottom: 0;
  padding-left: 1.3em;
  line-height: 1.8;
}

table.tbl-r02 {
  margin: 3rem auto;
  width:100%;
  border-top: solid 1px #ccc;
  border-left: solid 1px #ccc;
}

.tbl-r02 th {
  background: #ececec;
  border-bottom: solid 1px #ccc;
  border-right: solid 1px #ccc;
  padding: 0.5rem;
  vertical-align:middle;
  text-align:center;
  font-weight:bold;
  white-space: nowrap;
  box-sizing: border-box;
}

.tbl-r02 td {
  border-bottom: solid 1px #ccc;
  border-right: solid 1px #ccc;
  padding: 0.5rem;
  vertical-align:middle;
  box-sizing: border-box;
}

.tbl-r02 ul {
  margin-bottom: 0;
  padding-left: 1.3em!important;
  line-height: 1.8;
  list-style-type: disc!important;
}

.tbl-r02 ul li {
  padding-bottom:0!important;
}

.notes {
font-size:75%;
color:#1d52aa;
margin-top:2rem;
font-style: oblique;
text-align:center;
}

.sns-bg {
padding:0.2em!important;
background-color:#1b3d2f;
color:#fff!important;
display:block;
text-align:center!important;
margin:0;
border-radius:100vh;
}

.sns-bg a:hover {
opacity:0.7;
}

.lh18 {line-height:1.8!important; }

/*----------------------------------
  メンバー用
------------------------------------*/
.member-fx {
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap:3em 1em;
  padding:0;
}
.member-fx div {
  width: calc((100% - 2em * 2) / 4);
  height:auto;
  overflow:hidden;
  background-color:#fff;
  padding:1em;
  box-sizing: border-box;
}
.member-fx div img {
  width: 70%;
  height:auto;
  overflow:hidden;
  margin:1em 0;
}

/*----------------------------------
  共通
------------------------------------*/
.nowr {white-space: nowrap;}
.bg-col01 {background-color:#ffdfee!important;}
.bg-col02 {background-color:#def1ff!important;}
.bg-col03 {background-color:#ffefb1!important;}

form#mailformpro {
  padding: 0px;
}


/*----------------------------------
  edit sp
------------------------------------*/


@media screen and (max-width: 768px){
.display-pc { display: none !important; }
.display-sp { display: block !important; }

form#mailformpro {
  padding: 2em 0 0;
}

.main-bg {
    aspect-ratio: 1200 / 1840;
    background-image: url(/assets/img/main_01-sp.jpg);
    background-size: cover; /* 画像の比率維持 */
    background-position: top center; /* 上部中央に配置 */
    padding-left:0;
    padding:0.8em;
    align-items: flex-start;
}

.main-bg2 {
    aspect-ratio: 1200 / 1840;
    background-image: url(/assets/img/main_02-sp.jpg);
    background-size: cover; /* 画像の比率維持 */
    background-position: top center; /* 上部中央に配置 */
    padding-left:0;
    padding:0.8em;
    align-items: flex-start;
}

.company_info dt { width: 100%; margin: 0 0 0 0; }
.company_info dd { width: 100%; padding: 20px 10px; }

.otoiawase {
margin-left:0;
}

.member-fx div {
  width: calc((100% - 0.5em* 2) / 2);
}
.member-fx div img {
  width: 100%;
}
.mpost {
font-size:90%;
text-align:justify;
word-wrap:break-word;
}

}

@media screen and (max-width: 767px) {
  :root,
  html:root,
  body:root {
    --lightwidget-lightbox-modal-layout: auto minmax(0, 100vw) !important;
  }
}

