/*---------------------*/
/*	基本設定　basic
/*---------------------*/
html {
	letter-spacing: 0;
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
}
body {
-moz-font-smoothing: antialiased;
-webkit-font-smoothing: antialiased;
font-size: 4.6875vw;
color: #000000;
}
p, div, span, dd, dt {
letter-spacing: 0.01em;
line-height: 1.8em;
}
ol, ul {
list-style: none;
}
a {
	text-decoration: none;
}
a:link, a:visited {
	color: #ffffff;
}
.roboto_black900{font-family: 'Roboto', sans-serif;font-weight: 900;}
.sp-none{display: none;}
/*---------------------*/
/*	header
/*---------------------*/
/*******ハンバーガーstart********/
/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 200;
  left : calc(50vw - 6.5625vw);
  bottom   : 8.75vw;
  width : 13.125vw;
  height: 13.125vw;
  cursor: pointer;
  text-align: center;
	background-color: #000000;
	border-radius: 6.5625vw;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 8.125vw;
  height  : 2px ;
  left    : 2.5vw;
  background : #ffffff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 3.125vw;
}
.hamburger span:nth-child(2) {
  top: 6.25vw;
}
.hamburger span:nth-child(3) {
  top: 9.375vw;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 6.25vw;
  left: 8px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 6.25vw;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index : 100;
  top  : 0;
  right : 0;
  color: #fff;
  background: rgba(0,0,0,0.7);
  text-align: left;
  width: 100vw;
	height: 100vh;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
	visibility: hidden;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
	position: absolute;
	bottom:31.25vw;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding:0 0 0 2vw;
  width: 100%;
  transition: .4s all;
	font-size: 7.8125vw;
	font-weight: bold;
	border-bottom:1px solid #999999;
}
nav.globalMenuSp ul li:first-child {
	border-top:1px solid #999999;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 0.5em 0;
  text-decoration :none;
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  opacity: 100;
	visibility: visible;
}
/*******ハンバーガーend********/
/*---------------------*/
/*	メイン
/*---------------------*/
main{
}
#mainvisual{
	background: url(../img/mainvisual_back.jpg);
}
#mainvisual section{
	width: 100vw;
	height: 100vh;
	margin: auto;
	background: url(../img/mainvisual-sp.jpg) no-repeat;
	background-size: cover;
	background-position: top center;
}
h1.mvh1{
	margin:0 auto;
	padding-top:calc(40vh);
	text-align: center;
	font-size: 14.375vw;
	font-family: 'Roboto', sans-serif;
}
h2.mvh2{
	margin:0.9375vw auto;
	font-size:4.375vw;
	text-align: center;
	letter-spacing: 0.1em;
}
/*---------------------*/
/*	理念
/*---------------------*/
#top_philosophy{
	background: url(../img/mainvisual_back.jpg);
}
#top_philosophy section{
	padding:3.125vw;
}
#top_philosophy h1.phh1{
	margin:0 auto;
	font-family: 'Noto Serif JP', serif;
	text-align: left;
	font-size: 6.25vw;
	font-weight: 600;
	letter-spacing: 0em;
	line-height: 1.5em;
}
#top_philosophy .mvv{
	margin:0 auto;
	padding-top:6.25vw;
	padding-bottom:18.75vw;
}
#top_philosophy .mvv_block{
 	font-family: 'Noto Serif JP', serif;
	font-size: 3.125vw;
	font-weight: 600;
	line-height: 2em;
	letter-spacing: 0.08em;
	text-align: left;
	margin: 0 0 2em 0;
}
#top_philosophy .mvv_block:last-child{
	margin: 0;
}
#top_philosophy .mvv_block dt.title{
	font-size:1.6em;
	font-family: 'Roboto', sans-serif;font-weight: 900;
}
#top_philosophy .mvv_block dd.big{
	margin:0;
	font-size:1.2em;
}
#top_philosophy .mvv_block dd.small{
	margin:0;
	font-size:1em;
	font-weight:normal;
}
#top_philosophy .more{
	font-family: 'Noto Serif JP', serif;
	font-size: 3.125vw;
	text-align: right;
}
#top_philosophy .more a{
	color:#000;
}
/*---------------------*/
/*	理念_詳細
/*---------------------*/
#detail_philosophy{
	background: url(../img/mainvisual_back.jpg);
}
#detail_philosophy section{
	padding:3.125vw;
}
#detail_philosophy h1.phh1{
	margin:0 auto;
	font-family: 'Noto Serif JP', serif;
	text-align: left;
	font-size: 6.25vw;
	font-weight: 600;
	letter-spacing: 0em;
	line-height: 1.5em;
}
#detail_philosophy .mvv{
	margin:0 auto;
	padding-top:6.25vw;
	padding-bottom:18.75vw;
}
#detail_philosophy .mvv_block{
 	font-family: 'Noto Serif JP', serif;
	font-size: 3.125vw;
	font-weight: 600;
	line-height: 2em;
	letter-spacing: 0.08em;
	text-align: left;
	margin: 0 0 3em 0;
}
#detail_philosophy .mvv_block:last-child{
	margin: 0;
}
#detail_philosophy .mvv_block dt.title{
	font-size:1.6em;
	font-family: 'Roboto', sans-serif;font-weight: 900;
}
#detail_philosophy .mvv_block dd.big{
	margin:0.5em 0 0 0;
	font-size:1.2em;
}
#detail_philosophy .mvv_block dd.small{
	margin:0;
	font-size:1em;
	font-weight:normal;
}
#detail_philosophy .more{
	font-family: 'Noto Serif JP', serif;
	font-size: 3.125vw;
	text-align: right;
}
#detail_philosophy .more a{
	color:#000;
}
/*---------------------*/
/*	news
/*---------------------*/
#news{
	margin: auto;
	padding-bottom: 21.875vw;
}
#news a{
	color: #000000;
}
#news h3{
	margin:0 auto;
	font-size: 15.625vw;
	color: #000000;
	letter-spacing: 0.1em;
	line-height: 0.75em;
}
#news section {
  width: auto;
  margin-left: 0;
  padding: 0 6.25vw;
}
.news_detail {
 	height: auto;
 	border-bottom: 2px solid #000000;
 	position: relative;
 	margin-top: 12.5vw;
}
.news_detail ul {
 	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0;
}
.date {
	font-size: 3.4375vw;
	height: auto;
	width: 18.75vw;
  border-bottom: 1.25vw solid #000000;
}
.date span {
  display: block;
}
.dt {
	width: 62.5vw;
	font-size: 4.0625vw;
}
.dt span{
	display: block;
	line-height: 1.5em;
}
#news .more{
	text-align: right;
}
#news .more a{
	color: #000000;
}
/*---------------------*/
/*	about
/*---------------------*/
#about {
  width: 100%;
  color: #ffffff;
  z-index: 1;
}
#about section {
	margin: auto;
  width: 100%;
  z-index: 2;
}
#about section .inner{
	background-color: #000000;
	margin-left:0;
	padding:6.25vw 6.25vw 21vw 6.25vw;
}
h3.abh3 {
	background-color: #000000;
	width: 100%;
	margin: 0;
  font-size: 15.625vw;
  color: #000000;
  letter-spacing: 0.1em;
	line-height: 11.875vw;
	height: 12.5vw;
}
.outline {
  display        : inline-block;
	text-shadow    :
       1px  1px 1px #ffffff,
      -1px  1px 1px #ffffff,
       1px -1px 1px #ffffff,
      -1px -1px 1px #ffffff,
       1px  0px 1px #ffffff,
       0px  1px 1px #ffffff,
      -1px  0px 1px #ffffff,
       0px -1px 1px #ffffff;        /* 文字の影 */
}
#about h4 {
	margin: 0;
  font-size: 8.75vw;
	font-weight: 600;
  letter-spacing: 0.1em;
}
.h4-number {
	font-size: 12.5vw;
	color: #000000;
}
.h4-1 {
	color: #ffffff;
	font-size: 6.25vw;
}
.h4-2{
	color: #ffffff;
	font-size: 6.25vw;
	letter-spacing: 0.01em;
}
.service_ttl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.service_ttl h5 {
	margin: 0 0 3.125vw 0;
  border: 0.5vw solid #ffffff;
  width: 47.5%;
  height: 15.625vw;
  font-size: 4.5vw;
  line-height: 15.625vw;
  text-align: center;
  display: inline-block;
}
.service_ttl h5 .s{font-size: 80%;}
.abp{text-align: justify;margin:0;}
dl.abdl{
}
dl.abdl dd{
	margin:0;
}
.block {
	height: 20vw;
	background-color: #000000;
	/*-webkit-clip-path: polygon(0 0, 100% 0%, 100% 10%, 0 100%);*/
	clip-path: polygon(0 0, 100vw 0, 100vw 0, 0 20vw);
}

/*---------------------*/
/*	work
/*---------------------*/
#work{
	margin: auto;
	padding-bottom: 9.375vw;
}
#work h3{
	margin:12.5vw auto;
	text-align: center;
	font-size: 15.625vw;
	color: #000000;
	letter-spacing: 0.1em;
}
#work section {
  width:auto;
	position: relative;
  margin-left: 0;
  padding: 0 6.25vw;
	display: flex;
  flex-wrap: wrap;
  justify-content: center;
	width: auto;
}
#work section dl {
  margin:0 auto 12.5vw auto;
	width: auto;
}
.work01 {
  background: url(../img/work01@2x.jpg) no-repeat;
  background-size: contain;
}
.work02 {
  background: url(../img/work02@2x.jpg) no-repeat;
  background-size: contain;
}
.work03 {
  background: url(../img/work03@2x.jpg) no-repeat;
  background-size: contain;
}
.work04 {
  background: url(../img/work04@2x.jpg) no-repeat;
  background-size: contain;
}
#work section dl dd{
	margin: 0;
	text-align: justify;
}
#work section dl dt {
  width: 67.5vw;
  height: 45vw;
  margin: auto;
}
#work a{
	color:#000000;
}
/*---------------------*/
/*	company
/*---------------------*/
#company {
  width: 100%;
  background-color: #d9dee1;
  position: relative;
}
#company h3{
	margin: 0 auto;
	font-size: 15.625vw;
	color: #ffffff;
	letter-spacing: 0.03em;
	line-height: 0.75em;
}
#company section {
  margin: auto;
  width: auto;
  position: relative;
}
.company_dt{
	padding:6.25vw;
}
.company_dt dl{
	display: flex;
}
.company_dt dt{
	font-size: 4.0625vw;
  width: 15.625vw;
  height: 7.8125vw;
  line-height: 7.8125vw;
	background-color: #ffffff;
  display: inline-block;
  text-align: center;
}
.company_dt dd{
	margin:0;
	margin-left:6.25vw;
}
.map{
	width: 100%;
}
.map iframe{width: 100%; height: calc(100vw);display: block;}
/*---------------------*/
/*	contact
/*---------------------*/
#contact {
  width: 100%;
  background-color: #000000;	
	padding: 15vw 0;
}
#contact h3 {
	margin: 0 auto;
  padding-top: 15.625vw;
  text-align: center;
  font-size: 15.625vw;
  color: #ffffff;
  letter-spacing: 0.03em;
}
#contact section {
  margin: auto;
  padding: 0;
  width: auto;
  }
#contact section dl.phone {
  width: 100%;
	font-size: 6.25vw;
	color: #ffffff;
	text-align: center;
	margin: 0 0 10vw 0;
}
#contact section dl.phone dt {
	text-align: center;
}
#contact section dl.phone dt img {
  width: 13.125vw;
  height: auto;
}
#contact section dl.phone dd {
	text-align: center;
  font-size: 4.375vw;
	margin: 0;
}
#contact section dl.privacy {
  width: 100%;
	font-size: 6.25vw;
	color: #ffffff;
	text-align: center;
	margin: 0 0 0 0;
}
#contact section dl.privacy dt{
  font-size: 3.5vw;
}
#contact section dl.privacy dt img {
  width: 18.75vw;
  height: 10.5vw;
  padding-top: 6.25vw;
}
#contact section dl.privacy dd {
  font-size: 3.5vw;
	margin:0 0 0 0;
}
footer {
  height: 15.625vw;
}
footer p {
  font-size: 3.125vw;
  line-height: 15.625vw;
  height: 15.625vw;
	text-align: center;
}
/*---------------------*/
/*	privacy-policy
/*---------------------*/
#privacy-policy{
	width: 100%;
	padding: 15vw 0;
}
#privacy-policy h3{
	margin: 0 0 2em 0;
  text-align: center;
  font-size: 4.0625vw;
  color: #000000;
  letter-spacing: 0.03em;
}
#privacy-policy section{
   width: auto;
   margin-left: 0;
   padding: 0 6.25vw;
}
#privacy-policy section ul{
	margin:0;
	padding:0;
}
#privacy-policy section ul li{
	font-size: 4.0625vw;
	line-height: 1.5em;
	margin: 0 0 2em 0;
	overflow-wrap: break-word;
}
#privacy-policy .link{
	color: #000000;
	text-decoration: underline;
}
/*---------------------*/
/*	scta
/*---------------------*/
#scta{
	width: 100%;
	padding: 15vw 0;
}
#scta h3{
	margin: 0 0 2em 0;
  text-align: center;
  font-size: 4.0625vw;
  color: #000000;
  letter-spacing: 0.03em;
}
#scta section{
   width: auto;
   margin-left: 0;
   padding: 0 6.25vw;
}
#scta section ul{
	margin:0;
	padding:0;
}
#scta section ul li{
	font-size: 4.0625vw;
	line-height: 1.5em;
	margin: 0 0 2em 0;
	overflow-wrap: break-word;
}
#scta .link{
	color: #000000;
	text-decoration: underline;
}
#scta .title_s{
	font-weight: 600;
	margin: 0 0 0.5em 0;
}
/*---------------------*/
/*	seminar
/*---------------------*/
#seminar {
  width: 100%;
  color: #000000;
  z-index: 1;
  font-size: calc(30 / 750 * 100vw);
}
#seminar section {
	margin: auto;
  width: 100%;
  z-index: 2;
}
#seminar section .inner{
	background-color: #ffffff;
	margin-left:0;
    padding:0;
}
h3.semih3 {
	margin:0 auto;
	font-size: 15.625vw;
	color: #000000;
	letter-spacing: 0.1em;
	line-height: 0.75em;
}
.seminer-detail-wrap{ 
padding:8vw 6.25vw 8vw 6.25vw;
}
#seminar h4 {
	margin: 0;
    font-size: 8.75vw;
	font-weight: 600;
  letter-spacing: 0.1em;
  }
.semi-h4 {
	color: #000000;
	font-size: 6.25vw;
}
.semi-detail{
}
.semi_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.semi_box .title{
width: 100%;
font-weight: 700;
}
.semi_box h5 {
margin: 0 0 3.125vw 0;
  border: 0.5vw solid #000000;
  width: 47.5%;
  height: 15.625vw;
  font-size: calc(46 / 750 * 100vw);
  line-height: 15.625vw;
  text-align: center;
  display: inline-block;
}
.semi_box h5 .s{font-size: 0.7em;}
.semi_box h5 .ss{font-size: 0.5em;}
.seminer-wrap{
  background: #e8e8e8;
  padding:8vw 6.25vw 8vw 6.25vw;
  border-bottom: dotted 1px #000000;
}
.semi-number {
	font-size: 12.5vw;
	color: #000000;
	line-height: 1em;
}
.semi-title-wrap{
line-height: 1.5em;
padding: 0 0 0.2em 0;
}
.level{
color: #000000;
background: #ffff6c;
font-size: 4vw;
letter-spacing: 0.01em;
line-height: 1em;
border-radius: 0.4em;
padding: 0.2em 0.3em;
margin: 0 0.5em 0 0;
}
.semi-title{
	color: #000000;
	font-size: 5vw;
	letter-spacing: 0.01em;
	line-height: 1em;
	font-weight: 700;
}
.semi-time{
font-size:0.9em;
background:#ffffff;
color:#000000;
border-radius:0.2em;
padding:0 0.2em;
}
/*---------------------*/
/*	seminarアコーディオン
/*---------------------*/
.accordion__list {
box-sizing: border-box;
  width: 100%;
  padding: 0;
}
.accordion__input {
  display: none;
}
.accordion__item:nth-child(n+2) {
  margin-top: 5vw;
}
.accordion__head {
box-sizing: border-box;
  position: relative;
  display: block;
  width: 100%;
  padding: 4vw  10vw  4vw  4vw;
  color: #fff;
  background: #000000;
  cursor: pointer;
}
.accordion__head::after {
  content: "+";
  position: absolute;
  top: 3vw;
  right: 5vw;
}
.accordion__body {
box-sizing: border-box;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding: 0 5vw;
  background: #ffffff;
  transition: all .25s ease;
}
.semi-list{
padding: 0;
}
.semi-list-cap{
font-weight: 700;
margin: 0 0 1em 0;
}
.semi-list-u{
display: flex;
margin: 0 0 0.6em 0;
line-height: 1.4em;
}
.semi-list-day{
width:17%;
}
.semi-list-detail{
flex: 1;
}
.accordion__input:checked + .accordion__head + .accordion__body {
  height: auto;
  padding: 5vw;
}
.accordion__input:checked + .accordion__head::after
  {
  content: "-";
  right: 5.5vw;
}