@charset "utf-8";
/* style.css */

/* -----------------------------------------------------------
xxx
------------------------------------------------------------*/
@media screen and (min-width:751px) {
}

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

}


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

}

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


@media screen and (min-width:1600px) {

}
/* top
------------------------------------------------------------*/
#mv {
  position: relative;
  /* height:520px; */
  /* min-height: 620px; */
  overflow: hidden;
  height:calc(1040/2432*100vw);
}
#slide {
  overflow: hidden;
  height:calc(1040/2432*100vw);
}
#slide img {
  height:calc(1040/2432*100vw);
  object-fit: cover;
  width:100%;
}
.mv-img img {
  width:100%;
  max-width:100%;
}
.mv-catch {
  max-width:980px;
  margin:auto;
}
.ttl-mv {
  position: absolute;
  top:0;
  bottom:0;
  left:inherit;
  margin:auto;
  display: flex;
  align-items: center;
}

.wahtsnew {
  margin:0 0 2.3rem;
}
main .ttl {
  font-size: 14px;
  font-weight: bold;
  color:#333;
  padding:0 0 5px 0;
  border-bottom:1px dashed #696969;
}
main .ttl01 {
  font-size: 16px;
  padding-bottom:0;
}
.ttl-en {
  font-size: 14px;
  margin:1rem 0 0.8rem;
}
.wahtsnew * {
  font-size: 12px;
  font-weight: normal;
}
.wahtsnew .ttl {
  margin-bottom:2.5rem;
}
.wahtsnew dl {
  display: flex;
  margin-bottom:1rem;
}
.wahtsnew dt {
  width:6em;
}
.wahtsnew dd {
  width:calc(100% - 6em);
  padding-left:2rem;
  display: inline-block;
}
.pickupbpx {
  border:1px solid #b9b9b9;
  padding:9px 18px 5px;
}
.ttl-pickupbpx {
  font-size: 17px;
  font-weight: normal;
  margin:0 0 1rem 0;
}
.pickupbpx-sub {
}
.pickupbpx-sub-ttl {
  font-size: 14px;
  margin:1rem 0 0;
}
.topics .ttl {
  margin: 1rem 0 1.8rem;
  font-weight: bold;
}
.ttl-sub {
  font-size:10px;
  margin-left:1em;
}
.index-lineup {
  margin-top:4rem;
}
.lineup-flex {
  display: flex;
  flex-wrap:wrap;
  margin:0 -1%;
}
.lineup-flex li {
  width:23%;
  margin:0 1% 4rem;
}
.lineup-flex a {
  display: block;
}
.lineup-flex p {
  margin:0.8em 0 0;
  line-height: 1.3;
}
.lineup-flex .name {
  font-size: 13px;
}
.product_subtl {
  font-size: 12px;
  display: block;
}
.index-bottom {
  margin:4rem 0;
}
.index-bottom ul {
  display:flex;
  justify-content:center;
  max-width: 875px;
  margin: 0 auto 1rem;
}
.index-bottom li {
  text-align: center;
  margin:auto;
}
.fb-like {
  text-align: right;
  margin:2rem 0 4rem auto;
}

/* topics
------------------------------------------------------------*/
.ttl-area {
background: url(../images/top/span_bg_2.jpg) repeat-x;
font-weight: bold;
height: 42px;
display: flex;
align-items: center;
align-content: center;
padding:0.3rem 0.5rem 0 2rem;
margin: 0 auto 3rem;
background-size: cover;
}
.ttl-area .pagettl {
margin:0;
font-size: 16px;
color: #FFF;
line-height: 1.2;
}
.pagettl .sub {
  font-size: 10px;
  color:#fff;
  font-weight: normal;
  margin-left:1em;
  display: inline-block;
  line-height: 1.2;
}
.ttl-header {
  margin-bottom:1rem;
}
.ttl-header.bd {
  border-bottom:2px dotted #909090;
  padding-bottom:1.5rem;
  margin-bottom:2rem;
}
.ttl-header.logotype {
  background: url(../images/common/logotype.svg)no-repeat right center;
  background-size:59px 12px;
  padding-right:4em;
}
.ttl-h1 {
  font-size: 2.4rem;
  font-weight: 500;
  margin:0;
  line-height: 1.5;
  width: 100%;
}
.ttl-header-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  line-height: 1;
  width:100%;
  border-bottom: 1px dashed #909090;
  margin-bottom:3rem;
}
.ttl-header-flex .ttl-h1 {
  width:75%;
  line-height: 1;
  margin-bottom:1.5rem;
}
.ttl-header-flex .ttl-h1 .en {
  font-size: 12px;
  line-height: 1;
  display: block;
  margin-top:10px;
}
.ttl-header-flex .cate {
  width:20%;
  text-align: right;
  margin-bottom:1.5rem;
}
.ttl-header p {
  margin:5px 0 0;
}
.teaching_title_s {
  font-size: 12px;
}
.topics-photo {
  display: flex;
  flex-wrap:wrap;
  margin:3.5rem -3% 0;
}
.topics-photo li {
  width:256px;
  width:27.333%;
  margin:0 3% 4rem;
}

/* about
------------------------------------------------------------*/
.ttl02 {
  font-size: 16px;
  border-bottom:1px solid #909090;
  font-weight: normal;
  margin:1rem 0;
  padding-bottom:0.4rem;
}
.ttl03 {
  font-size: 16px;
  font-weight: bold;
  margin:2rem 0 0.5rem;
}
.ttl04 {
  margin:0 0 0.5rem;
}
.ttl04.mb {
  margin-bottom:1rem;
}
.ttl05 {
  margin:2rem 0 0;
  font-size: 14px;
}
.ttl06 {
  font-size: 14px;
  padding-bottom:0.5rem;
  border-bottom:1px solid #909090;
}
.ttl-staff {
  font-size: 12px;
}
.ttl-staff span {
  font-size: 13px;
}
.ttl07 {
  font-size: 12px;
}
.ttl07 span {
  font-size: 13px;
}
.ttl07.ma0 {
  margin:0;
}

.list-mark li {
  background: url(../images/common/nav-arrow.svg) no-repeat 0 0.2rem;
  padding-left:1em;
  background-size:8px 12px;
  margin:0 0 0.6rem 0;
}
.ttl-img {
  text-align: center;
  font-size: 12px;
  padding: 3px 10px 3px 10px;
  font-weight: bold;
  background: url(../images/top/span_bg.jpg) no-repeat;
  display: inline-block;
  color: #FFF;
  margin:0 0 20px;
}
.ttl-logo {
  margin:10px auto 3rem;
  text-align: center;
}
.teacher-box {
  display: flex;
  justify-content: space-between;
  flex-wrap:wrap;
}

.teacher-img {
  width:36%;
}
.teacher-txt {
  width:62%;
}
.teacher-txt *{
}

.teacher-txt p{
  margin-bottom:0.5rem;
}
.teacher-name {
  font-size: 16px;
  font-weight: bold;
  margin:0;
}

/* program
------------------------------------------------------------*/
.archive-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin:2rem auto 3.5rem;
}
.archive-nav li {
  margin:0 3px 6px;
}
.archive-nav a {
  display: block;
  background: #fff;
  border:1px solid #222;
  font-size: 14px;
  color:#333;
  padding:2px 0.5rem;
  min-width: 2em;
  text-align: center;
}
.archive-nav a:hover,
.archive-nav li.current a {
  background: #222;
  color:#fff;
}
.program-area {
  width:100%;
}
.program-ttl {
  font-size: 13px;
  margin:0 0 2rem;
}
.program-ttl-sub {
  padding-bottom:1rem;
  border-bottom:1px solid #909090;
  max-width:433px;
}
.program-area dl {
  display: flex;
  justify-content: space-between;
  padding:1rem 0;
  min-height: 3.6em;
}
.program-area dl {
  border-bottom: 1px solid #909090;
}
.program-area dt {
  width:7em;
}
.program-area dd {
  width:calc(100% - 7em);
  display: inline-block;
}
.program-area dd a,
.program-archive a {
  background: url(../images/common/nav-arrow.svg)no-repeat right 0.4rem;
  padding-right: 1.5em;
  background-size: 8px 12px;
}
.program-archive dl {
  display: flex;
  border-bottom: 1px solid #909090;
  padding:1rem 0;
  min-height: 3.6em;
}
.program-archive dt {
  margin-right: 1em;
}

.photo1,
.photo2 {
  margin-bottom:2rem;
}
.photo2 {
  display: flex;
  justify-content: space-between;
}
.photo2 .half {
  width:48%;
  margin-bottom:2rem;
}
.program-txt {
  padding: 0.2rem 0 0;
  display: inline-block;
  line-height: 1.6;
}
.program-wrap {
  width:100%;
}
.program-detail {
  margin-bottom:4rem;
  overflow: hidden;
}
.phpoto-flex {
  display: flex;
  flex-wrap:wrap;
  margin:0 -2.25% 2rem;
}
.phpoto-flex li {
  width:28.333%;
  margin:1.5rem 2.25% 2.5rem;
}
.phpoto-flex.flex-wrap {
  flex-wrap:wrap;
}

.team a {
display: inline-block;
line-height: 2;
}
.flex-wrap li {
  margin:0 2.25% 4%;
}
.process_txt {
  line-height: 1.4;
  margin:0.5rem 0 0;
}
.ttl-h1 .ttl-s {
  font-size: 1.5rem;
  font-weight: normal;
  padding-left: 10px;
  font-family: serif;
}
.photo-area {
  margin-bottom:5em;
}
.program-box {
  padding:2rem;
  border:1px solid #7b7b7b;
  margin:3em 0 4em;
}
.ttl-box {
  font-size: 1.8rem;
  font-weight: bold;
  font-family: serif;
  margin:0;
}
.ttl-box-sub {
  font-size: 14px;
  margin:0 0 1.5em;
}
.ttl-box-bold {
  font-weight: bold;
  margin:1em 0 0;
  font-size: 13px;
}
.program-box .pl {
  padding-left:3%;
}

/* teacher
------------------------------------------------------------*/
.teacher-box {
  display: flex;
  padding:2em 0;
  border-bottom:1px solid #ccc;
}
.teacher-box:last-of-type {
  border:none;
}
.teacher-box:first-of-type {
  padding-top:1em;
}
.teacher-box dt {
  font-weight: bold;
  width: 100%;
	margin: 0 0 5px 0;
}
.teacher-box dd {
  width: 100%;
}
.teacher-box .img {
  margin-top:1em;
}

/* product
------------------------------------------------------------*/
.top_category {
  font-size:13px;
  font-weight: bold;
  margin:1rem 0 2rem;
}
.product-flex {
  display: flex;
  flex-wrap:wrap;
  margin: 0 -0.5%;
}
.product-flex li {
  width:24%;
  margin:0 0.5% 3rem;
}
.product_ttl {
  margin:5px 0 0;
  line-height: 1.4;
}
.product_subtl {
  display: block;
  line-height: 1.4;
}
.product3 {
  display: flex;
  flex-wrap:wrap;
  margin:0 -1%;
}
.product3 li {
  width:31.333%;
  margin:0 1% 2rem;
}
.product3 li img {
  width:100%;
}
.product2 {
  display: flex;
  justify-content: space-between;
  flex-wrap:wrap;
  align-items: stretch;
}
.product2 li {
  width:49%;
  margin:0.5rem 0 1.5rem;
}
.product2 li img {
  width:100%;
}
.product2.jc {
  justify-content: center;
}
.product2.jc img {
  width:auto;
}
.product2.jc img.mb {
  margin-bottom:3rem;
}
.contact-area {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: space-between;
  line-height: 1;
  margin:3em 0 5em;
}
.contact-area-btn {
  display: flex;
  align-items: center;
  width:70%;
}
.contact-area-fb {
  width:30%;
  text-align: right;
}
.contact-btn {
  margin-right:1rem;
}
.priceless {
  font-weight: bold;
  border-bottom: 1px dashed #CCCCCC;
  float: left;
  margin-left: 10px;
  font-size: 14px;
}
.staff-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  line-height: 1;
  margin:2rem 0;
}
.staff-flex dt {
  width:75%;
}
.staff-flex dd {
  width:20%;
}
.staff-flex dd img {
  text-align: right;
}
.product-bottom {
  margin:4rem 0 3rem;
}
.product-bottom.mb5 {
  margin-bottom:5rem;
}
.product-thumb-area {
  margin:3rem 0;
}
.product-thumb {
  display: flex;
  flex-wrap:wrap;
  margin:1rem -1%;
}
.product-thumb li {
  width:10.5%;
  margin:0 1% 2%;
  text-align: center;
}
.detail-flex {
  display: flex;
}
.detail-flex dt {
  width:25%;
}
.detail-flex dd {
  width:75%;
  text-indent:-1em;
  margin-left:1em;
}
.staff-support {
  margin:2em 0;
}
.support-flex {
  /* display: flex; */
  justify-content: flex-start;
}
.support-flex2 {
  display: flex;
  justify-content: flex-start;
}
.support-flex li,
.support-flex2 li {
  margin-right: 2rem;
}
.support-flex li img,
.support-flex2 li img {
  margin-bottom:0.5rem;
}
hr.bd {
  margin:2em 0;
  height: 1px;
  background-color: #ccc;
  border: none;
  color: #ccc;
}
.single .vertical img+img {
  margin-top:5.5%;
}
.kv {
  margin-bottom: 1.5em;
}
.contact-area-fb iframe,
.fb-like iframe {
  width:175px!important;
}

/* staff
------------------------------------------------------------*/
.staff-thumb {
  display: flex;
  flex-wrap: wrap;
  margin:2rem -1% 4rem;
}
.staff-thumb li {
  width:18%;
  margin:0 1% 3%;
}
.thumb-flex {
  display: flex;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: space-between;
  height:52px;
}
.thumb-flex .thumb {
  width:33.5%;
}
.thumb-flex .name {
  width:60%;
  margin:0;
  line-height:1.4;
}
.staff-logo {
margin:2rem 0 -1rem;
}
.support-flex ul {
  display: flex;
  flex-wrap:wrap;
}
.support-flex li {
  width:20%;
  margin-bottom:1rem;
}
.prof_title {
  font-size: 14px;
  font-weight: 500;
  margin-bottom:0.5rem;
}
.prof_title.pj {
  margin-top:1.5em;
}
.prof_txt {
  margin:0 0 1em 1em;
}
.prof_detail {
  display: flex;
  justify-content: space-between;
  margin:0 0 1em 1em;
}
.prof_detail dt {
  width:22%;
}
.prof_detail dd {
  width:78%;
  text-indent:-1em;
  margin-left:1em;
}
.related-flex {
  display: flex;
  flex-wrap: wrap;
}
.related-flex li {
  width:auto;
  max-width:168px;
  margin:0 2% 2% 0;
}
.related-flex.img-fix img {
  height:115px;
  width:auto;
}
li.products_name {
  margin-right:3%;
  min-width:15%;
}
.photo-flex {
  display: flex;
  margin:0 -1.5%;
}
.photo-flex li {
  width:30.333%;
  margin:0 1.5%;
}
.profile-img img {
  width:100%;
}
.single.jc {
  width:868px;
  max-width: 100%;
}
.kv3 {
  display: flex;
  justify-content: space-between;
}
.jc .kv3 {
  justify-content: center;
  text-align: center;
}
.kv3 .kv-main {
  width:53.3%;
  padding:0 0.3% 0 0;
  text-align: right;
}
.kv3 .kv-sub {
  width:47%;
  padding:0 1%;
}
.kv3 .kv-sub img + img {
  margin-top:3%;
}
.product-detail.jc {
  max-width:840px;
  margin-left:auto;
  margin-left:auto;
}
.thoughts {
  margin:3em 0 5em;
}
.thoughts-ttl {
  justify-content: space-between;
  border-bottom:1px solid #999;
  margin:1em 0;
  align-items: center;
}
.thoughts-main {
  font-size: 1.4rem;
  margin:0;
}
.thoughts-sub {
  margin:0;
}
.thoughts-sub .gray {
  font-size: 10px;
  color:#333;
}
/* .thoughts-txt {
  margin-left:2em;
} */

/* portfolio
------------------------------------------------------------*/
.ttl-min {
  font-family:serif;
  font-size: 1.8rem;
  font-weight: 500;
  margin:0.5rem 0 1rem;
}
.portfolio {
  margin:2em 0;
}
.fl-img {
  width:26%;
  height: auto;
  float:left;
  margin-right:3%;
}
.portfolio-wrap {
  margin:3.5em auto;
}
.portfolio.flex {
  display: flex;
  justify-content: space-between;
}
.flex .portfolio-main {
  width:28%;
}
.flex .portfolio-detail {
  width:68%;
}
.product3 .img-mb {
  margin-bottom:2rem;
}

/* 	producer
------------------------------------------------------------*/
.producer-wrap {
}
.producer-area,
.producer-detail .inner {
  max-width:760px;
  margin:0 auto;
}
.producer-area {
  margin:3em auto;
	display: block;
}
.producer-area .inner {
  padding:0 1em;
}
  .producer-main {
	  display: block;
    width:100%;
  }
  .producer-sub {
	  display: block;
    width:100%;
    padding-left: 0;
  }
.producer-detail {
  margin:2em auto;
}
.ttl-p1 {
  margin:0 0 0.5em;
  font-size: 1.4rem;
  font-weight: normal;
}
.ttl-p2 {
}
.portfolio-box {
  margin:5em auto;
  border-bottom:1px solid #ccc;
  padding-bottom:4em;
}
.portfolio-box:first-of-type {
  margin-top:1em;
}
.portfolio-box.bd0 {
  border:none;
}
.img-vertical {
  max-width:80%;
  margin:auto;
  text-align: center;
}
.profile-time dl {
  display: flex;
  width:100%;
  margin-bottom:0.5rem;
}
.profile-time dt {
  width:4.5em;
  display: inline-block;
}
.profile-time dd {
  width:calc(100% - 4.5em);
  display: inline-block;
}
.profile-time dt,
.profile-time dd {
  line-height: 1.6;
}
.portfolio-other:last-of-type {
  border:none;
}

@media screen and (min-width:751px) {
  .producer-area {
    display: flex;
    justify-content: space-between;
  }
  .producer-main {
    width:34%;
    max-width:250px;
  }
  .producer-sub {
    width:68%;
    padding-left: 6%;
  }
  .portfolio-other {
    display: flex;
    justify-content: center;
    margin:5em auto 0;
    border-bottom: 1px solid #ccc;
    padding-bottom: 4em;
  }
  .portfolio-other .other-txt {
    width:40%;
    padding:0 2%;
  }
  .portfolio-other .other-img {
    width:56.5%;
    padding:0;
  }
  .portfolio-box .inner {
    padding-left: 5%;
  }
  .profile-time {
    max-width:760px;
    margin:auto;
  }
  .thoughts-ttl {
    display: flex;
  }
  .thoughts-sub {
    display: flex;
    justify-content: flex-end;
    text-align: right;
  }

}

@media screen and (max-width:750px) {
  .producer-area .img-fl {
    width:100%;
    max-width:100%;
    float:none;
    margin:0 0 3% 0;
  }
  .portfolio-other {
    border-bottom: 1px solid #ccc;
    padding: 4rem 0;
  }
  .product2.jc li {
    width:47.5%;
  }
  .product2.jc {
    justify-content: space-between;
  }
  .product2 li {
      width: 47.5%;
  }
}


/* -----------------------------------------------------------
	751px以上
------------------------------------------------------------*/
@media screen and (min-width:751px) {
.teacher01 .teacher-txt,
.teacher01 .teacher-profile {
  padding-left:1rem;
}
.teacher01 {
  width:50%;
}
.teacher02 {
  width:50%;
}
.teacher01 .teacher-profile {
  margin-top:-2em;
}
.teacher-profile {
  width:62%;
  margin:0 0 0 auto;
}
.teacher-name {
  line-height: 1;
}
.teacher-box dt {
  font-weight: bold;
  width: 30%;
	margin: 0;
}
.teacher-box dd {
  width: 70%;
}
.program-flex {
  display: flex;
  justify-content: space-between;
}
.program-main {
  width:55%;
}
.program-sub {
  width:40%;
}
.fr-img {
  float: right;
  margin:0 0 1rem 1rem;
}
.product-bottom-inner {
  padding-left:2rem;
}
.program-detail dl {
  display: flex;
  justify-content: space-between;
  padding:0.5rem 0;
  min-height: 3.6em;
}
.program-detail dt {
white-space: nowrap;
	padding: 0 1.5em 0 0;
}
.program-detail dd {
  width:calc(100% - 9em);
  display: inline-block;
  line-height: 1.6;
}
.product-detail {
  display: flex;
  justify-content: space-between;
  margin:3rem 0;
}
.detail-main {
  width:65%;
  padding-right: 5%;
}
.detail-sub {
  width:33%;
}
.detail-sub h3 {
  margin-top:0;
}
.p2 .detail-main {
  width:55%
}
.p2 .detail-sub {
  width:45%;
}
.detail-main p{
  line-height: 2;
}
.p3 .detail-kv {
  width:50%;
  padding-right:3.9%;
}
.p3 .detail-main {
  width:50%;
}
.single.p3 {
  max-width:868px;
  width: 100%;
}
.kv-txt {
  text-align: right;
  margin-top:0.3em;
}
.long-flex {
  margin:0 -2%;
}
.long-flex li {
  width:auto;
  margin:0 2%;
}
.support-flex.f2 li {
  width:25%;
}
.profile-detail {
  display: flex;
  justify-content: space-between;
  margin-bottom:6rem;
}
.profile-detail.mb {
  margin-bottom:2rem;
}
.profile-img {
  width:40.3%;
  margin-right: 4%;
}
.profile-txt {
  width:55%;
}
.ttl-staff,
.ttl-normal {
  display: flex;
  line-height: 1.4;
}
.ttl-staff span {
  margin-left:-0.5em;
  line-height: 1.4;
  display: inline-block;
  white-space:nowrap;
}
.photo-area .ttl03 {
  margin-top:3em;
}
}

/* -----------------------------------------------------------
	750px以下
------------------------------------------------------------*/

@media screen and (max-width:750px) {
.index-bottom ul {
  flex-wrap:wrap;
  justify-content: center;
}
.index-bottom li {
  width:38%;
  margin:0 2%;
}
.lineup-flex {
  margin:0;
  justify-content: space-between;
}
.lineup-flex li {
  width:47.83%;
  margin:0 0 2rem;
}
main .ttl01 {
  font-size: 14px;
}
.ttl-sub {
  font-size: 9px;
}
.ttl-pickupbpx {
  font-size: 14px;
}
#mv {
height: 294px;
}
.mv-img img {
object-fit: cover;
width: auto;
height: 294px;
object-position: 68% 0;
}
.ttl-mv {
width:249px;
top: inherit;
bottom: 18px;
left: inherit;
margin: 0;
display: block;
}
.wahtsnew .ttl {
  margin:0 0 1.5rem;
}
.fb-like {
  text-align: center;
  margin: 1rem 0 2rem auto;
}
.ttl-h1 {
  font-size: 1.7rem;
}
.ttl-header p {
  margin-top:1rem;
}
.teaching_title_s {
  display: block;
  width:100%;
}
.topics-photo {
  margin:2.5rem 0 1rem;
  justify-content: space-between;
}
.topics-photo li {
  width:47.5%;
  margin:0 0 1.5rem;
}
.right.pdt10 {
  font-size: 11px;
  padding-top:5px;
}
.ttl-area {
  margin-bottom:1.5rem;
}
.teacher-profile {
  margin:1rem 0;
}
.teacher01 {
  border-bottom:1px dotted #ccc;
}
.teacher01,
.teacher02 {
  margin-bottom:3rem;
}
.ttl-img {
  padding:5px 2rem;
  margin-bottom:1.5rem;
  font-size: 15px;
  height: 35px;
  background-size:cover;
  min-width:80px;
}
.ttl-logo {
  max-width: 214px;
}
.w35 {
  margin-bottom:3rem;
}
.about .half-inner .sec4 {
  padding:1rem 0;
}
.teacher-txt {
  width: 58%;
}
/* .archive-nav {
  justify-content: flex-start;
  white-space: nowrap;
  overflow-x: scroll;
  padding: 0 0 1rem 0;
  margin:0 0 1rem;
}
.archive-nav a {
padding: 4px 1.2rem;
display: flex;
} */
.program-ttl {
font-size: 15px;
}
.program-area {
  margin-bottom:4rem;
}
.program-area dl {
  display: block;
}
.program-area dt {
  width:100%;
}
.program-area dd {
  width:100%;
  display:block;
}
.fr-img {
  margin:2rem 0;
}
.ttl03 {
  font-size: 15px;
}
.program-detail dl {
  margin:0 0 2rem;
}
.program-detail dl * {
  line-height: 1.6;
}
.program-archive dl {
  display: block;
}
.phpoto-flex {
  justify-content: space-between;
  flex-wrap:wrap;
  margin:0 0 0.5rem;
}
.phpoto-flex li {
  width: 47.5%;
  margin: 0 0 2rem;
}
.process_txt {
  font-size: 12px;
}
.product-flex {
  margin:0;
  justify-content: space-between;
}
.product-flex li {
  width:47.5%;
  margin:0 0 3rem;
}
.product_ttl {
  font-weight: 500;
}
.product_subtl {
  font-weight: 500;
}
.product3 {
  justify-content: space-between;
  margin:0;
}
.product3 li {
  width:47.5%;
  margin:0 0 2rem;
}
.ttl04 {
  font-size: 14px;
}
.staff-flex,
.contact-area {
  justify-content: center;
}
.contact-area {
  flex-wrap: wrap;
}
.contact-area-btn {
  width:100%;
  margin-bottom: 1em;
}
.contact-area-fb {
  width:100%;
}
.product3 {
  margin-top:3rem;
}
.product-bottom {
  margin: 1rem 0 3rem;
}
.product-thumb {
  margin:0 -3%;
}
.product-thumb li {
width: 27.333%;
margin: 3% 3%;
}
.product-thumb li img {
  width:100%;
}
.staff-thumb li {
  width: 50%;
  margin: 0 0 2rem;
}
.thumb-flex .thumb {
  width: 28%;
}
.thumb-flex .name {
  width: 65%;
}
.ttl07 {
  font-size: 14px;
}
.ttl07.ma0 {
  margin-top:2em;
}
.staff-thumb {
  margin: 2rem 0 3rem;
}
.support-flex ul {
  justify-content: space-between;
}
.support-flex li {
  width:100%;
}
.support-flex li br {
  display: none;
}
.ttl-header-flex .ttl-h1 .en {
  font-size: 10px;
  margin-top: 8px;
}
.ttl-header-flex .cate {
  font-size: 11px;
}
.profile-txt,
.prof_title {
  font-size: 15px;
  margin:2rem 0 1em;
}
.related-flex,
.photo-flex {
  flex-wrap:wrap;
  justify-content: space-between;
  margin:0;
}
.related-flex li.products_name {
  width:100%;
  display: block;
}
.related-flex li {
  width:48%;
  margin:0 0 2rem;
  max-width: 48%;
}
.related-flex li.products_name.txt {
  margin:0 0 0.5em;
  min-width:100%;
}
.related-flex li img,
.photo-flex li img {
  width:100%;
}
.prof_txt {
  margin-bottom:2rem;
}
.photo-flex li {
  width:100%;
  margin:0 0 2rem;
}
}

/* other
------------------------------------------------------------*/
.table-area dl {
  padding:1em 0;
}
.table-area dt {
  font-weight: bold;
}
.syomone {
  text-align: right;
}
.privacy-area p {
  line-height: 2;
  margin-bottom:2em;
}


@media screen and (min-width:751px) {
  .table-area dl {
    display: flex;
  }
  .table-area dt {
    width:20%;
    max-width:12em;
  }
  .table-area dd {
    width:80%;
    padding-left:5%;
  }
  .base-area p {
    letter-spacing: 0.01em;
    line-height: 1.8;
  }
}
@media screen and (max-width:750px) {
  .pagettl .sub {
    display: block;
    width:100%;
    margin:0;
  }
  .table-area dt {
    margin-bottom:0.5em;
  }
  .base-area p {
    letter-spacing: 0.01em;
    line-height: 1.6;
    margin-bottom:2em;
  }
  .base-area li {
    margin-bottom:1em;
  }
  .base-area ul {
    margin-bottom:2em;
  }
}
