@charset "UTF-8";
	
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap');

.weight100   {
    font-weight:100
    }
 
.weight300   {
    font-weight:300
    }
 
.weight400   {
    font-weight:400
    }
 
.weight500   {
    font-weight:500
    }
 
.weight600   {
    font-weight:600
    }
 
.weight700   {
    font-weight:700
    }
 
.weight900   {
    font-weight:900
    }

html {
  overflow: auto;
  scroll-behavior: smooth;
  color: #000000;
  font-size:62.5%
}
body {
  word-wrap: break-word;
  overflow-wrap: break-word;
  margin: 0px;
  padding: 0px;
  font-family: "リュウミン R-KL";
  font-feature-settings: "palt"1;
  line-height: 2em;
  overflow: hidden;
  font-size:1.6em;
}

.full_width{
  max-width: 100vw !important;
  margin: 0 calc(50% - 50vw);
}

.slider-container {
  padding-top: 50px;
}

.slider-layout {
  width: 100%;
}

/* --------------------------
  共通スタイル
-------------------------- */

  .slider-container{
	padding-top:50px;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.slider-layout,
.col-main,
.col-subA,
.col-subB,
.sub-box,
.swiper,
.swiper-wrapper,
.swiper-slide {
  height: 100%;
  min-height: 0;
  max-height: 100%;
  box-sizing: border-box;
}

.slider-layout {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  height: 800px;
  gap: 10px;
}

.col-main {
  position: relative;
  overflow: hidden;
  height: 100%;
}

.col-subA,
.col-subB {
  display: grid;
  gap: 10px;
  height: 100%;
}

.col-subA {
  grid-template-rows: 6fr 3fr;
}

.col-subB {
  grid-template-rows: 3fr 6fr;
}

.sub-box {
  overflow: hidden;
  border-radius: 12px;
}

.copy-overlay {
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  pointer-events: none;
  z-index: 10;
}

/* --------------------------
  スマホ表示（768px以下）
-------------------------- */
@media (max-width: 768px) {

  .slider-container{
	padding-top:70px;
}
  .slider-layout {
    display: block;
    height: auto;
  }

  .col-main {
    height: 700px;
	margin-bottom: 10px;
  }

  .col-subA,
  .col-subB {
    display: none;
  }

  .sub-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
  }

  .sub-col {
    display: grid;
    gap: 10px;
    height: auto;
  }

  .col-A {
    grid-template-rows: 66.66% 33.33%; /* subA：上6 下3 */
  }

  .col-B {
    grid-template-rows: 33.33% 66.66%; /* subB：上3 下6 */
  }

  .sub-box {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 12px;
    height: auto;
  }

  .sub-box::before {
    content: "";
    display: block;
    padding-top: 100%;
  }

  .sub-box .swiper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .sub-box .swiper-wrapper,
  .sub-box .swiper-slide,
  .sub-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .copy-overlay {
    top: 5%;
    width: 120px;
  }
}

/* --------------------------
  PC表示時にSP用構造を非表示
-------------------------- */
@media (min-width: 769px) {
  .sub-wrapper {
    display: none;
  }
}

.swiper-wrapper {
  display: flex !important;
}

.swiper-slide {
  flex-shrink: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

/* クローンと本物の描画ブレを防ぐ追加CSS */
.swiper-slide img {
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* スライド幅を完全固定してズレ防止 */
.swiper-slide {
  min-width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.sub-box {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}
.select {
    border: solid 1px #CCC;
    border-radius: 3px;
    vertical-align: middle;
    font-size: 120%;
    padding: 10px 30px 10px 10px;
}

.ribbon {
  display: inline-block;
  background-color: #5366a2;
  color: white;
  padding: 20px 40px;
  font-size: 180%;
  transform: skewX(-20deg);
  margin: 20px;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing:0.1em;
}
.ribbon span {
  display: inline-block;
  transform: skewX(20deg); /* テキストを元に戻す */
}


.noto{font-family: 'Noto Sans JP', sans-serif;}

.img_box{
	padding:50px 10px 100px;
}

.img_box img{
	max-width:700px;
}

.kimi img{
	max-width:100%;
	box-shadow: 6px 6px 10px rgba(0,0,0,0.12);
}

.qa_70{
	width:70%;
	margin:0 auto;
}

.banner{
	padding-bottom:100px;
}

.mynavi	img{
	display:block;
	width:70%;
	margin:0 auto 100px;
}

.border_top{
	border-top:1px solid #ccc;
	padding-top:100px;
}

.font-b{
	font-size:150%;
}

.column2{
	display:flex;
	justify-content: space-between;
	width:70%;
	margin:0 auto;
}

.column2 > div{
	width:45%;
}




.q_title{
	color:#5265ad;
	font-size:150%;
	padding-bottom:10px;
}

.a_txt{
	padding-bottom:40px;
	font-size:100%;
}

.small-font{
	display:inline-block;
	font-size:60%;
	padding-right:5px;
}

.gothic{
	font-family: 'Noto Sans JP', sans-serif;
}

.slick-prev {
    left: 20px !important;
    top: 50% !important;
}

.slick-next {
    right: 50px !important;
    top: 50% !important;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 50px !important;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.thumb-slide .slick-prev {
    top: 75px !important;
}

.thumb-slide .slick-next {
    top: 75px !important;
}

.slick-prev:before, .slick-next:before {
    color: #4c73b8 !important;
}

.hr{
	display:block;
	width:100% !important;
	text-align:center;
}

.hr_hr{
	border-bottom:2px solid #fff;
	width:82%;
	margin:50px auto 50px;
}

.yellow{
	color:#ffd000;
}

.link {
    color: #000;
    text-decoration: none;
}

.link:hover {
    text-decoration: underline;
}

word-break: break-all;

.flex_center2 {
    display: flex;
    justify-content: center;
}

.image-container {
  position: relative;
  width : 33.33333% ; /* 未対応ブラウザ用フォールバック */
  width : -webkit-calc(100% / 3) ;
  width : calc(100% / 3) ;
  height: 300px;
  overflow: hidden;
}

.image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s, filter 0.5s;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 1;
  transition: opacity 0.5s;
}

.text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-weight: bold;
  text-align: center;
}

.image-container:hover .image {
  transform: translate(-50%, -50%) scale(1.1);

}

.image-container:hover .overlay {
  opacity: 0;
}

.event_title{
	font-size:150%;
	font-weight:bold;
	padding-bottom:-20px;
	padding-left:20px;
	margin-bottom:20px;
	background: linear-gradient(transparent 60%, #fed901 30%);
}

.event_txt {
    font-size: 110%;
    padding-left: 1em;
    line-height: 2.2em;
}

.event_box{
	padding-top:50px;
	 display: flex;
        flex-wrap: wrap;

}

.event_space1{
	padding-left:15em;
}

.event_space2{
	padding-left:18em;
}

.event_space3{
	padding-left:18em;
}

.event_box_inner{
	padding:100px;
}

.event_box > div{
	width:50%;
}

.eventimg{
	width:400px;
}

.leftbox{
	padding-left:180px;
	padding-right:30px;
}

.rightbox{
	padding-right:180px;
	padding-left:30px;
}

.contact_title1{
	font-size:180%;
	width:200px;
	border-bottom:1px solid #000;
	padding-bottom:3px;
	margin:0 auto 0;
}
.contact_title2{
	padding-top:3px;
}

.contact_square1{
	width:100%;
	height:250px;
	margin:0px auto 0;
	background-color:#ccc;
	border-right:1px solid #000;
	border-left:1px solid #000;
	border-top:1px solid #000;
	display: flex;
	flex-direction: column;
    padding: 50px;
	align-items: center;
	text-align:center;
}

.contactw22{
	width:22% !important;
}

.contactw78{
	width:78% !important;
	display:flex;
	justify-content: space-between; 
}

.contact_square1b{
	width:100%;
	height:250px;
	margin:0 auto 0;
	background-color:#fff;
	border-right:1px solid #000;
	border-left:1px solid #000;
	border-bottom:1px solid #000;
	position:relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.contact_square2{
	width:100%;
	height:250px;
	margin:0px auto 0;
	background-color:#d4b67c;
	border-right:1px solid #000;
	border-left:1px solid #000;
	border-top:1px solid #000;
	display: flex;
	flex-direction: column;
    padding: 50px;
	align-items: center;
	text-align:center;
}

.contact_square2b{
	width:100%;
	height:250px;
	margin:0 auto 0;
	background-color:#fff;
	border-right:1px solid #000;
	border-left:1px solid #000;
	border-bottom:1px solid #000;
	position:relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.contact_title{
	font-size:140%;
	padding-bottom:30px;
	letter-spacing:0.1rem;
}

.contact_tel{
    background-image: url(../img/tel_icon.png);
    background-repeat: no-repeat;
    background-size: auto 80%;
    background-position: left 5px center;
    padding-left: 40px;
    display: inline-block;
    margin-bottom:5px;
}

.contact_fax{
    background-image: url(../img/fax_icon.png);
    background-repeat: no-repeat;
    background-size: auto 80%;
    background-position: left 5px center;
    padding-left: 40px;
    display: inline-block;
    margin-bottom:5px;
}


.contact_sub{
	display:inline-block;
	width:3em;
}

.square2_inner{
	display:inline-block;
	text-align:center;
	padding-top:20px;
}

.contact_mail{
	width:auto;
}

.contact_name{
	display:inline-block;
	font-size:120%;
}

.mailform_box > div{
	padding: 0px 0px 40px;
	width:47%; 
}


.contact_mail a{
	color:#fff;
	text-decoration:none;
	display:inline-block;
	background-color:#000;
	padding:10px 40px 10px 100px;
	transition : all 0.5s ease 0s;
	border-radius:100px;
	font-size:80%;
	width:auto;
    background-image: url(../img/button_arrow.png),url(../img/mail_icon.png);
    background-repeat: no-repeat,no-repeat;
    background-size: auto 80%, auto 45%;
    background-position: left 5px center, left 65px center;
}

.contact_mail a:hover{
	color:#fff;
	text-decoration:none;
	background-color:#cc0000;
    background-position: left 15px center, left 65px center;
	
}

.rec_title_w{
	width:500px;
	display:block;
	margin:0 auto;
}


@media screen and (max-width: 1200px) {
  html,
  body {
    font-size: calc(100vw / 80);
  }
}


img{
	max-width:100%;
	height:auto;
}

div{
	box-sizing:border-box;
}


#opv-wrap {
  display: none;
}
video#opv {
  position: fixed;
  top: 0;
  left: 0;
  object-fit: cover;
  width: 100vw;
  height: 100vh;
  vertical-align: bottom;
}
#main_video {
  object-fit: cover;
  width: 100vw;
  height: 800px;
  vertical-align: bottom;
}
main {
  display: none;
  margin: 0 auto;
}

.wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding:50px 0px 50px;
}

.wrapper2 {
  max-width: 1200px;
  margin: 0 auto;
  padding:50px 0px 100px;
}

.main_copy{
	z-index:2;
	position: absolute;
	top: 65%;
	transform: translate(0, -50%);
	color:#fff;
	text-align:center;
	margin:auto auto;
	width: 100%;
	font-size: 200;
}

.main_copy p{
    line-height:2.5em;
    letter-spacing:0.13em;
	padding-bottom:70px;
	font-size:170%;
	line-height:1.7
}

.dot {
  position: relative;
  width: 100%;
  max-height: 100vh;
  overflow: hidden;
}
.dot::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: rgb(40 47 71 / 38%);
}

.dot2 {
  position: relative;
  width: 100%;
  height: 800px;
  overflow: hidden;
}
.dot2::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 800px;
  background-color: rgb(40 47 71 / 38%);
}
.vh {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  max-height: 800px;
}

.vh2 {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  max-height: 500px;
}

.vh3 {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  max-height: 800px;
}

.vh4 {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  max-height: 640px;
}

.vh5 {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 800px;
}

.vh6 {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  max-height: 500px;
}


/* ボタンデザイン */

a.button_design_a {
  font-size: 150%;
  background-color: #FF0B15;
  color: #fff;
  padding: 20px 70px 20px 20px;
  border-radius: 100px;
  text-decoration: none;
  display: inline-flex;
  background-image: url(../img/bottun_arrow.png);
  background-repeat: no-repeat;
  background-size: auto 40%;
  background-position: right 30px center;
  transition: background-color 1s;
  transition: background-position 0.4s;
  transition: 0.4s ease-out;
}

a.button_design_b {
  font-size: 120%;
  min-width: 260px;
  background-color: #fff;
  color: #000;
  border:solid 1px #ccc;
  padding: 10px 60px 10px 15px;
  border-radius: 100px;
  text-decoration: none;
  display: inline-flex;
  background-image: url(../img/button_arrow2.png);
  background-repeat: no-repeat;
  background-size: auto 50%;
  background-position: right 20px center;
  transition: background-color 1s;
  transition: background-position 0.4s;
  transition: 0.4s ease-out;
  margin: 0 10px;
  cursor: pointer;
}

a.button_design_c {
  font-size: 100%;
  width:260px;
  background-color: #1B2960;
  color: #fff !important;
  padding: 10px 60px 10px 0px;
  border-radius: 100px;
  text-decoration: none;
  display: inline-flex;
  background-image: url(../img/button_arrow.png);
  background-repeat: no-repeat;
  background-size: auto 50%;
  background-position: right 20px center;
  transition: background-color 1s;
  transition: background-position 0.4s;
  transition: 0.4s ease-out;
}

a.button_design_d {
  font-size: 16px !important;
  min-width: 260px;
  background-color: #fff;
  color: #000;
  border:solid 1px #ccc;
  padding: 10px 15px 10px 15px;
	text-align:center;
  border-radius: 100px;
  text-decoration: none;
  transition: background-color 1s;
  transition: background-position 0.4s;
  transition: 0.4s ease-out;
  margin:0px auto;
  cursor: pointer;
}

a.button_design_e {
    font-size: 120%;
    width: 260px;
    background-color: #fff;
    color: #000;
    border: solid 1px #ccc;
    padding: 10px 15px 10px 15px;
    text-align: center;
    border-radius: 100px;
    text-decoration: none;
    transition: background-color 1s;
    transition: background-position 0.4s;
    transition: 0.4s ease-out;
    margin: 0px auto;
  cursor: pointer;
    display: inline-block;
    position: absolute;
    bottom: 0;
    z-index: 999999999;
}

.center{
  text-align:center;
}

.scroll_img{
	margin:0 auto;
	display:block;
	width:60px;
	padding:30px;
}


a.button_design_a:hover {
  transition: 0.4s ease-out;
  background-color: #1B2960;
  background-position: right 20px center;
}

a.button_design_b:hover {
  transition: 0.4s ease-out;
  background-color: #EEEEEE;
  background-position: right 15px center;
}

a.button_design_c:hover {
  transition: 0.4s ease-out;
  background-color: #ff0b15;
  background-position: right 15px center;
}

a.button_design_d:hover {
  transition: 0.4s ease-out;
  background-color: #EEEEEE;
  background-position: right 15px center;
}


.button_sub {
  font-size: 60%;
  background-color: #fff;
  border-radius: 100px;
  margin-right: 10px;
  color: #000;
  padding: 0px 15px;
  font-family: 'Noto Sans JP', sans-serif;
}

.button_sub2 {
  font-size: 40%;
  background-color: #1a2762;
  border-radius: 100px;
  margin-right: 10px;
  color: #fff;
  padding: 0px 15px;
  font-family: 'Noto Sans JP', sans-serif;
}

.button_sub3 {
  font-size: 40%;
  color:#848484;
  padding-left:10px;
}

.button_sub4 {
  font-size: 60%;
  background-color: #ffffff;
  border-radius: 100px;
  margin-right: 10px;
  margin-left: 10px;
  color: #1b295f;
  padding: 0px 15px;
  font-family: 'Noto Sans JP', sans-serif;
}

.button_sub5 {
  font-size: 40%;
  color: #848484;
  padding-left:10px;
}

h1 {
  font-size: 0px;
  width: 250px;
  background-image: url(../img/logo.png);
  background-repeat: no-repeat;
  background-size: 80%;
  background-position: 15% 50%;
  float: left;
}
h1 a {
  display: block;
  width: 100%;
  height: 100%;
}
.main_nav {
    display: inline-flex;
    flex-wrap: wrap;
    font-size: 110%;
}


nav {
    display: flex;
    box-sizing: border-box;
    justify-content: flex-end;
    width:100%;
    align-items: center; 
}

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

nav {
    display: flex;
    box-sizing: border-box;
    justify-content: flex-end;
    
}

.leftbox {
    padding-left: 130px;
    padding-right: 30px;
}

.rightbox {
    padding-right: 130px;
    padding-left: 30px;
}


.wrapper {
    padding: 50px 0px 50px;
}

.wrapper2 {
    padding: 50px 0px 50px;
}

.eventm > div > img{
	height:initial !important;
}

.main_nav {
    display: inline-flex;
    flex-wrap: wrap;
    font-size: 100%;
    align-content: flex-start;
}

h1 {
    font-size: 0px;
    width: 250px;
    background-image: url(../img/logo.png);
    background-repeat: no-repeat;
    background-size: 80%;
    background-position: 15% 50%;
    float: left;
}


}

@media screen and (min-width: 1190px) {
.sub_nav {
    width: 30%;
}
}
.main_nav > li {
  padding: 0px 22px 0px 0px;
}
header {
  position: fixed;
  background-color: rgb(255 255 255 / 80%);
  z-index: 9999;
width:100%;
transition: translateY 600ms, opacity 200ms;
}

header.hide{
  translateY: -100%;
  opacity: 0;
}


.header_inner{
  display: flex;
  max-width:1200px;
  margin:0 auto;
  border-bottom: 1px solid #ccc;
  height:50px;
}


nav a{
	text-decoration:none;
	color:#000;
}


nav a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.sub_nav li {
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding-left:20px;
}
nav a::after {
  position: absolute;
  bottom: 0px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
nav a:hover::after {
  transform: scale(1, 1);
}

.sub_nav a::after {
  bottom: 0px;
}

p.shadow{
  color: #dfdfdf;
  text-shadow: 0 0.07em 0.1em rgba(0,0,0,0.25);
/*offset-x offset-y blur-radius color*/
}

ul,li {
  margin: 0;
  padding:0;
}
.none {
  display: none;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.5s ease;
}

.none.show {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

.movie_skip {
  z-index: 100;
  position: absolute;
  cursor: pointer;
   background-color: transparent;
        border: none;
	text-decoration:underline;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
	color:#464646;
	    bottom: 20px;
    right: 20px;
}
.slider {
  position: relative;
  overflow: hidden;
  height: 500px;
}
.slider__item {
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.slider__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.slider__item.pre {
  z-index: 2;
}
.slider__item.now {
  z-index: 3;
}
.slider__item.now img {
  animation: fadeInOut 8s linear forwards;
}
@supports (-webkit-mask-size: 100% 100%) {
  .slider__item img {
    -webkit-mask-image: url(../mask.jpg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    -webkit-mask-position: left center;
  }
  .slider__item.now img {
    animation: slide 2s cubic-bezier(.4, 0, .2, 1) 0s forwards;
  }
}
@supports (mask-size: 100% 100%) {
  .slider__item img {
    mask-image: url(../mask.jpg);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
    mask-position: left center;
  }
  .slider__item.now img {
    animation: slide 2s cubic-bezier(.4, 0, .2, 1) 0s forwards;
  }
}
@keyframes slide {
  0% {
    -webkit-mask-size: 0% 100%;
    mask-size: 0% 100%;
  }
  100% {
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
}
@keyframes fadeInOut {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}


.scroll_anime{
    animation-name: fadein;
    animation-duration: 2s ;
    animation-timing-function:ease-out;
    animation-iteration-count:infinite;
}
@keyframes fadein{
    from{
    opacity: 0;
    transform: translatey(-30px);
    }
    to{
    opacity: 1;
    transform: translatey(0);
    }
}


.title_area{
	padding:100px 0px 20px;
}

.title{
	border-left:5px solid #000;
	padding-left:20px;
}

.title_b{
	padding-bottom:50px;
}



.title_main{
	font-size:250%;
	letter-spacing:0.1em;
	display:inline-block;
	padding-right:10px;
	font-weight:bold;
	font-family: serif;
	line-height: 1.1;
}

.title_main2{
	font-size:300%;
	letter-spacing:0.1em;
	display:inline-block;
	padding-right:10px;
	font-weight:bold;
	font-family: serif;
}

.title_main3{
	font-size:300%;
	letter-spacing: 0.05em;
	padding-right:10px;
	font-weight:bold;
	font-family: serif;
	padding-bottom: 20px;
}

.title_sub{
	font-size:90%;
	letter-spacing:0.2em;
	display:inline-block;
}

.title_sub2{
	font-size:120%;
	letter-spacing:0.1em;
	display:inline-block;
}

.title_sub3{
	font-size:130%;
	letter-spacing:0.1em;
	padding-bottom:40px;
}

.title_copy{
	color:#808080;
	letter-spacing:0.2em;
}

.title_copy2{
	font-size:150%;
	letter-spacing:0.2em;
	padding-top:10px;
}

.title_copy3{
	font-size:150%;
	letter-spacing:0.2em;
	padding-bottom:10px;
}



.underline{
  display: inline-block;
  position: relative;
}

.underline:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px; /*下線の上下位置調整*/
  display: inline-block;
  width: 50px; /*下線の幅*/
  height: 3px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #fff; /*下線の色*/
}


.banner1 {
position: relative;
overflow: hidden;
width: 33.333333333333333333333%;
height: 300px;
background-color: #000;
}
.banner1:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url(../img/works1.jpg) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;

}
.banner1:hover:after {
opacity: .6;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}
.banner1 a {
position: relative;
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
height: 100%;
text-decoration: none;
color: #fff
}

.banner2 {
position: relative;
overflow: hidden;
width: 33.333333333333333333333%;
height: 300px;
background-color: #000;
}
.banner2:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url(../img/works2.jpg) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
}
.banner2:hover:after {
opacity: .6;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}
.banner2 a {
position: relative;
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
height: 100%;
text-decoration: none;
color: #fff
}

.banner3 {
position: relative;
overflow: hidden;
width: 33.333333333333333333333%;
height: 300px;
background-color: #000;
}
.banner3:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url(../img/works3.jpg) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
}
.banner3:hover:after {
opacity: .6;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}
.banner3 a {
position: relative;
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
height: 100%;
text-decoration: none;
color: #fff
}

.banner4 {
position: relative;
overflow: hidden;
width: 33.333333333333333333333%;
height: 300px;
background-color: #000;
}
.banner4:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url(../img/works4.jpg) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
}
.banner4:hover:after {
opacity: .6;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}
.banner4 a {
position: relative;
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
height: 100%;
text-decoration: none;
color: #fff
}

.banner5 {
position: relative;
overflow: hidden;
width: 33.333333333333333333333%;
height: 300px;
background-color: #000;
}
.banner5:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url(../img/works5.jpg) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
}
.banner5:hover:after {
opacity: .6;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}
.banner5 a {
position: relative;
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
height: 100%;
text-decoration: none;
color: #fff
}

.banner6 {
position: relative;
overflow: hidden;
width: 33.333333333333333333333%;
height: 300px;
background-color: #000;
}
.banner6:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url(../img/idea_icon.jpg) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
}
.banner6:hover:after {
opacity: .6;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}
.banner6 a {
position: relative;
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
height: 100%;
text-decoration: none;
color: #fff
}

.works_box{
	display:flex;
	flex-wrap:wrap;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	align-items:center;
	font-size:120%;
}

.gray{
	background-color:#F2F2F2;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.beige{
	background-color:#FFFAF5;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.width1200{
	max-width:1200px;
	margin:0 auto;
	
}

.width1200b{
	width:1200px;
	margin:0 auto;
	
}

.padding_x50{
	padding:60px 10px;
}

.padding_x50b{
	padding:0px 10px;
}

.padding_x50c{
	padding:0px 10px 60px;
}

.padding_x80{
	position:initial;
	padding:80px 10px;
}

.flex_center{
	display:flex;
	justify-content: center;
}

.banner7 {
position: relative;
overflow: hidden;
width: 50%;
height: 500px;
background-color: #000;
}
.banner7:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url(../img/works7.jpg) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;

}
.banner7:hover:after {
opacity: .6;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}
.banner7 a {
position: relative;
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
text-decoration: none;
text-align:center;
margin: 0 auto;
}

.banner8 {
position: relative;
overflow: hidden;
width: 50%;
height: 500px;
background-color: #000;
}
.banner8:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url(../img/works8.jpg) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;

}
.banner8:hover:after {
opacity: .6;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}
.banner8 a {position: relative;display: flex;align-items: center;justify-content: center;z-index: 1;height: 100%;text-decoration: none;color: #000;margin: 0 auto;}

.effort_box{
	color:#fff;
	position:absolute;
	bottom:50px;
	width: 100%;
	z-index:1;
}

.effort_title{
	font-size:180%;
	letter-spacing:0.05em;
	text-align:center;
}

.effort_sub{
	font-size:80%;
	text-align:center;
	padding-bottom:10px;
	letter-spacing:0.05em;
}

.center{
	text-align:center;
}

.news{
	top:-30px;
}


.news a{
	background-color:#fff;
	border-bottom:dashed 1px #ccc;
	width:100%;
	display:flex;
	align-items: center; 
	padding:20px;
	text-decoration:none;
	background-image: url(../img/button_arrow2.png);
	background-repeat: no-repeat;
	background-size: auto 30px;
	background-position: right 30px center;
	transition: background-color 1s;
	transition: background-position 0.4s;
	transition: 0.4s ease-out;
	box-sizing: border-box;
}

.news_box:first-child{
	border-top:dashed 1px #ccc;
}

.news a:hover {
  transition: 0.4s ease-out;
  background-position: right 15px center;
  background-color:#eee;
}

.news_cat{
	background-color: #1b295f;
	color:#fff;
	width:100px;
	padding: 5px;
	text-align:center;
	margin-right:30px;
	line-height: 1em;
}

.news_title{
	color:#000;
	font-size:130%;
    width: 65%;

}
.news_date{
	color:#9B9B9B;
	  font-family: 'Noto Sans JP', sans-serif;
}

.down50{
	position:relative;
	top:50px;
}
.up30{
	position:relative;
	top:-30px;
}

.up20{
	position:relative;
	top:-20px;
}

.footer{
	background-color:#605F5F;
	color:#fff;
	font-family: 'Noto Sans JP', sans-serif;
	position: sticky;
}

.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: 1s;
  perspective: 1; }
  .js-animation.is-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px); }
  .js-animation.js-ani-nomove {
    transform: translateY(0px);
    transition: all 1.2s; }
    .js-animation.js-ani-nomove.is-show {
      transform: translateY(0px); }
      
      
#PageTop{
	position:fixed;
	bottom:30px;
	right:30px;
	width:50px;
	height:auto;
	z-index:9999999999999999999999999999;
}

.copyright{
padding-top:50px;
	text-align:center;
	font-size:80%;
}

.footer_inner{
display:flex;
flex-wrap:wrap;
}

.footer_menu{
display:flex;
flex-wrap:wrap;
width: 70%;
justify-content: flex-end;
}

.footer_menu > div{
position: relative;
width: 33.333333333333333333333%;
padding-left:20px;
font-weight:bold;
}

.footer_submenu{
  padding-bottom:20px;
  }
  
.footer_submenu > a{
color:#fff;
text-decoration:none;
margin-right:20px;
font-size:80%;
display:inline-block;
font-weight:normal;
}

.footer_submenu > a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.footer_submenu > a::after {
  position: absolute;
  bottom: 0px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
.footer_submenu > a:hover::after {
  transform: scale(1, 1);
}






.fadein {
  opacity: 0;
  transform: translateY(100px);
  transition: all 1s;
  animation-fill-mode:forwards;
}
  
.fadein.active{
  opacity: 1;
  transform: translateY(0px);
}


.fadein2 {
  opacity: 0;
  transform: translateY(100px);
  transition: all 1s;
  animation-fill-mode:forwards;
}
  
.fadein2.active{
  opacity: 1;
  transform: translateY(0px);
}

button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}

.footer_logo{
	width:30%;
}

.footer_logo > img{
width: 300px;
padding-top:8px;
}

.mailmaga{
	width:23% !important;
}

.about{
display:flex;
flex-wrap:wrap;
}

.about > div{
width:49%;
}

.about > div > a{
color:#fff;
text-decoration:none;
margin-right:20px;
font-size:80%;
display:inline-block;
font-weight:normal;
}

.about > div > a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.about > div > a::after {
  position: absolute;
  bottom: 0px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
.about > div > a:hover::after {
  transform: scale(1, 1);
}
.slick-track > img:hover{
	cursor:pointer;
}




.office_main{
  width: 100%;
  height: 800px;
  object-fit: cover;
}



.interview_main{
  width: 100%;
  height: 640px;
  object-fit: cover;
}

.sub_main{
  width: 100%;
  height: 500px;
  object-fit: cover;
}

.sub_main2{
  width: 100%;
  height: 800px;
  object-fit: cover;
}

.relative{
	position:relative;
}

.absolute2{
	position: absolute;
}
.absolute{
	position: absolute;
	top: 250px;
	left: 50%;
	transform: translate(-50%, -50%);
	color:#fff;
	z-index:999;
	padding:0 20px;
	width:100%;
	max-width:1200px;
}

.absolute3{
	position: absolute;
	top: 250px;
	left: 50%;
	transform: translate(-50%, -50%);
	color:#fff;
	z-index:999;
	padding:0 20px;
	width:100%;
	max-width:1200px;
}

.bottom100{
	position: absolute;
	bottom: 100px;
	left: 48%;
	transform: translate(-50%, -50%);
	color:#fff;
	z-index:999;
	padding:0 20px;
}

.bottom100b{
	position: absolute;
	bottom: 50px;
	left: 48%;
	transform: translate(-50%, -50%);
	color:#fff;
	z-index:999;
	padding:0 20px;
}

.bottom50 {
    bottom: 10px !important;
    top: initial;
}

.bottom30 {
    margin-bottom: 70px;
}

.or{

}

.orbutton{
bottom:180px !important;
}

.rec100 {
    margin-bottom: 100px;
}

.pagetitle{
	font-size:450%;
	line-height:1em;
	letter-spacing:0.03em;
}

.pagesubtitle{
	font-size:140%;
	padding:30px 0;
	letter-spacing:0.1em;
}

.pagesubtitle2{
	font-size:140%;
	padding:30px 0;
	letter-spacing:0.1em;
	text-align: right;
	position: relative;
	top:-150px;
	right:10px;
}

.pagesubtitle3{
    font-size: 140%;
    padding: 30px 0;
    letter-spacing: 0.1em;
    text-align: right;
    position: relative;
    top: 100px;
    right: 30px;
    line-height:2.5em;
}

.pagesubtitle4{
	font-size:170%;
	padding:30px 0;
	letter-spacing:0.1em;
	line-height:1.8em;
}

.pagesubtitle5{
	font-size:110%;
	padding:30px 0;
	letter-spacing:0.1em;
	line-height:2.2em;
}

.pagesubtitle6{
    font-size: 140%;
    padding: 30px 0;
    letter-spacing: 0.1em;
    text-align: right;
    position: relative;
    top: 100px;
    right: 30px;
    line-height:2.5em;
}

.whitebox{
	position: relative;
	top:-50px;
	z-index:2;
	background-color:#fff;
	padding:100px;
	width:80%;
	margin:0 auto;
}

.office_title1 {
    text-align: center;
    font-size: 250%;
    padding: 70px 0px 40px;
    letter-spacing: 0.15em;
}

.office_title2 {
    font-size: 150%;
    text-align: center;
    padding: 70px 0px 40px;
    letter-spacing: 0.15em;
    line-height:2em;
}

.big{
    font-size: 200%;
}

.small{
    font-size: 40%;
    line-height:1.1em;
    letter-spacing:0em;
}

.mid{
    font-size: 180%;
    padding-bottom:20px;
    letter-spacing:0.1em;
}

.txt{
    font-size: 120%;
    letter-spacing: 0.15em;
    line-height:2.1em;
}


.office_txt1{
	width:70%;
	margin:0 auto;
        letter-spacing: 0.15em;
}

.center{
	text-align:center;
}

.merit_box{
	padding:50px 0;
}

.merit_box > div{
	width:50%;
	padding:50px;
}

.merit_box > div > img{
	height:450px;
	margin:0 auto;
	display:block;
	padding-bottom:30px;
}




.flex{
	display:flex;
	flex-wrap:wrap;
}

.flex2{
	display:flex;
	flex-wrap:wrap;
	width: 100%;
}


.flex3{
	display:flex;
}

.flex4{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
}


.flex2 img{
	max-width:600px;
	height:500px;
	object-fit:cover;
}

.merit1{
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
}

.merit4{
	border-left:1px solid #ccc;
	border-top:1px solid #ccc;
}

.onestop_box{
	padding:50px 0;
}

.onestop_box > div:nth-child(odd){
	width:15%;
}

.onestop_box > div:nth-child(odd) > img{
	width:70%;
	margin:0 auto 10px;
	display:block;
}

.onestop_box > div:nth-child(even){
	width:6.25%;
	padding: 40px 20px;
}

.onestop_box2{
	padding:50px 0;
}

.onestop_box2 > div:nth-child(odd){
	width:15%;
}

.onestop_box2 > div:nth-child(odd) > img{
	width:70%;
	margin:0 auto 10px;
	display:block;
}

.onestop_box2 > div:nth-child(even){
	width:6.25%;
	padding: 40px 20px;
}

.onestop_box > div {
  position: relative;
  top: 100px;
  opacity: 0;
  transition: all 0.2s ease;
}
.onestop_box2 > div {
  position: relative;
  top: 100px;
  opacity: 0;
  transition: all 0.2s ease;
}


.onestop_box_title{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight:bold;
  font-size:120%;
  padding-bottom:10px;
}

.work_wrapper{
	display:flex;
	flex-wrap:wrap;
	 justify-content: space-between;
}

.news_wrapper{
	display:flex;
	flex-wrap:wrap;
}

.interview_wrapper{
	display:flex;
	flex-wrap:wrap;
  font-family: 'Noto Sans JP', sans-serif;
}

.interview_wrapper a{
	color:#000;
	text-decoration:none;
}

.interview_wrapper a:hover{
	text-decoration:underline;
}

.middle_copy{
	font-size:160%;
	line-height:2em;
	padding:70px;
	width:100%;
}
.interviewer{
	font-size:110%;
}

.ask{
	color:#666;
	padding-bottom:20px;
}

.work_navi{
	width:20%;
	position:fixed;
}

.work_box_wrapper{
	width: 75%;
	margin-left: 25%;
}


.work_box1{
	display:flex;
	flex-wrap:wrap;
	padding-bottom: 110px;
}


.newstopic_box {
    display: flex;
    flex-wrap: wrap;
    width: 33.333333333%;
}

.newstopic_box > a {
    	color:#000;
    	text-decoration:none;
    	font-family: 'Noto Sans JP', sans-serif;
    	background-image: url(../img/button_arrow2.png);
    	background-repeat: no-repeat;
    	background-size: auto 30px;
    	background-position: right 20px bottom 30px;
    	padding-bottom: 30px;
    	transition: 0.4s ease-in;
}

.newstopic_box > a:hover {
  transition: 0.4s ease-out;
    background-position: right 10px bottom 30px;
}


.newstopic_box img{
	width: 360px;
	height: 360px;
	object-fit: cover;
}

.newstopic_box img:hover{
	transition-duration: 0.3s;
	    background-color: #000000;
    opacity: 0.8;
}


.newstopic_d_box {
    width: 33.333333333%;
}

.newstopic_e_box {
    width: 66.66666666666666%;
    padding-right:50px;
}

.newstopic_d_box > a {
    	color:#000;
    	text-decoration:none;
    	font-family: 'Noto Sans JP', sans-serif;
    	padding-bottom: 30px;
    	transition: 0.4s ease-in;
}



.thumbnail100 img{
	width: 70px;
	height: 70px;
	object-fit: cover;
	border:1px solid #ccc;
	margin-right:10px;
}


.work_box {
    display: flex;
    flex-wrap: wrap;
    width: 33%;
}

.work_box > a {
    width:100%;
    height:100%;
    	color:#000;
	text-decoration:none;
	  font-family: 'Noto Sans JP', sans-serif;
    background-image: url(../img/button_arrow2.png);
    background-repeat: no-repeat;
    background-size: auto 30px;
    background-position: right 20px bottom 50px;
    padding-bottom: 30px;
  transition: 0.4s ease-in;
}

.work_box > a:hover {
  transition: 0.4s ease-out;
    background-position: right 10px bottom 50px;
}


.work_box img{
	width: 310px;
	height: 290px;
	object-fit: cover;
}

.work_box img:hover{
	transition-duration: 0.3s;
	    background-color: #000000;
    opacity: 0.8;
}


.link_address{
	font-size: 80%;
}

    .post_photo{
      position: relative;
    }
.post_photo img {
    position: relative;
    z-index: 1;
    border: 1px solid #ccc;
}
    .post_photo .new_bg{
      position: absolute;
      top: 0;
            left: 0;
            z-index: 2;
    }
    .post_photo .new_bg::before{
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 80px 80px 0 0;
      border-color: #FF4437 transparent transparent transparent;
    }
    .post_photo .new_bg .new{
      position: absolute;
      top: 15px;
            left: 5px;
            z-index: 3;
            color: #fff;
            transform: rotate(-45deg);
    }


.nav_btn div{
	padding-bottom:5px;
}

.nav_btn > div > a{
	font-size:90%;
	text-decoration:none;
	color:#ADADAD;
	font-family: 'Noto Sans JP', sans-serif;
}

.this a{
	color:#FF4437 !important;
	font-size:120% !important;
    transition: 0.2s ease-in;
}

.anchor {
    display: block;
    padding-top: 200px;
    margin-top: -200px;
}

.thumb-slide img{
	/* width: 100px !important; */
	height: 110px;
	object-fit: cover;
	padding:10px 5px;
}

.image-slider img{
	width: 100%;
    height: 700px;
    object-fit: cover;
}


.work_info{
	width: 40%;
	position: relative;
	background-color: #fff;
	padding: 40px;
}

.thumb-slide{
	width:60% !important;
}

.nextbtn a{
	color:#000;
	font-size:130%;
	text-decoration:none;
}

.nextbtn a:hover{
	color:#ADADAD;
}



.toggle_contents {
	border: 2px solid #d9d9d9;
}
.toggle_title {
	position: relative;
	padding: 35px;
	cursor: pointer;
	font-size: 140%;
	/* text-align: center; */
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.toggle_btn {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	background: #0052a4;
	display: block;
	width: 24px;
	height: 24px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	border-radius: 50%;
}
.toggle_btn:before, .toggle_btn:after {
	display: block;
	content: '';
	background-color: #fff;
	position: absolute;
	width: 10px;
	height: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.toggle_btn:before {
	width: 2px;
	height: 10px;
}
.toggle_title.selected .toggle_btn:before {
	content: normal;
}
.toggle_contents dd {
	border-top:1px dashed #ccc;
	display: none;
	margin:0px 30px 30px;
	padding:30px 0px 0px;
}

.toggle_contents ul,li {
	margin:0;
	padding:0;
	list-style:none;
}

.title_2nd{
    padding: 50px 10px 40px;
}

.title_2nd_main{
    font-size: 300%;
    letter-spacing: 0.04em;
    display: inline-block;
    padding-right: 30px;
    font-weight: bold;
    font-family: serif;
    line-height: 1.1;
}

.title_2nd_sub{
    font-size: 130%;
    letter-spacing: 0.05em;
    padding-right: 10px;
    line-height: 1.1;
    padding-top:20px;
}

.title_2nd_copy{
    font-size: 120%;
    display: inline-block;
    padding-right: 10px;
    line-height: 1.1;
}

.indent1{
	padding-left:50px;
	padding-right:10px;
}

.margin_bottom50{
	margin-bottom:50px;
}

.title_2nd_b{
    padding: 10px 0px 10px 20px;
    border-left:5px solid #000;
    margin-bottom:30px;
    }

.title_2nd_b_main{
    font-size: 160%;
    letter-spacing: 0.04em;
    display: inline-block;
    padding-right: 30px;
    font-weight: bold;
    line-height: 1.1;
}

.title_2nd_b_sub{
    font-size: 100%;
    letter-spacing: 0.05em;
    padding-right: 10px;
    line-height: 1.1;
    padding-top:10px;
}

.w30{
	width:30%;
}

.w70{
	width:70%;
}

.w20{
	width:20%;
}

.w80{
	width:80%;
}

.ceo{
	margin-top:15px;
	display:flex;
	justify-content: flex-end;
}

.position{
	padding-top:25px;
	line-height:1.5em;
}
.ceo_name img{
	width:200px;
}

.com_info{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

.com_info1{
	width:20%;
	padding:25px 15px;
	border-top:1.5px dashed #999;
}

.com_info2{
	width:75%;
	padding:25px 15px;
	border-top:1.5px dashed #999;
}

.com_info3{
	width:100% !important;
	padding:25px 15px;
	border-top:1.5px dashed #999;
}

.com_info3 > div{
	border-top:none;
}

.rec_info1{
	width:20%;
	padding:0px 15px 40px;
}

.rec_info2{
	width:75%;
	padding:0px 15px 40px;
}

.last-child{
	border-bottom:1.5px dashed #999;
}

.message{
	line-height:2.6em;
}

.group > div{
	width:33%;
	line-height:3em;
}

.access{
	display:flex;
	flex-wrap:wrap;
	justify-content: flex-end;
	padding-top:30px;
}

.access > div:first-child{
	padding-right:20px;
}

iframe{
	margin-left: calc(50% - 50vw);
  　　　 margin-right: calc(50% - 50vw);
	width: 100vw; 
}

.mailform_box{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	font-size:120%;
}

.mailform_box > div{
	padding: 0px 0px 40px;
	width:47%; 
}

::placeholder {
  color: #ccc;
}

.newstitle{
	font-size:120%;
	font-family: 'リュウミン R-KL';
}

.newsdate{
	font-size:90%;
	color:#9B9B9B;
	padding-top:20px;
}

.newsdtitle{
	font-size:110%;
	font-family: 'リュウミン R-KL';
}

.newsddate{
	font-size:90%;
	color:#9B9B9B;
	padding-top:5px;
  font-family: 'Noto Sans JP', sans-serif;
}


.ranking{
	border-left:2px dashed #ccc;
	padding-left:20px;
}

.newstopic_d_title{
	font-size:140%;
	padding-right:10px;
	font-weight:bold;
	font-family: 'リュウミン R-KL';
	line-height: 1.1;
}

.ranking_title{
	font-size:200%;
	letter-spacing:0.05em;
	display:inline-block;
	padding-right:10px;
	font-weight:bold;
	font-family: serif;
	line-height: 1.1;
}

.ranking_sub{
	font-size:110%;
	padding-bottom:30px;
	letter-spacing:0.05em;
}

.newstopic_d_cat{
	color:#fff;
	background-color:#1B2960;
	border-radius:100px;
	padding:0px 20px;
	font-size:80%;
	display:inline-block;
	margin-bottom:20px;
}

.up_area{
	width:90%;
	margin:0 auto;
}

.vol{
	border-bottom:5px solid #000;
	padding-bottom:30px;
	font-size:500%;
	font-family: serif;
	margin:30px;
}

.interview_title_box{
	padding:40px 0 100px;;
	align-items: flex-end; 
}
.interview_main_title{
	border-left:1px solid #000;
	padding-left:50px;
}

.interview_title{
	font-size:200%;
	padding-bottom:20px;
	font-family: 'リュウミン R-KL';
}

.data{
	font-size:80%;
	line-height:2em;
}

.website{
	padding-left:80px;
	font-size:80%;
}

.website_title{
	border:1px solid #000;
	display:inline-block;
	padding:5px 10px;
	line-height:1em;
}

.under_left{
	padding-right:50px;
}

.under_right{
	padding-left:50px;
}

.under_right img{
	max-width:280px;
	max-height:420px;
	object-fit:cover;
}

.caption1{
	font-size:80%;
	color:#666;
	line-height:1.4em;
	padding-bottom:50px;
}

.int_com_box{
	margin-top:100px;
	border:1px solid #666;
	padding:30px;
}

.int_com_box_name{
	font-size:130%;
}

.int_com_box img{
	max-width:180px;
	max-hight:180px;
	object-fit:cover;
}

.int_com_box_ph{
	padding-right:20px;
}

.int_com_box_txt{
	font-size:100%;
	color:#666;
	line-height:1.6em;
}

.w_cap{
	background-color:#fff;
	padding:10px 30px;
	line-height:1em;
	color:#444;
	position:absolute;
	top: 0;
}

.up_area2{
    width: 100%;
    object-fit: cover;
    height: 400px;
    display: block;
    padding-bottom:30px;
	}
	
.col2{
    width: 49.7%;	
	}
	
.col3{
    width: 32.9%;	
	}
	
	
.left{
	float:left;
	padding-right:50px;
}

.right{
	float:right;
	padding-left:50px;
}

.rec_ph{
	width:45%;
	height:auto;
}

.rec_ph2{
	width:100%;
	height:auto;
	padding-bottom:20px;
}

.clearfix::after{
  content: "";
  clear: both;
  display: block;
}

.sukina{
	width:7em;
}

.rec_title{
	padding:50px 0px 20px;
	font-size:280%;
}

.keisan{
	color:#2FC7D9;
	font-size:90%;
	padding:0 5px;
}

.english{
	color:#7C7C7C;
	letter-spacing:0.05em;
	padding-bottom:70px;
}

.rec_name{
	font-size:230%;
	display:inline-block;
	padding-bottom:20px;
}

.rec_furigana{
	display:inline-block;
}

.rec_txt{
	line-height:2.3em;
}

.rec_situmon{
	font-size:130%;
	padding:50px 0px 5px;
}

.kome{
	font-size:70%;
}

a:hover.button_design_c .button_sub5{
	color:#fff;
}

.slick-slider .slick-slide {
  position: relative;
}

.slick-slider .slick-slide img {
  display: block;
  width: 100%;
}

.slider-caption {
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: white;
  color: black;
  opacity: 0.9;
  padding: 5px 20px;
  font-size: 90%;
  font-family: 'Noto Sans JP', sans-serif;
}

.slider-item:not(:has(.slider-caption)) .slider-caption {
  display: none;
}

/* Slick arrow */
.slick-arrow {
  position: absolute;
  top: 50%;
  display: block;
  margin-top: -20px;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  cursor: pointer;
  z-index: 1;
  font-size: 0;
}

.slick-prev {
  left: 10px;
  background-image: url("path/to/left-arrow.png");
  background-repeat: no-repeat;
  background-position: center;
}

.slick-next {
  right: 10px;
  background-image: url("path/to/right-arrow.png");
  background-repeat: no-repeat;
  background-position: center;
}

.recruit_wrapper{
    padding: 100px 10px 0px;
}

.recruit_wrapperwrapper > div:first-of-type {
  padding-top: 0px;
}

.sp_top{
	padding-top: 0px;
}

.slideup_img {
  position: relative;
  top: 100px;
  opacity: 0;
}


.work_box {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.work_box.active {
  opacity: 1;
  transform: translateY(0);
}

.merit_box > div {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.merit_box > div.active {
  opacity: 1;
  transform: translateY(0);
}

.download_main{
	font-size:180%;
	line-height:1.6em;
}

.download_main2{
	font-size:120%;
	line-height:1.6em;
	border-top:1px dashed #ccc;
	margin-top:50px;
	padding-top:50px;
	padding-bottom:18px;
}

.waku{
	border:1px solid #ccc;
	padding:10px 15px;
	margin-bottom:15px;
}

.dl {
    background-image: url(../img/download.png);
    background-repeat: no-repeat;
    background-size: auto 70%;
    background-position: right 0px bottom 2px;
    padding-right: 18px;
}

.exel {
    background-image: url(../img/exel.jpg);
    background-repeat: no-repeat;
    background-size: auto 25px;
    background-position: left 10px bottom 5px;
    padding: 10px 0px 10px 40px;
}

.pdf {
    background-image: url(../img/pdf.jpg);
    background-repeat: no-repeat;
    background-size: auto 25px;
    background-position: left 10px bottom 5px;
    padding: 10px 0px 10px 40px;
}

.dl60{
	width:65%;
	padding-right:50px;
}

.waku a{
	color:#000;
	text-decoration:none;
}

.waku a:hover{
	text-decoration:underline;
}

.thumb-slide .slick-current{
  border:1px solid #ccc;
}

.slick-prev
{
	left:10px;
}

.slick-next
{
	right:100px;
	z-index:2;
}

.thumb-slide .slick-list{
		height:135px
}

.pcbr{
	display:block;
}

.spbr{
	display:none;
}

.mailmagazine_wrapper {
    max-width: 700px;
    border: 1px solid #ccc;
    margin: 0 auto;
}
}

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

nav {
    display: flex;
    height: 80px;
    padding-top: 10px;
    box-sizing: border-box;
    justify-content: flex-end;
}
.wrapper2 {
    padding: 80px 0px 50px;
}

.wrapper {
    padding: 80px 0px 50px;
}
}

@media screen and (max-width: 850px) {
	
.main_nav > li {
    padding: 0px 10px 0px 0px;
}

.sub_nav > li {
    padding: 0px 10px 0px 0px;
}

}


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

.mailform_box > div{
	padding: 0px 0px 40px;
	width:100%; 
}


.contactw22{
	width:100% !important;
}

.contactw78{
	width:100% !important;
	display:block;
}

.contact_square1{
	width:100%;
}



.contact_square1b{
	width:100%;
	margin-bottom:20px;
}

.contact_square2{
	width:100%;
}

.contact_square2b{
	width:100%;
}


.simg{
	width:70%;
}

.eventtitle{
	top:180px;
}

.eventm > div > img{
	height:initial !important;
}

.image-container {
  position: relative;
  width: 100%;
  height: 300px;
  overflow: hidden;
  float: left;
}


html {
  overflow: auto;
  scroll-behavior: smooth;
  color: #000000;
  font-size:100%
}
body {
  word-wrap: break-word;
  overflow-wrap: break-word;
  margin: 0px;
  padding: 0px;
  font-family: "リュウミン R-KL";
  font-feature-settings: "palt"1;
  line-height: 2em;
  overflow: hidden;
  font-size:0.95em;
}

.wrapper {
  max-width: 100%;
  margin: 0 auto;
  padding:70px 20px 50px;
}

.wrapper2 {
  max-width: 100%;
  margin: 0 auto;
  padding:70px 20px 50px;
}

.mailmagazine_wrapper {
    max-width: 100%;
    border: 1px solid #ccc;
    margin: 0 auto;
}


.mailmagazine_wrapper td {
    display: block;
    width:initial;
}

.mailmagazine_wrapper tr {
    display: block;
    width:initial;
}

.header_inner {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    border-bottom: 1px solid #ccc;
    height: 70px;
}


h1 {
    font-size: 0px;
    width: 80%;
    background-image: url(../img/logo.png);
    background-repeat: no-repeat;
    background-size: 70%;
    float: none;
    height: 70px;
    background-position: 15% 50%;
}

.width1200 {
    max-width: 100%;
    margin: 0 auto;
}

.width1200b {
    max-width: 100%;
    margin: 0 auto;
}

.footer_logo {
    width: 70%;
    padding: 20px;
}

.footer_inner {
    display: block;
    flex-wrap: wrap;
}

.footer_menu {
    display: block;
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
}

.padding_x50 {
    padding: 10px 10px;
}

.footer_menu > div {
    position: relative;
    width: 100%;
    padding-left: 20px;
    font-weight: bold;
}

.work_wrapper {
    display: block;
    flex-wrap: wrap;
    justify-content: space-between;
}

.work_navi {
    width: 100%;
    position: fixed;
}

.work_box_wrapper {
    width: 100%;
    margin-left: 0%;
}

.work_navi {
    width: auto;
    position: fixed;
    z-index: 2;
    background-color: #fff;
    top: 70px;
}

.work_box {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.work_box img {
    width: 100%;
    height: 350px;
    object-fit: cover;
}

.about > div {
    width: 33%;
}

.mailmaga {
    width: 100% !important;
}

.nav_btn > div{
	display:inline-block;
	padding-right:20px;
}

.title_sub3 {
    font-size: 100%;
    letter-spacing: 0.1em;
    padding-bottom: 20px;
}

nav {
    display: block;
    height: initial;
    padding-top: 10px;
    box-sizing: border-box;
    justify-content: flex-end;
}

.main_nav {
    width: 100%;
    display: block;
    flex-wrap: wrap;
    font-size: 130%;
    align-content: flex-start;
}

.sub_nav {
    width: 100%;
    font-size: 130%;
    line-height:initial;
}

.main_nav > li {
    padding: 15px; 
}

.sub_nav li {
    padding: 15px; 
    display:block;
}
nav li{
	border-bottom:1px solid #ccc;
}
nav{
	border-top:1px solid #ccc;
	display:block;
	padding-top: 0px;
}

.title_2nd {
    padding: 20px 0 40px;
}
.title_2nd_main {
    font-size: 180%;
    letter-spacing: 0.04em;
    display: inline-block;
    padding-right: 0px;
    padding-top:15px;
    padding-bottom:15px;
    font-weight: bold;
    font-family: serif;
    line-height: 1.1;
}

.title_2nd_copy {
    font-size: 100%;
    display: inline-block;
    padding-right: 10px;
    line-height: 1.3em;
}

.news_wrapper {
    display: block;
    flex-wrap: wrap;
}

.newstopic_e_box {
    width: 100%;
    padding-right: 0px;
}

.ranking {
    border-left: none;
    border-top: 2px dashed #ccc;
    padding-top: 20px;
}

.newstopic_d_box {
    width: 100%;
}

.newstopic_box {
    display: block;
    flex-wrap: wrap;
    width: 100%;
}

.ranking {
    padding-left: 0px;
}

.bottom30 {
    margin-bottom: 30px;
}

.nextbtn{
    margin-bottom: 30px;
}

.anchor {
    display: block;
    padding-top: 250px;
    margin-top: -250px;
}

.w30 {
    width: 100%; 
}

.w70 {
    width: 100%; 
}

.title_2nd_sub {
    padding-top: 0px;
}

.indent1 {
    padding-left: 0px;
}

.title_2nd_b_main {
    font-size: 140%;
    letter-spacing: 0em;
    display:inline-block;
}

.toggle_title {
    position: relative;
    padding: 15px 60px 15px 15px;
    cursor: pointer;
    font-size: 110%;
    /* text-align: center; */
    line-height: 1.4;
    letter-spacing: 0.05em;
}

.pcbr{
	display:none;
}

.spbr{
	display:block;
}

.title_2nd_sub {
    font-size: 90%;
    letter-spacing: 0.05em;
    padding-right: 10px;
    line-height: 1.1;
    padding-bottom: 10px;
    padding-top: 10px;
    display:inline-block;
}

.sub_main2 {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.com_info1 {
    width: 100%;
    padding: 10px;
    border-top: 1.5px dashed #999;
    background-color: #f9f9f9;
}

.com_info2 {
    width: 100%;
    padding: 10px;
    border-top: none;
}

.com_info3 {
    width: 100%;
    padding: 0px;
}


.group > div {
    width: 100%;
    line-height: 2.5em;
}

.w20 {
    width: 100%;
    background-color: #f9f9f9;
    padding: 10px;
}

.w80 {
    width: 100%;
    padding: 10px;
}

iframe {
    height:300px;
}
.access {
    display: block;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-top: 0px; 
}

.works_box {
    display: block;
    flex-wrap: wrap;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    align-items: center;
    font-size: 120%;
}
.banner1,.banner2,.banner3,.banner4,.banner5,.banner6,.banner7,.banner8 {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 300px;
    background-color: #000;
}

.flex_center {
    display: block; 
    justify-content: center;
}

.effort_box {
    color: #fff;
    position: absolute;
    bottom: 50px;
    width: 100%;
    z-index: 1;
}

#main_video {
    object-fit: cover;
    width: 100vw;
    height: 600px;
    vertical-align: bottom;
}

a.button_design_a {
    font-size: 100%;

}

.main_copy p {
    line-height: 1.3em !important;
    letter-spacing: 0.13em;
    padding-bottom: 0px;
    font-size: 130%;
    line-height: 1.7;
}

.title_area {
    padding: 50px 0px 20px;
}

.title_main {
    font-size: 200%;
    letter-spacing: 0.1em;
    display: inline-block;
    padding-right: 10px;
    font-weight: bold;
    font-family: serif;
    line-height: 1.1;
}

.title_copy {
    color: #808080;
    letter-spacing: 0.05em;
    line-height: 1.8em;
}

a.button_design_b {
    margin-bottom: 10px;
    font-size:100%;
}

a.button_design_b:first-child {
    margin-top: 10px;
}

.padding_x80 {
    padding: 0px 10px; 
}

.news a {
    display: block;

}

a.button_design_a {
    padding: 10px 50px 10px 10px;
    background-position: right 20px center;
}

.scroll_img {
    margin: 0 auto;
    display: block;
    width: 40px;
    padding: 30px;
}

.vh {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    height: 600px;
}
.vh5 {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    height: 600px;
}

.office_main {
    height: 800px;
    object-position: center -130px;
}

.absolute {
    position: absolute;
    left: initial; 
    transform: initial;
    color: #fff;
    width:auto;
    z-index: 999;
    padding: 0 20px;
}

.absolute3 {
    top: 80px;
    position: absolute;
    left: initial; 
    transform: initial;
    color: #fff;
    width:auto;
    z-index: 999;
    padding: 0 20px;
}

.or{
top:120px !important;
}

.orbutton{
bottom:100px !important;
}

.work_box > a {
    background-position: right 20px bottom 85px;
}

.work_box > a:hover {
    background-position: right 0px bottom 85px;
}

a.button_design_b{
    min-width: 240px;
    margin-left: auto;
    margin-right: auto;
}

.flex{
	display: block;
}

.left{
	float:none;
	padding-right:0px;
	padding-bottom:20px;
}

.right{
	float:none;
	padding-left:0px;
	padding-bottom:20px;
}

.rec_ph {
    width: 100%;
    height: auto;
}

.rec_title {
    padding: 0px 0px 10px;
    font-size: 210%;
}

.pagesubtitle5 {
    font-size: 100%;
    padding: 30px 0;
    letter-spacing: 0.1em;
    line-height: 2em;
}

.english {
    color: #7C7C7C;
    letter-spacing: 0.05em;
    padding-bottom: 20px;
}

.rec_name {
    font-size: 180%;
    display: inline-block;
    padding-bottom: 20px;
}

.rec_txt {
    line-height: 2em;
}

.rec_info1 {
    width: 100%;
    padding: 10px;
    background-color: #f9f9f9;
}
.rec_info2 {
    width: 100%;
    padding: 10px 10px 40px;
}

.whitebox {
    position: relative;
    top: -20px;
    z-index: 2;
    background-color: #fff;
    padding: 20px;
    width: 100%;
    margin: 0 auto;
}

.office_title1 {
    text-align: center;
    font-size: 160%;
    padding: 30px 0px 30px;
    letter-spacing: 0.15em;
}

.txt {
    font-size: 110%;
    letter-spacing: 0.15em;
    line-height: 2.1em;
}

.office_title2 {
    font-size: 150%;
    text-align: center;
    padding: 30px 0px 20px;
    letter-spacing: 0.15em;
    line-height: 2em;
}

.merit_box {
    padding: 20px 0;
}

.merit_box > div {
    width: 100%;
    padding: 20px;
}

.merit1 {
    border-right: none; 
    border-bottom: none;
}

.merit4 {
    border-left: none;
    border-top: none;
}

.eventm > div > img{
	height:initial;
	margin:0 auto;
	display:block;
	padding-bottom:0px;
}

.event_box > div {
    width: 100%;
}

.event_box_inner {
    padding: 0px 0px 20px;
}

.event_box > div:nth-child(even) {
    padding-bottom:50px;
}

.onestop_box > div:nth-child(odd) > img{
	width:40%;
	margin:0 auto 10px;
	display:block;
}

.onestop_box > div:nth-child(odd) {
    width: 100%;
    padding-bottom:30px;
}

.onestop_box > div:nth-child(even){
	width: 60px;
	text-align:center;
	transform: rotate( 90deg );
	margin:0 auto;
	position: relative;
	right: 5px;
	top: 20px;
	top:10px;
	padding: 0px 40px 0px 0px;
}

.onestop_box2 > div:nth-child(odd) > img{
	width:40%;
	margin:0 auto 10px;
	display:block;
}

.onestop_box2 > div:nth-child(odd) {
    width: 100%;
    padding-bottom:30px;
}

.onestop_box2 > div:nth-child(even){
	width: 60px;
	text-align:center;
	transform: rotate( 90deg );
	margin:0 auto;
	position: relative;
	right: 5px;
	top: 20px;
	top:10px;
	padding: 0px 40px 0px 0px;
}

.flex-item-1 {
	order: 2;
}

.flex-item-2 {
	order: 1;
}

.flex-item-3 {
	order: 3;
}

.flex-item-4 {
	order: 4;
}

.flex-item-5 {
	order: 5;
}

.pagetitle {
    font-size: 300%;
    line-height: 1em;
    letter-spacing: 0.03em;
}

.pagesubtitle {
    font-size: 140%;
    padding: 10px 0;
    letter-spacing: 0.1em;
}


a.button_design_d {
    margin:0 auto;
}

.work_info {
    width: 100%;
    position: relative;
    background-color: #fff;
    padding: 20px 0px;
}

.mid {
    font-size: 140%;
    padding-bottom: 20px;
    letter-spacing: 0.1em;
}

.thumb-slide {
    width: 100% !important;
}

.thumb-slide img{
	width: 100px; 
	object-fit: cover;
	padding:10px 5px;
}

.image-slider img{
	width: 100%;
    height: 250px;
    object-fit: cover;
}

.thumb-slide .slick-list {
    padding: 0px !important;
}

.mailform_box > div:nth-child(odd){
	padding: 0px 0px 0px;
}

.mailform_box > div:nth-child(even){
	padding: 0px 0px 20px;
}

nav a {
    display: block;
    width:100%;
    height:100%;
}

nav a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: none;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
nav a:hover::after {
  transform: scale(1, 1);
}

.title_main3 {
    font-size: 250%;
    letter-spacing: 0.05em;
    padding-right: 10px;
    font-weight: bold;
    font-family: serif;
    padding-bottom: 0px;
    padding-top: 20px;
}

.scroll_img {
    margin: 0 auto;
    display: block;
    width: 50px;
    padding: 30px;
    left: 36%;
    bottom: 0px;
}

.pagesubtitle3 {
    font-size: 110%;
    padding: 30px 0;
    letter-spacing: 0.1em;
    text-align: right;
    position: relative;
    top: -20px;
    right: 0px;
    line-height: 2.5em;
}

.pagesubtitle6 {
    font-size: 110%;
    padding: 30px 0;
    letter-spacing: 0.1em;
    text-align: right;
    position: relative;
    top: -20px;
    right: -130px;
    line-height: 2.5em;
}

.newsdate {
    font-size: 90%;
    color: #9B9B9B;
    padding-top: 0px;
    padding-bottom: 20px;
}


.vh2 {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    height: 300px;
}

.pagesubtitle2 {
    font-size: 130%;
    padding: 30px 0;
    letter-spacing: 0.1em;
    text-align: right;
    position: relative;
    top: -150px;
    right: 0px;
}

.main_copy{

	top: 60%;

}

.plus{
	padding-top:200px;
}

.dl60 {
    width: 100%;
    padding-right: 0px;
    padding-bottom: 30px;
}

}

.none{
	display:none;
}


.linkblack{
	color:#000;
	text-decoration:none;
}

.linkblack:hover{
	text-decoration:underline;
}

.topborder{
	border-top:2px dashed #ccc;
	margin-top:50px; 
}

.button_design_b {
  transition: opacity 0.5s ease-out;
}

.button_design_b.hide {
  opacity: 0;
}

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

nav {
    display: flex;
    box-sizing: border-box;
    justify-content: flex-end;
}

	
.wrapper2 {
    padding: 50px 0px 50px;
}

.wrapper {
    padding: 50px 0px 50px;
}

.leftbox {
    padding-left: 100px;
    padding-right: 30px;
}

.rightbox {
    padding-right: 100px;
    padding-left: 30px;
}
}

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

.wrapper,.wrapper2 {
    padding: 70px 0px 50px;
}
nav {
    display: block;
    height: initial;
    padding-top: 0px;
    box-sizing: border-box;
    justify-content: flex-end;
}

.leftbox {
    padding-left: 0px;
    padding-right: 0px;
}

.rightbox {
    padding-right: 0px;
    padding-left: 0px;
}

.event_box > div:nth-child(even) {
    padding-bottom: 0px;
}

.slick-prev {
    left: 20px !important;
    top: 58% !important;
}

.slick-next {
    right: 50px !important;
    top: 58% !important;
}

.interview_sss > .absolute {
    top:180px;
}

.post_photo img{
	width:100%;
}

.interview_wrapper .vh2{
    height: 200px;
}

.interview_wrapper .sub_main{
    height: 200px;
}

.interview_title_box {
    padding: 20px 10px 20px;
    align-items: flex-end;
}

.vol {
    border-bottom: 5px solid #000;
    padding-bottom: 8px;
    font-size: 200%;
    font-family: serif;
    margin:0px 0px 10px 0px;
    display: inline-block;
}

.interview_title {
    font-size: 150%;
    padding-bottom: 20px;
    font-family: 'リュウミン R-KL';
}

.interview_main_title {
    border-left: none;
    padding-left: 0px;
}

.website {
    padding-left: 0px;
    padding-top: 10px;
    font-size: 80%;
}

.website div{
	display:inline-block;
	padding-right:5px;
}

.interview_title_box > div:first-child{
	display:inline-block;
	padding-right:20px;
}

.col2,.col3 {
    width: 100%;
}

.up_area {
    width: 100%;
    margin: 0 auto;
}

.middle_copy {
    font-size: 160%;
    line-height: 2em;
    padding: 70px;
    width: 100%;
}

.middle_copy {
    font-size: 140%;
    line-height: 2em;
    padding: 30px;
    width: 100%;
}

.under_area {
    width: 100%;
    margin: 0 auto;
    padding:0 10px 0;
}

.under_left {
    padding-right: 0px;
}

.under_right {
    padding-left: 0px;
    padding-top:20px;
}

.int_com_box {
    margin-top: 0px;
    border: 1px solid #666;
    padding: 30px;
}

.int_com_box > div {
    display:block;
}

.flex3 {
    display: block;
}

.int_com_box img {
    max-width: 100%;
    max-hight: auto;
    object-fit: cover;
    padding-bottom: 10px;
}
.int_com_box_ph {
    padding-right: 0px;
}

.under_right img {
    max-width: 100%;
    max-height: none;
}
.caption1 {
    font-size: 80%;
    color: #666;
    line-height: 1.4em;
    padding-bottom: 20px;
}
a.button_design_e {
    font-size: 120%;
    width: 260px;
    background-color: #fff;
    color: #000;
    border: solid 1px #ccc;
    padding: 10px 15px 10px 15px;
    text-align: center;
    border-radius: 100px;
    text-decoration: none;
    transition: background-color 1s;
    transition: background-position 0.4s;
    transition: 0.4s ease-out;
    margin: 0px auto;
  cursor: pointer;
    display: inline-block;
    position: absolute;
    bottom: -100px;
  left: 25%;
    z-index: 999999999;
}

.img_box img {
    max-width: 100%;
}

.ribbon {
  padding: 10px 40px;
  font-size: 140%;
}

.img_box{
	padding:20px 10px 50px;
}


.qa_70{
	width:100%;
	margin:0 auto;
}

.column2{
	display:block;
	justify-content: space-between;
	width:100%;
	margin:0 auto;
}

.column2 > div{
	width:100%;
}

.border_top {
    border-top: 1px solid #ccc;
    padding-top: 30px;
}

.banner {
    padding-bottom: 0px;
}

.mynavi img {
    display: block;
    width: 100%;
    margin: 30px auto 30px;
}

.rec_title_w{
	width:90%;
	display:block;
	margin:0 auto;
}

}

.youtube-thumb {
  position: relative;
  cursor: pointer;
}

.play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 100px;
  background: url('/img/play-icon.svg') no-repeat center center;
  background-size: contain;
  transform: translate(-50%, -50%);
  pointer-events: none;
	opacity: 0.9;
}

/* モーダル再生用 */
.lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
}

.lightbox-content {
  position: relative;
  width: 90vw;
  max-width: 960px;
  aspect-ratio: 16 / 9;
  background: #000;
  display: flex;
  justify-content: center;
  align-items: center;
}

.video-container {
  width: 100%;
  height: 100%;
}

.video-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.lightbox iframe {
  margin: 0 !important;
  width: 100% !important;
}

.lightbox-close {
  position: absolute;
  top: -30px;
  right: 0;
  color: white;
  font-size: 4rem;
  cursor: pointer;
}


.thumb-slide .thumb-nav .play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  transform: translate(-50%, -50%);
  background: url('/img/play-icon.svg') no-repeat center center;
  background-size: contain;
  pointer-events: none;
	opacity: 0.9;
}

.thumb-nav img {
  width: auto !important;   
}

 .nextbtn{
	padding-top:20px;
}
 .nextbtn a:first-child{
	margin-right:50px;
}