@charset "UTF-8";

/* Noto Sans Japanese (japanese) http://www.google.com/fonts/earlyaccess */
@font-face {
  font-family:'Noto Sans Japanese';
  font-style:normal;
  font-weight:400;
  src: url(../font/NotoSansJP-Regular.woff2) format('woff2'),
        url(../font/NotoSansJP-Regular.woff) format('woff'),
        url(../font/NotoSansJP-Regular.ttf) format('truetype');
}
@font-face {
  font-family:'Noto Sans Japanese';
  font-style:normal;
  font-weight:700;
  src: url(../font/NotoSansJP-Bold.woff2) format('woff2'),
        url(../font/NotoSansJP-Bold.woff) format('woff'),
        url(../font/NotoSansJP-Bold.otf) format('opentype');
}

body {
	font-family:'Noto Sans Japanese';
  font-weight:400;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}

ul,li {
  list-style: none;
}

.global-footer {
  margin-top:0;
}
main article {
  background:url(../img/page_bg.png) repeat 0 0;
  padding-bottom:160px;
}

.title_area {
  padding: 50px 50px 40px;
  background: #000;
}
.title_area h1 {
  font-family: "A1明朝", "A1 Mincho", noto-sans-cjk-jp, serif;
  color:#fff;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.15em;
  max-width: 1500px;
  margin: 0 auto;
}
.title_area h1 .sp_br {
  display: none;
}
.title_area h1 .bz4x_txt {
  padding: 0 15px;
  display: inline-block;
}
.title_area h1 .bz4x_txt {
  width: 208px;
}
.kv_img {
  width:100%;
}
.kv_img img {
 width: 100%;
 max-width: none;
}
section {
  max-width:1280px;
  margin:280px auto 0;
}
section.kv {
  margin-top:0;
}
section .inner {
  max-width: 1050px;
  margin: 0 auto;
  padding: 0 45px;
}
section p {
  color:#000;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.1em;
  margin: 35px 0 0;
}
section p .coomment {
  font-weight: 700;
}
section p.img_txt {
  color:#333;
  font-size: 13px;
  line-height: 1.5;
  margin: 30px 0 0;
}
section p.img_txt.sp_txt {
  display:none;
}
.main_img {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}
.main_img h2 {
  font-family: "A1明朝", "A1 Mincho", noto-sans-cjk-jp, serif;
  color:#fff;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.15em;
  white-space:nowrap;
  position: absolute;
  top:100px;
  left:50%;
  transform: translateX(-560px) translateY(-100%);
  background:rgba(0,0,0,.85);
  padding:50px 60px;
}
.sec02 .main_img h2 {
  left:auto;
  right:50%;
  transform: translateX(560px) translateY(-100%);
}
.sec02 .main_img.unique_posi {
  margin-top:-110px;
  margin-bottom:110px;
}
.sec02 .main_img.unique_posi h2 {
  top:auto;
  bottom:0;
  transform:translateX(560px) translateY(34%);
}
section .left_img,
section .right_img {
  width:100%;
  max-width:1160px;
  padding:100px 0 0;
  margin: 100px auto 0;
  display: flex;
  justify-content: flex-end;
  position: relative;
}
section .left_img .image,
section .right_img .image {
  width:630px;
  position: absolute;
  top:0;
  left:-60px;
  z-index:3;
}
section .left_img .image img,
section .right_img .image img {
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
}
section .left_img .text,
section .right_img .text {
  width:630px;
  position: relative;
  z-index:2;
  padding:45px 45px 45px 85px;
  background:#fff;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
}
section .right_img .text {
  padding:45px 85px 45px 45px;
}
section .left_img .image p {
  margin-top:20px;
  padding-right:80px;
}
section .right_img .image p {
  margin-top:20px;
  padding-left:80px;
}
section .left_img .text p:nth-child(1),
section .right_img .text p:nth-child(1) {
  margin-top:0;
}
section .left_img .text p.img_txt:nth-child(1) + p,
section .right_img .text p.img_txt:nth-child(1) + p {
  margin-top:0;
}
section .right_img {
  justify-content:flex-start;
}
section .right_img .image {
  left:auto;
  right:-60px;
}

section .imgheight {
  padding:0 !important;
  justify-content: flex-start;
}
section .left_img .max650,
section .right_img .max650 {
  width:650px;
  position: relative;
  left:-90px;
}
section .imgheight .text {
  position: absolute;
  top:100px;
  right:0;
}
section .left_img.imgheight .image p {
  padding-right:0;
}

.backlink {
  max-width:1000px;
  text-align: center;
  margin:100px auto 0;
}
.backlink p {
  font-size:12px;
  line-height:1.8;
  letter-spacing:0.1em;
  text-align:left;
  margin:0 0 50px;
}
.backlink a {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  background: #fff;
  display: inline-block;
  padding:20px 30px;
  border-radius:30px;
  transition:ease .3s;
}
.toppage .backlink p {
  color: #fff;
}

section.backnumber {
  margin-top:180px;
}
.backnumber h2 {
  width:272px;
  margin:0 auto 50px;
}
.backnumber ul {
  margin:0 -15px;
  display: flex;
  justify-content: center;
}
.backnumber ul li {
  width:25%;
  padding:0 15px;
  list-style: none;
}
.backnumber ul li a {
  color:#333;
  text-decoration:none;
  display: block;
}
.backnumber ul li .image {
  overflow: hidden;
  position: relative;
}
.backnumber ul li h3 {
  color:#fff;
  font-size: 16px;
  line-height: 1;
  background: #000;
  display: inline-block;
  padding:10px;
  margin:20px 0 0;
}
.backnumber ul li p {
  font-size: 16px;
  line-height: 1.5;
  margin:20px 0 0;
  letter-spacing:0;
}
.backnumber ul li a p,
.backnumber ul li a .image img {
  transition:ease .3s;
}

#fix_cv_area {
  width:100%;
  position: fixed;
  bottom:0;
  background: #000;
  z-index:9;
	overflow:visible;
}
.fix_cv {
  width:100%;
  padding:10px 0;
  background: #000;
}
.fix_cv ul {
  width:100%;
  display: flex;
  justify-content: center;
}
.fix_cv ul li {
  width:360px;
  margin:0 15px;
}
.fix_cv ul li a {
  color:#fff;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.1em;
  white-space: nowrap;
  text-align: center;
  display:block;
  padding:10px 50px 12px 30px;
  border-radius:20px;
  border:solid 1px #fff;
  transition:ease .3s;
  background:url(../img/ico_btn_arrow.svg) no-repeat right 5px center;
  background-size: 30px auto;
}
.fix_cv ul li:nth-child(2) a {
  border:0;
  background-image:url(../img/ico_btn_arrow.svg), linear-gradient(180deg,rgba(60, 190, 220, 1) 0%, rgba(0, 145, 185, 1) 100%);
  background-size:30px auto, cover;
  background-position:right 5px center, 0 0;
}

/* トップページ */
main article.toppage {
  background: none;
  padding-bottom: 0 !important;
}
.top_kv {
  max-width: none;
  text-align:right;
  margin: 0;
  padding:0 40px 200px;
  background:#000;
}
.top_kv .inner {
  max-width:1000px;
  margin:0 auto;
  padding:0 !important;
  position: relative;
}
.top_kv .kv_inner {
  width:100%;
  position: relative;
}
.top_kv .kv_inner img {
  max-width:720px;
  width:100%;
  height:auto;
  display:inline-block;
  position: relative;
  right: -220px;
}
.top_kv .top_kv_title {
  text-align:left;
  position: absolute;
  top:50%;
  left:0;
  transform: translateY(-50%);
  background: transparent;
}
.top_kv .top_kv_title h1 {
  font-family: "A1明朝", "A1 Mincho", noto-sans-cjk-jp, serif;
  color:#fff;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
.top_kv .top_kv_title h1 .sp_br {
  display: none;
}
.top_kv .top_kv_title p {
  color:#fff;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin:50px 0 0;
  max-width:500px;
}

.blog_list {
  margin:100px 0 0;
}
.blog_list ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
.blog_list ul li {
  text-align: left;
  width:calc(50% - 40px);
}
.blog_list ul li .image {
  position: relative;
  overflow: hidden;
}
.blog_list ul li .image img {
  width: 100%;
  display: block;
}
.blog_list ul li p {
  color:#919191;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.1em;
  margin:10px 0 0;
}
.blog_list ul li h2 {
  font-family: "A1明朝", "A1 Mincho", noto-sans-cjk-jp, serif;
  color:#fff;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  white-space: nowrap;
  margin:10px 0 0;
}
.blog_list ul li h2 .sp_br {
  display: none;
}
.blog_list ul li .link {
  margin:20px 0 0;
  display: flex;
  justify-content: flex-end;
}
.blog_list ul li .link a {
  color: #fff;
  display: flex;
  align-items: center;
  transition: ease .3s;
}
.blog_list ul li .link a .text {
  color:#fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
.blog_list ul li .link a img {
  width:30px;
  height:auto;
  margin: 0 0 0 10px;
  display: block;
}

.banners {
  max-width: none;
  margin: 0;
  padding:100px 40px;
  background: #fff;
}
.banners .inner {
  max-width:1000px;
  margin:0 auto;
  padding:0 !important;
  position: relative;
}
.banners .brand_link {
  margin: 0 0 50px;
}
.banners ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
.banners ul li {
  width: calc(50% - 40px);
  margin: 50px 0 0;
}
.banners ul li img {
  width: 100%;
  display: block;
}
.banners .brand_link a,
.banners ul li a {
  transition: ease .3s;
}


@media only screen and (max-width:1540px) {
section .left_img .image p {
  padding-left:20px;
}
section .right_img .image p {
  padding-right:20px;
}

}

@media only screen and (max-width:1280px) {
section .left_img .image {
  width:50vw;
  left:50%;
  transform: translateX(-50vw);
}
section .right_img .image {
  width:50vw;
  right:50%;
  transform: translateX(50vw);
}
section .left_img,
section .right_img {
  padding:7.81vw 0 0;
  margin: 7.81vw auto 0;
}
section .left_img .image img,
section .right_img .image img {
  box-shadow: 0px 0px 1.17vw 0px rgba(0, 0, 0, 0.15);
}
section .left_img .text,
section .right_img .text {
  width:49.21vw;
  padding:3.51vw 3.51vw 3.51vw 6.64vw;
  box-shadow: 0px 0px 1.17vw 0px rgba(0, 0, 0, 0.15);
}
section .right_img .text {
  padding:3.51vw 6.64vw 3.51vw 3.51vw;
}

}

@media only screen and (max-width:1240px) {
main article {
  padding-bottom:12.9vw;
}

.title_area {
  padding: 4.03vw 4.03vw 3.22vw;
}
.title_area h1 {
  font-size: 3.22vw;
}
.title_area h1 .bz4x_txt {
  padding: 0 1.2vw;
}
.title_area h1 .bz4x_txt {
  width: 16.77vw;
}
section {
  margin:22.58vw auto 0;
}
section .inner {
  padding: 0 3.63vw;
}
section p {
  font-size: 1.29vw;
  margin: 2.82vw 0 0;
}
section p.img_txt {
  font-size: 1.04vw;
  margin: 2.41vw 0 0;
}
.main_img h2 {
  font-size: 3.22vw;
  top:8.06vw;
  transform: translateX(-45.16vw) translateY(-100%);
  padding:4.03vw 4.83vw;
}
.sec02 .main_img h2 {
  transform: translateX(45.16vw) translateY(-100%);
}
.sec02 .main_img.unique_posi {
  margin-top:-8.87vw;
  margin-bottom:8.87vw;
}
.sec02 .main_img.unique_posi h2 {
  top:auto;
  bottom:0;
  transform:translateX(45.16vw) translateY(34%);
}
section .left_img .text,
section .right_img .text {
  width:50vw;
}
section .left_img .image p {
  margin-top:1.61vw;
  padding-right:6.45vw;
}
section .right_img .image p {
  margin-top:1.61vw;
  padding-left:6.45vw;
}
section .left_img .image p {
  padding-left:1.61vw;
}
section .right_img .image p {
  padding-right:1.61vw;
}

section .imgheight .text {
  top:8.06vw;
}

.backlink {
  margin:8.06vw auto 0;
}
.backlink p {
  font-size:.96vw;
  margin:0 0 4.03vw;
}
.backlink a {
  font-size: 1.29vw;
  padding:1.61vw 2.41vw;
  border-radius:2.41vw;
}

section.backnumber {
  margin-top:14.51vw;
}
.backnumber h2 {
  width:21.93vw;
  margin:0 auto 4.03vw;
}
.backnumber ul {
  margin:0 -1.2vw;
}
.backnumber ul li {
  padding:0 1.2vw;
}
.backnumber ul li h3 {
  font-size: 1.29vw;
  padding:.8vw;
  margin:1.61vw 0 0;
}
.backnumber ul li p {
  font-size: 1.29vw;
  margin:1.61vw 0 0;
}

.fix_cv {
  padding:.8vw 0;
}
.fix_cv ul li {
  width:29.03vw;
  margin:0 1.2vw;
}
.fix_cv ul li a {
  font-size: 1.21vw;
  padding:.8vw 4.03vw .96vw 2.42vw;
  border-radius:1.62vw;
  background:url(../img/ico_btn_arrow.svg) no-repeat right .4vw center;
  background-size: 2.41vw auto;
}
.fix_cv ul li:nth-child(2) a {
  background-size:2.41vw auto, cover;
  background-position:right .4vw center, 0 0;
}

}

@media only screen and (max-width:1200px) {
section .left_img .image,
section .right_img .image {
  width:51.815vw;
}
section .left_img .text,
section .right_img .text {
  width:50vw;
}
section .left_img .text {
  padding:3.51vw 3.73vw 3.51vw 5.07vw;
}
section .right_img .text {
  padding:3.51vw 5.07vw 3.51vw 3.73vw;
}

}


@media only screen and (max-width:1180px) {
/* トップページ */
.top_kv {
  padding:0 3.38vw 16.95vw;
}
.top_kv .inner {
  max-width:84.745vw;
}
.top_kv .kv_inner img {
  max-width:61.01vw;
  right: -18.64vw;
}
.top_kv .top_kv_title h1 {
  font-size: 4.23vw;
}
.top_kv .top_kv_title p {
  font-size: 1.35vw;
  margin:4.23vw 0 0;
  max-width:42.37vw;
}
.blog_list {
  margin:8.47vw 0 0;
}
.blog_list ul li {
  width:calc(50% - 3.38vw);
}
.blog_list ul li p {
  font-size: 1.01vw;
  margin:.84vw 0 0;
}
.blog_list ul li h2 {
  font-size: 1.61vw;
  margin:.84vw 0 0;
}
.blog_list ul li .link {
  margin:1.69vw 0 0;
}
.blog_list ul li .link a .text {
  font-size: 1.27vw;
}
.blog_list ul li .link a img {
  width:2.54vw;
  margin: 0 0 0 .84vw;
}
.banners {
  padding:8.47vw 3.38vw;
}
.banners .inner {
  max-width:84.745vw;
}
.banners .brand_link {
  margin: 0 0 4.23vw;
}
.banners ul li {
  width: calc(50% - 3.38vw);
  margin: 4.23vw 0 0;
}

}


@media only screen and (max-width:767px) {
main article {
  padding-bottom:34.66vw;
  overflow: hidden;
}

.title_area {
  padding: 4.66vw 6.66vw;
}
.title_area h1 {
  font-size: 5.33vw;
}
.title_area h1 .sp_br {
  display: inline;
}
.title_area h1 .bz4x_txt {
  padding: 0 1.2vw;
}
.title_area h1 .bz4x_txt {
  width: 26.93vw;
}
section {
  margin:48vw 0 0;
}
section .inner {
  padding: 0 6vw;
}
section p {
  font-size: 3.73vw;
  margin: 7.33vw 0 0;
}
section p.img_txt {
  font-size: 3.2vw;
  margin: 4vw 0 0;
}
section p.img_txt.pc_txt {
  display:none;
}
section p.img_txt.sp_txt {
  margin-top:4vw;
  padding:0 5.33vw;
  display:block;
}
section p.img_txt.sp_txt {
  margin-top:4vw;
  padding:0 5.33vw;
  display:block;
}
section .text p.img_txt.sp_txt {
  padding:0;
}
section .left_img .text p.img_txt:nth-child(1) + p,
section .right_img .text p.img_txt:nth-child(1) + p {
  margin-top:7.33vw;
}
.main_img h2 {
  font-size: 5.33vw;
  top:13.33vw;
  left:0;
  transform:translateY(-100%);
  padding:6.66vw;
}
.main_img.highposi {
  padding-top:6.66vw;
}
.main_img.lowposi {
  padding-top:3.33vw;
}
.sec02 .main_img h2 {
  left:auto;
  right:0;
  transform:translateY(-100%);
}
.sec02 .main_img.unique_posi {
  margin-top:-20vw;
  margin-bottom:16vw;
}
.sec02 .main_img.unique_posi h2 {
  top:auto;
  bottom:0;
  transform:translateY(34%);
}
section .main_img h2.spedit_ttl {
  letter-spacing:0.1em;
  padding:6.66vw 5.33vw 6.66vw 6.66vw;
}
section .left_img,
section .right_img {
  padding:0;
  margin: 13.33vw auto 0;
  display: block;
}
section .left_img .image img,
section .right_img .image img {
  box-shadow: 0px 0px 2vw 0px rgba(0, 0, 0, 0.15);
}
section .left_img .text,
section .right_img .text {
  width:89.33vw;
  margin:-6.66vw auto 0;
  padding:10.66vw 6vw 6vw;
  box-shadow: 0px 0px 2vw 0px rgba(0, 0, 0, 0.15);
}
section .left_img .image p,
section .right_img .image p {
  margin-top:0;
  padding:0;
}
section .left_img .image,
section .right_img .image {
  width:100vw;
  left:0;
  right:0;
  transform:none;
  position: relative;
}

section .imgheight .image {
  display: flex;
}
section .imgheight .image img {
  width:50%;
  max-width: none;
}
section .imgheight .text {
  top:0;
  margin:-2.66vw auto 0;
  position: relative;
}

section .textposi .text {
  margin:-2.66vw auto 0;
}

.backlink {
  margin:13.33vw auto 0;
}
.backlink p {
  font-size:3.2vw;
  margin:0 0 13.33vw;
  padding:0 6vw;
}
.backlink a {
  font-size: 3.2vw;
  padding:4vw 9.33vw;
  border-radius:6.66vw;
}
.toppage .backlink p {
  color: #fff;
}

section.backnumber {
  margin-top:20.66vw;
}
section.backnumber .inner {
  padding:0;
}
.backnumber h2 {
  width:36.8vw;
  margin:0 auto;
}
.backnumber ul {
  margin:0;
  display: block;
}
.backnumber ul li {
  width:auto;
  min-height:20.26vw;
  padding:0 5.33vw 0 38.13vw;
  margin:6.66vw 0 0;
  position: relative;
}
.backnumber ul li .image {
  width:30.4vw;
  position: absolute;
  top:0;
  left:5.33vw;
}
.backnumber ul li h3 {
  font-size: 3.2vw;
  padding:1.33vw 2vw;
  margin:0;
}
.backnumber ul li p {
  font-size: 3.2vw;
  margin:2.66vw 0 0;
}

.fix_cv {
  padding:2.4vw 0;
}
.fix_cv ul li {
  width:55vw;
  margin:0 2vw;
}
.fix_cv ul li + li {
  width:36vw;
}
.fix_cv ul li a {
  font-size: 2.93vw;
  letter-spacing:0;
  padding:2.4vw 6vw 2.4vw 0vw;
  border-radius:8.53vw;
  background:url(../img/ico_btn_arrow.svg) no-repeat right 1.33vw center;
  background-size: 6.13vw auto;
}
.fix_cv ul li:nth-child(2) a {
  background-size:6.13vw auto, cover;
  background-position:right 1.33vw center, 0 0;
}

/* トップページ */
.top_kv {
  padding:0 0 21.33vw;
}
.top_kv .inner {
  max-width:none;
}
.top_kv .kv_inner img {
  width:100%;
  max-width:none;
  right:auto;
}
.top_kv .top_kv_title {
  width:100%;
  padding:0 5.33vw;
  top:10.66vw;
  transform:none;
}
.top_kv .top_kv_title h1 {
  font-size: 8vw;
  line-height: 1.5;
  letter-spacing: .05em;
}
.top_kv .top_kv_title h1 .sp_br {
  display: inline;
}
.top_kv .top_kv_title p {
  font-size: 4vw;
  margin:8vw 0 0;
  max-width:none;
}
.blog_list {
  margin:21.33vw 5.33vw 0;
}
.blog_list ul li {
  width:auto;
  margin:18.66vw 0 0;
}
.blog_list ul li p {
  font-size: 3.2vw;
  margin:5.33vw 0 0;
}
.blog_list ul li h2 {
  font-size: 5.33vw;
  margin:4vw 0 0;
}
.blog_list ul li h2 .sp_br {
  display: inline;
}
.blog_list ul li .link {
  margin:8vw 0 0;
}
.blog_list ul li .link a .text {
  font-size: 4vw;
}
.blog_list ul li .link a img {
  width:8vw;
  margin: 0 0 0 2.66vw;
}
.banners {
  padding:26.66vw 5.33vw;
}
.banners .inner {
  max-width:none;
}
.banners .brand_link {
  margin: 0;
}
.banners ul li {
  width: auto;
  margin: 13.33vw 0 0;
}

}

@media (hover: hover) {
.backlink a:hover {
  color:#555;
  opacity:.7;
}
.backnumber ul li a:hover p,
.blog_list ul li .link a:hover {
  opacity:.7;
  text-decoration: underline;
}
.backnumber ul li a:hover p {
  color:#555;
}
.backnumber ul li a:hover .image img {
  transform: scale(1.1);
}
.banners .brand_link a:hover {
  opacity:.8;
}
.fix_cv ul li a:hover,
.banners ul li a:hover {
  opacity:.7;
  text-decoration: none;
}

}

@media print{
}
