@charset "utf-8";

/* ------------------------------------------------------------------------------------------------------------------------/
	nav
/------------------------------------------------------------------------------------------------------------------------ */
nav {
	top:120px;
	left:20px;
}


/* ------------------------------------------------------------------------------------------------------------------------/
	mainvisual
/------------------------------------------------------------------------------------------------------------------------ */
.main-slide {
	position:relative;
	width: 100%;
  height: auto;
  aspect-ratio: 96 / 41;
	margin: 0 auto 48px;
}
.main-slide h1 {
  font-size:0;
  line-height:0;
  background: url("../image/home/mv-message-sample.png") no-repeat center center;
  background-size: contain;
  position:absolute;
  width:600px;
  height:64px;
  z-index: 20;
  bottom:40%;
  overflow: hidden;
  margin:0 20px;
  left: 0;
}
.main-slide .bx-wrapper,
.main-slide .bx-viewport {
  width: 100% !important;
  margin: 0 auto;
}
.main-slide .slider {
  width: 100%;
  height: auto;
  margin: 0 auto;
}
.main-slide .slider li {
  width: 100%;
  height: auto;
  aspect-ratio: 96 / 41;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top center;
}
.main-slide .bx-wrapper .bx-pager {
	text-align: center;
	position:absolute;
  left: 0;
  right: 0;
  bottom: 24px;
  z-index: 50;
	width:100%;
  margin: 0 auto;
}
.main-slide .bx-wrapper .bx-pager .bx-pager-item,
.main-slide .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  margin: 0 11px;
}
.main-slide .bx-wrapper .bx-pager-link {
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 11px;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #1447A0;
}
.main-slide .bx-wrapper .bx-pager-link:hover,
.main-slide .bx-wrapper .bx-pager-link.active {
  background-color: #1447A0;
}
.main-slide .bx-wrapper .bx-pager .bx-pager-item,
.main-slide .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  margin: 0 .5em;
}


/* ------------------------------------------------------------------------------------------------------------------------/
	lineup
/------------------------------------------------------------------------------------------------------------------------ */
.lineup {
	width:calc(100% - 40px);
	text-align:center;
	margin:0 auto 60px;
}
.lineup h2 {
	width:470px;
	height:35px;
	background:url(../image/sp/home/lineup-title.jpg) top center no-repeat;
	padding-bottom:16px;
	border-bottom:3px solid #000;
	margin:0 auto 48px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.lineup-yuie img {
  width: 100%;
  height: auto;
}
.lineup .thumnail-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px;
  margin-top: 48px;
}
.lineup .thumnail-list-item a {
  color: inherit;
  text-align: center;
  text-decoration: none;
}
.lineup .thumnail-list-item a:hover {
  color: #1447a0;
}
.lineup .thumnail-list-item h3 {
  margin-top: 0.75rem;
}


/* ------------------------------------------------------------------------------------------------------------------------/
	blog
/------------------------------------------------------------------------------------------------------------------------ */
.blog {
	width:640px;
	text-align:center;
	margin-bottom:60px;
}

.blog h2 {
	width:470px;
	height:35px;
	background:url(../image/sp/home/blog_title.jpg) top center no-repeat;
	padding-bottom:16px;
	border-bottom:3px solid #000;
	margin:0 auto;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

.blog .list {
	margin-top:32px;
}
.blog ul {
	width:600px;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	margin:0 auto;
}

.blog li {
	float:left;
	width:282px;
	margin-right:34px;
	margin-bottom:34px;
	position:relative;
    box-sizing: border-box;
    border: 1px solid #ccc;
}

.blog li:nth-child(even) {
	margin-right:0;
}

.blog li a {
	text-decoration:none;
	text-align:left;
    display: block;
    width: 100%;
    height: 100%;
    padding: 10px;
	text-decoration:none;
	text-align:left;
    box-sizing: border-box;
    transition: 0.3s;
}

.blog .imgLiquid {
	width:100%;
	height:200px;
	margin:auto;
    background-color: #eee;
}

.blog .imgLiquid img {
	max-width:100%;
	max-height:100%;
	display:block;
	text-align:center;
	margin:0 auto;
}

.blog .new_icon {
	position:absolute;
	z-index:2;
	left:232px;
	top:-10px;
}

.blog .hiduke {
	color:#888888;
	line-height:1;
	margin-top:12px;
}

.blog .title {
	color:#222;
	margin-top:8px;
}

.blog .btn {
	width:500px;
	height:68px;
	display:block;
	background:url(../image/sp/home/blog_btn.jpg) top center no-repeat;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	margin:0 auto;
}

.dnone {
	color:#F1345E;
	margin:1em 0;
}


/* ------------------------------------------------------------------------------------------------------------------------/
	hojokin
/------------------------------------------------------------------------------------------------------------------------ */
.hojokin {
	width:calc(100% - 40px);
	margin:0 auto 60px;
}
.hojokin h2 {
	width:470px;
	height:35px;
	background:url(../image/sp/home/hojokin-title.jpg) top center no-repeat;
	padding-bottom:16px;
	border-bottom:3px solid #000;
	margin:0 auto 48px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.hojokin-list {
	margin-top:40px;
}
.hojokin-list-item {
  margin-top: 24px;
}
.hojokin-list-item a {
  display: grid;
  grid-template-columns: 160px auto;
  gap: 36px;
  color: inherit;
  text-decoration: none;
}
.hojokin-list-item a:hover {
  color: #50c1eb;
}
.hojokin-list-img {
  width: 100%;
  max-width: 160px;
  aspect-ratio: 4 / 3;
}
.hojokin-list-img img {
  width: 100%;
  height: auto;
}
.hojokin-list-title {
  font-size: 137.5%;
  font-weight: bold;
  margin-bottom: 1rem;
  line-height: 1.2;
}
.hojokin-list-text dt {
  font-weight: bold;
}
.hojokin-list-end {
  display: none;
}
.hojokin .btn {
	width:500px;
	height:68px;
	display:block;
	background:url(../image/sp/home/blog_btn.jpg) top center no-repeat;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	margin:0 auto;
}


/* ------------------------------------------------------------------------------------------------------------------------/
	link
/------------------------------------------------------------------------------------------------------------------------ */
.link {
	width:calc(100% - 40px);
	margin:0 auto 80px;
}
.link h2 {
	width:470px;
	height:35px;
	background:url(../image/sp/home/link-title.jpg) top center no-repeat;
	padding-bottom:16px;
	border-bottom:3px solid #000;
	margin:0 auto 48px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.link-contents img {
  width: 100%;
  height: auto;
}


/* ------------------------------------------------------------------------------------------------------------------------/
	sns
/------------------------------------------------------------------------------------------------------------------------ */
.sns {
  margin-bottom: 60px;
}
.sns img {
  width: 100%;
  height: auto;
}

.fb {
  width: 470px;
  margin: 0 auto 36px;
}
.insta {
  width: 470px;
  margin: 0 auto 36px;
}
.yuie {
  width: 470px;
  margin: 0 auto;
}
.fb a,
.insta a,
.yuie a {
  display: block;
  border: 1px solid #ccc;
  box-sizing: border-box;
}
.fb a:hover,
.insta a:hover,
.yuie a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
}


/* ------------------------------------------------------------------------------------------------------------------------/
	viewing
/------------------------------------------------------------------------------------------------------------------------ */
.viewing {
	width:600px;
	text-align:center;
  margin: 0 auto 60px;
}

.viewing h2 {
	width:470px;
	height:35px;
	background:url(../image/home/viewing_title.png) top center no-repeat;
	padding-bottom: 16px;
	border-bottom:3px solid #000;
	margin:0 auto 40px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

.viewing .caution {
  margin-top: .5em;
  font-size: 87.5%;
}


/* ------------------------------------------------------------------------------------------------------------------------/
	works
/------------------------------------------------------------------------------------------------------------------------ */
.works {
	background-color:#efefef;
	width:100%;
	padding:30px 0;
	margin-bottom:60px;
	text-align:center;
}

.works h2 {
	width:487px;
	height:39px;
	display:block;
	background:url(../image/sp/home/works_title.png?date=0718) top center no-repeat;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	margin:0 auto 15px auto;
}

.works .works-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
	width: 600px;
	margin: 36px auto 0;
}

.works .works-item {
  display: block;
  width: calc(50% - 10px);
  padding: 10px;
  margin-bottom: 16px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-sizing: border-box;
  color: inherit;
  text-decoration: none;
  transition: .3s;
}
.works .works-item:hover {
  color: #1447a0;
  border: 1px solid #1447a0;
}

.works .works-item img {
  width: 100%;
  height: 200px;
  object-fit: contain;
}

.works .works-item figcaption {
  margin-top: .5em;
  text-align: left;
}

.works .works-btn {
	width:500px;
	height:68px;
	display:block;
	background:url(../image/sp/home/works_btn.jpg) top center no-repeat;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	margin:0 auto;
}

.works .works-btn-sp {
	clear:both;
}


/* ------------------------------------------------------------------------------------------------------------------------/
	column
/------------------------------------------------------------------------------------------------------------------------ */
.column {
  width: 600px;
  margin: 30px auto;
}

.column h2 {
  font-size: 32px;
  font-weight: bold;
  color: #1447A0;
  padding-bottom: 6px;
  border-bottom: 1px dotted #a1b5d9;
  margin-bottom: 30px;
}

.column-link {
  background: #4a4a4a;
  color: #fff !important;
  margin: 20px auto 0;
  padding: 0.75em;
  display: block;
  max-width: 600px;
  text-align: center;
  text-decoration: none;
  transition: 0.3s;
}

.column-link:hover {
  opacity: 0.8;
}


/* ------------------------------------------------------------------------------------------------------------------------/
	banner
/------------------------------------------------------------------------------------------------------------------------ */
.banner {
	width: 560px;
	margin: 0 auto 50px;
}

.banner ul {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.banner li {
  list-style: none;
  float: left;
  margin-top: 30px;
  margin-right: 50px;
}

.banner li:nth-child(even) {
  margin-right: 0;
}

.banner li a {
  transition: 0.3s;
}

.banner li a:hover {
  opacity: 0.7;
}
