﻿@charset "utf-8";
/* CSS Document */
html, body {
  width: 100%;
  /*overflow: auto;*/
}
/* ▼基本デザイン */
/* ----------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}
a:link, a:visited, a:hover, a:active {
  color: #111;
}
img {
  max-width: 100%;
  height: auto;
  display: block;	
}
li {
  list-style: none;
  margin: 0;
  padding: 0;
}
a {
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
a:hover {
  opacity: 0.65;
}
a, a:hover, a:visited {
  text-decoration: none !important;
}
.pure-toggle-label {
  display: none !important;
}
h5 {
  line-height: 1;
  height: auto;
  text-indent: 0;
  width: auto;
}
#container {
  width: 100%;
}
#container p {
  font-size: 15px;
  line-height: 1.8;
  text-align: justify;
}
h1, h2, h3, h4, h5 {
  font-feature-settings: "palt";
}

/* ▼gグローバルナビ問題
/* ----------------------------------------------------- 

.header #ui-tab {
    display:block!important;
} */
#global-info {
  display: none !important;
}
.history-right {
  display: none !important;
}
/* ▼パンくず */
/* ----------------------------------------------------- */
#pankuzu {
  max-width: 1200px;
  margin: 0 auto !important;
  text-align: left;
  padding: 5px !important;
  font-size: 11px !important;
  background-color: transparent;
}
#pankuzu a:link { /* パンくずのリンク */
  text-decoration: none;
}
#pankuzu a:visited { /* パンくずのリンク */
  text-decoration: none;
}
#pankuzu a:hover { /* パンくずのリンク */
  text-decoration: underline;
}
/* ▼main */
/* ----------------------------------------------------- */
.main_v {
  width: 70%;
  background-size: cover;
  background-position: left;
  position: relative;
  display: flex;
}
.main_v_l {
  width: 52%;
  display: flex;
  flex-direction: column;
}
.main_v_l1 {
  background-image: url("../img/main_pc_1.jpg");
  height: 50%;
  border-bottom: 2px solid #fff;
  background-size: cover;
  background-position: center;
}
.main_v_l2 {
  background-image: url("../img/main_pc_2.jpg");
  height: 50%;
  background-size: cover;
  background-position: center;	
}
.main_v_r {
  width: 48%;
  background-image: url("../img/main_pc_3.jpg");
  border-left: 2px solid #fff;
  background-size: cover;
  background-position: center;
}
.main_v_cover {
  width: 100%;
  height: calc(100vh - 124px) !important;
  position: relative;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.wcover {
  width: 30%;
  height: 100%;
  margin: 0 auto !important;
  background-size: cover;
  background-color: #4E92A6 !important;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
h1 {
  width: 50%;
  margin-left: -19px;	
}
.logo_img {
  width: 90%;
  padding-top: 40px;
}
.s_cover {
  width: 70%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 350px;
  container-type: inline-size;
  position: relative;	
}
.s_cover h2 {
  color: #fff;
  font-size: 8cqw;
  letter-spacing: 4px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
  font-weight: normal;
  padding-top: 30px;
  line-height: 1.4;	
}
.mark_pink {
  width: 30%;
  position: absolute;
  top: -23%;
  right: -4%;
  margin: auto;
}
/* ▼nav */
/* ----------------------------------------------------- */
.button-box {
  padding: 70px 0 120px 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1100px;
  margin: 0 auto;
  align-items: stretch;
}
.button-box li {
  list-style: none;
  border-right: 1px solid #99C2CD;
  padding-right: 5%;
  margin-right: 5%;
}
.button-box li:last-child {
  border: none;
  padding: 0;
  margin: 0;
}
.button-box li a {
  color: #4E92A5;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.button-box li img {
  height: 60px;
  width:auto;	
  padding-bottom: 5px;
}
.button-box li a .eng {
  font-size: 16px;
  letter-spacing: 2px;
  font-family: garamond-premier-pro, serif !important;
}
.button-box li a .jap {
  font-size: 14px;
  letter-spacing: 1px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
}
#nav_b {
  position: fixed;
  width: 100%;
  top: 0;
  background-color: rgba(255, 255, 255, 0.9);
  display: none;
  z-index: 3;
}
#nav_b .button-box {
  padding: 10px 0 !important;
  align-items: center;	
}

#nav_b .button-box li img {
  height: 40px;
  width:auto;	
  padding-bottom: 5px;
}
#nav_b .wcover {
  margin: 0!important;
  width: 35%;	
}
#nav_b .s_cover {
  flex-direction: row;
  height: 95px;
  width: 90%;
  max-width: 400px;
  justify-content: space-between;	
}
#nav_b h1 {
  width: 17%;
  margin-left: 0;
}
#nav_b .logo_img {
  width: 20%;
  padding-top: 0px;
  padding: 0 3%;
}
#nav_b .s_cover h2 {
  font-size: 3.5cqw;
  padding-top: 0;
  letter-spacing: 1px;	
}
#nav_b .mark_pink {
  width: 13%;
  position: relative;
  top: auto;
  right: 0;
  margin: 0;	
}
#nav_b .button-box li:last-child {

  padding-right: 4%;

}
#nav_b .button-box li:first-child {

  padding-left: 4%;

}
/*#nav_b .button-box li:last-child {
  list-style: none;
  border-right: 1px solid #99C2CD;
  padding-right: 5%;
  margin-right: 5%;
}*/
#nav_b .button-box li a .jap {
  font-size: 13px;
  letter-spacing: -1px;
}
#nav_b .button-box li a .eng {
  font-size: 14px;
}
/* ▼caption */
/* ----------------------------------------------------- */
.caption p {
  line-height: 2.3 !important;
  letter-spacing: 0.5px !important;
  text-align: center !important;
}
.caption {
  padding-bottom: 140px;
}
.pc_none {
  display: none;
}
/* ▼about*/
/* ----------------------------------------------------- */
.ic_cover.about {
  background-color: #4e92a6!important;
}
.about_cover_all {
  width: 1200px;
  margin: 0 auto;
  padding-bottom: 120px;
}
.owl-carousel_about {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0px 3%;
}
.about_box {
  width: 31%;
  padding-bottom: 100px;
}
.mh_about {
  font-size: 18px;
  line-height: 1.5;
  padding-top: 24px;
  padding-bottom: 24px;
  letter-spacing: 1px;
  background-color: #1E6E84;
  color: #fff;
  border-radius: 0 0 15px 15px;
}
.about_box p {
  color: #184449;
  padding-top: 20px;
}
.about .mh2 {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
  font-size: 31px;
  letter-spacing: 4px;
  font-weight: normal;
  color: #fff;
  text-align: center;
}
.about .mh2 span {
  font-family: garamond-premier-pro, serif !important;
  font-size: 17px;
  margin-top: -5px;
  font-style: italic;
  letter-spacing: 3px;
  background-image: url("../img/bg_about.svg");
  display: block;
  background-repeat: no-repeat;
  width: 111px;
  height: 53px;
  margin: 0 auto;
    margin-top: 0px;
  background-position-y: 0px;
  padding-top: 6px;
  margin-top: 20px;
}
.about .mh2_cover {
  padding: 0px 0 50px 0;
}
.about_img {
  position: relative;
}
.mark_point {
  position: absolute;
  top: 3%;
  right: 3%;
  background-image: url("../img/bg_mark_point.svg");
  width: 67px;
  height: 67px;
  background-size: cover;
}
.mark_point h6 {
  letter-spacing: 1;
  font-family: garamond-premier-pro, serif !important;
  color: #1E6E84;
  font-weight: normal;
  font-size: 11px !important;
  padding-top: 14px;
}
.mark_point span {
  display: block;
  font-family: garamond-premier-pro, serif !important;
  font-size: 30px;
  margin-top: -5px;
}

/* ▼category*/
/* ----------------------------------------------------- */
.mh2 {
  font-family: garamond-premier-pro, serif !important;
  font-size: 55px;
  letter-spacing: 4px;
  font-weight: 300;
  color: #4E92A5;
  text-align: center;
}
.cap_h2 {	
  display: block;
  font-size: 15px;
  font-weight: normal;
  letter-spacing: 1px;
  padding-top: 8px;	
  padding-top: 6px;	
}
.mh2_cover {
  padding: 0px 0 40px 0;
}
.mh2_cover.theory {
  border: none;
}
.cap_series {
  padding-bottom: 74px;
}

/* ▼lineup*/
/* ----------------------------------------------------- */
.cap_series p {
  text-align: center !important;
}
.lu-box {
  display: flex;
  justify-content: center;
  gap: 48px;
  padding-bottom: 80px;
}
.lineup_all {
  background-color: #DDEBED;
  width: 100%;
  max-width: 1700px;
  margin: 0 auto;
  border-radius: 14px;
  padding-top: 10px;
  margin-bottom: 130px;	
}
.lu-box li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.lu-box li a img {
  height: 105px;
  width: auto;
  padding-bottom: 6px;
}
.lu_name {
  font-size: 16px;
  letter-spacing: 2px;
  font-family: garamond-premier-pro, serif !important;
}
.fr_cv {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding-bottom: 66px;
}
.cross-box {
  width: 30px;
  height: 30px;
  padding-top: 9px;
}
.fr-box img,.cv-box img {
  height: 50px;
  width: auto;
  padding-bottom: 10px;	
}
.sp_only {
  display: none;
}
.mh3_lineup {
  font-family: garamond-premier-pro, serif !important;
  font-size: 17px;
  font-weight: normal;
  margin-top: -5px;
  font-style: italic;
  letter-spacing: 3px;
  color: #fff;
  background-color: #db947d;
  width: 218px;
  padding: 10px 0;
  margin: 0 auto;
  margin-bottom: 63px;
  margin-top: -33px;
}
/* ▼feature*/
/* ----------------------------------------------------- */
.mh3_fp {
  font-size: 22px;
  letter-spacing: 2px;
  font-weight: bold;
  color: #4E92A5;
  text-align: center;
}
.cap_fp {
  display: block;
  font-family: garamond-premier-pro, serif !important;
  font-size: 17px;
  font-weight: normal;
  margin-top: -10px;
  font-style: italic;
  letter-spacing: 3px;
  padding-top: 12px;
}
.mh3_fp_cover::before{
  content: url('../img/img_enc.svg');
  display: block;
  width: 28px;
  height: 87px;	
}
.mh3_fp_cover::after{
  content: url('../img/img_enc.svg');
  display: block;
  width: 28px;
  height: 87px;	
  transform: scale(-1, 1);	
}
.mh3_fp_cover {
  width: 388px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 78px;
}
.feature_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1700px;
  margin: 0 auto;
  padding-bottom: 100px;	
}
.feature {
  width: 24%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}
.img_feature {
  width: 100%;
  position: relative;
  padding-bottom: 30px;	
}
.mark_feature {
  position: absolute;
  bottom: 43px;
  left: 10px;
  background-color: #fff;
  width: 12%;
  height: 9%;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mark_feature span {
  font-family: garamond-premier-pro, serif !important;
  font-weight: normal;
  color: #4E92A5;
  font-size: 22px;
}
.txt_feature {
  width: 100%;
  text-align: justify;
  display: flex;
  position: relative;
  height: 100%;
  align-items: start;
  flex-direction: column;
}
.mh4_feature span {
  font-size: 18px !important;
  font-weight: bold;	
  margin-bottom: 16px;	
  letter-spacing: 2px;
  padding-bottom: 2%;	
  color: #4E92A5;	
  background: linear-gradient(transparent 70%, #eea993 0%);
  display: inline;
  padding: 0 1px 2px 0;
}
.mh4_feature {
  margin-bottom: 16px;	
}
.p_txt {
  color: #4D4D4D;
  font-weight: lighter;
}
/* ▼unit*/
/* ----------------------------------------------------- */
.unit_all {
  border-bottom: 1px solid #94babf;
  padding-bottom: 200px;
}
.ic_cover {
  background-color: #ffffff;
  padding-top: 136px;
}
.unit_cover {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1700px;
  background-color: #4e92a6 !important;
  margin-bottom: 50px;
  align-items: stretch;
}
.unit_image {
  width: 57%;
  height: 100% !important;
  background-color: #5BA0B4;
}
.unit_data {
  width: 43%;
  display: flex;
  flex-direction: column;
  position: relative;
  justify-content: center;
}
.mh4_up {
  color: #fff;
  font-size: 30px;
  padding-bottom: 37px;
  letter-spacing: 2px;	
}
.mh4_up span {
  display: block;
  background-color: #1E6E84;
  width: 80%;
  margin: 0 auto;
    margin-bottom: 0px;
  margin-bottom: 0px;
  font-size: 15px;
  margin-bottom: 24px;
  padding: 10px 0 5px 0;
  border-radius: 21px;
  letter-spacing: 2px;
}
.mh4_up span::after {
  content: url('../img/img_arrow_title.svg');
  display: block;
  margin-bottom: -14px;
  width: 20px;
  height: 5px;
  margin: 0 auto;
    margin-top: 0px;
    margin-bottom: 0px;
  margin-bottom: 0px;
  margin-top: -2px;
  padding-top: 0px;
}
.plus-box {
  width: 20px;
  height: 20px;
  padding: 0 1.2vw;
}
.unit_cover_all {
  padding-bottom: 230px;
}
.img_circle {
  width: 40%;
  margin: 0 auto;
  padding-bottom: 30px;
}
.unit_txt {
  color: #fff;
  width: 80%;
  margin: 0 auto;
}
.set_box {
  width: 80%;
  margin: 0 auto;
  margin-bottom: 30px;
  background-image: url("../img/img_bg_box.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  aspect-ratio: 4 / 1.6;
  display: flex;
  align-items: center;
  position: relative;
}
.mark_unit {
  text-align: center;
  position: absolute;
  top: 0%;
  left: 10%;
  margin-top: -5px;
  width: 84px;
  height: 45px;
  padding: 3px 0;
  background-image: url("../img/img_bg_huki.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
.mark_unit p {
  text-align: center !important;
  font-family: garamond-premier-pro, serif !important;
  font-size: 18px !important;
  font-weight: normal;
  font-style: italic;
  letter-spacing: 2px;
  color: #fff;
}
.set_item img {
  height: 6vw;
  width: auto !important;
  padding-bottom: 6px;
  margin: 0 auto;
  max-height: 105px;
}
.se_name {
  font-size: 16px;
  letter-spacing: 2px;
  font-family: garamond-premier-pro, serif !important;
  color: #4E92A5;
}
.set_prof {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  align-items: center;
}
.set_item {

}
.data_area {
  display: flex;
  justify-content: space-between;
  width: 487px;
  margin: 0 auto;
  padding-bottom: 32px;
}
.item {
  display: flex;
  flex-direction: column;
  width: 80%;
  margin: 0 auto;
  padding-top: 60px;
}
.item img {
  height: 100% !important;
  object-fit: cover;
}
.item_img {
  margin: 0 auto;
  padding-bottom: 20px	
}
.item_tbox {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  text-align: justify;
  align-items: center;
  color: #fff;
}
.item_tbox p {
}
.link_box {
  width: 473px;
  height: 73px;
  margin: 0 auto;
  background-color: #DB947D;
  border-radius: 10px;
  margin-bottom: 100px;
}
.link_box a {
  display: block;
  color: #fff;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 17px;	
  position: relative;	
}
.link_box > a::before {
  content: "";
  position: absolute;
  top: 0;
  right: 25px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  bottom: 0;
  margin: auto;
}
/* ▼banner*/
/* ----------------------------------------------------- */
.bn_series {
  width: 700px;
  margin: 0 auto;
  margin-top: 100px;
}
.bn_series a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 2px solid #4E92A5;
  overflow: hidden;	
  border-radius: 10px;	
}
.bn_img {
  width: 38%;
}
.bn_txt {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  color: #4E92A5;
  font-size: 40px;
  letter-spacing: 3px;
  font-family: garamond-premier-pro, serif !important;	
}
.bn_txt span {
  font-size: 14px;
  letter-spacing: 1px;
  padding-top: 7px;
}


/* ▼owl*/
/* ----------------------------------------------------- */
.owl-controls {
  right: 0;
  left: 0;
  bottom: 0;
  margin: 0 !important;
}
.owl-next {
  z-index: 99999;
  position: absolute;
  top: 47%;
  right: 3%;
  clear: both;
  display: block !important;
  background-image: url(../img/owl_arrow_r.png) !important;
  background-size: contain !important;
  width: 1.5rem;
  height: 1.5rem;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat !important;
  background-position: left !important;
  background-color: transparent !important;
  font-size: 0 !important;
}
.owl-prev {
  z-index: 99999;
  position: absolute;
  top: 47%;
  left: 3%;
  clear: both;
  display: block !important;
  background-image: url(../img/owl_arrow_l.png) !important;
  background-size: contain !important;
  width: 1.5rem;
  height: 1.5rem;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat !important;
  background-position: right !important;
  background-color: transparent !important;
  font-size: 0 !important;
}
.owl-theme .owl-dots .owl-dot span {
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  margin: 0.5rem;
  background: #FFF;
  position: relative;
  opacity: 0.7;
}
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
  background: #1e6e84 !important;
  opacity: 1;
}
.owl-item {
  height: 100%;
}
.owl-stage {
  height: 100%;
}
.owl-carousel {
  padding-bottom: 30px;
}

/* ▼mag*/
/* ----------------------------------------------------- */
.mag_cover {
  width: 1200px;
  margin: 0 auto;
  padding-bottom: 200px;
  /*padding-top: 150px;*/
}
.top-webmagazine .wm-inner {
  margin: 10px 16px 0 !important;
}
b {
  margin: 15px 3% 0 0 !important;
}
/* ▼幅毎の調整 
/* ----------------------------------------------------- */
@media only screen and (max-width: 1200px) and (orientation:portrait) {
  .main_v_cover {
    height: calc(100vh - 1000px) !important;
  }
}
@media only screen and (max-width: 1200px) and (orientation: landscape) {
  .main_v_cover {
    height: calc(100vh - 100px) !important;
  }
}
@media screen and (max-width: 1200px) {
  .feature_box {
  width: 1100px;
}
	.set_box {
  width: 85%;
}
}
@media screen and (max-width: 1440px) {}