/*--------------------------------------*/

/*base*/

/*--------------------------------------*/
/*
img:not([alt]){
outline: 5px solid red;
}
*/
* {
  font-family: "Roboto", Noto Sans Japanese, "Meiryo", "メイリオ", "ヒラギノ 角ゴPro W3", "Hiragino Kaku Gothic Pro",
    "MS PGothic", "ＭＳ Ｐゴシック";
  font-size: 100%;
}
.container figcaption {
  font-size: 0.75em;
}

html,
body {
  height: 100%;
  overflow: visible;
}

body {
  margin: 0;
  padding: 0;
  overflow-y: scroll;
}

/* よく登場する要素のリセット */

h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
ul,
ol,
li,
dl,
dt,
dd,
table,
caption,
th,
td,
img,
form,
div {
  margin: 0;
  padding: 0;
  border: none;
  font-style: normal;
  font-size: 100%;
  text-align: left;
  list-style-type: none;
  font-weight: 400;
  font-family: "Roboto", Noto Sans Japanese, "Meiryo", "メイリオ", "ヒラギノ 角ゴPro W3", "Hiragino Kaku Gothic Pro",
    "MS PGothic", "ＭＳ Ｐゴシック";
  color: #232323;
  letter-spacing: 0.05em;
  line-height: 1.8em;
}

/* テキストエリア内文字サイズのブラウザ間での差異をなくす */
textarea {
  font-size: 100%;
}

/* 画像の下にできる隙間をなくす */
img {
  vertical-align: bottom;
}

.cf:after {
  content: "."; /* 新しい要素を作る */
  display: block; /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.cf {
  min-height: 1px;
}

* html .cf {
  height: 1px;
  /*\*/ /*/
	height: auto;
	overflow: hidden;
	/**/
}

#a01,
#a02,
#a03,
#a04,
#a05,
#a06 {
  margin-top: -123px;
  padding-top: 123px;
}

/*--------------------------------------*/

/*common*/

/*--------------------------------------*/

#wrap {
  background-color: #eee;
  position: relative;
}

a {
  font-size: 16px;
  text-decoration: none;
}

.hover {
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.hover:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -moz-opacity: 0.7;
  -khtml-opacity: 0.7;
  zoom: 1;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

a:focus {
  outline: none;
}

.container {
  width: 100%;
  position: relative;
  overflow: hidden;
  padding: 80px 0;
  box-sizing: border-box;
}

.lower .container {
  padding: 100px 0;
}

.container_inner {
  width: 1120px;
  margin: 0 auto;
  position: relative;
}

.mainImg {
  height: 365px;
  padding-top: 123px;
  background-color: #eee !important;
}

.mainImg-none {
  padding-top: 123px;
}

.sp {
  display: none;
}

article {
  position: relative;
  z-index: 2;
}

.left_container {
  width: 50%;
  float: left;
  position: relative;
  box-sizing: border-box;
}

.right_container {
  width: 50%;
  float: right;
  position: relative;
  box-sizing: border-box;
}

.pt10 {
  padding-top: 10px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pt50 {
  padding-top: 50px !important;
}
.pt60 {
  padding-top: 60px !important;
}
.pt70 {
  padding-top: 70px !important;
}
.pt80 {
  padding-top: 80px !important;
}
.pt90 {
  padding-top: 90px !important;
}
.pt100 {
  padding-top: 100px !important;
}
.pt110 {
  padding-top: 110px !important;
}
.pt120 {
  padding-top: 120px !important;
}
.pt130 {
  padding-top: 130px !important;
}
.pt140 {
  padding-top: 140px !important;
}
.pt150 {
  padding-top: 150px !important;
}
.pb10 {
  padding-top: 10px !important;
}
.pb20 {
  padding-top: 20px !important;
}
.pb30 {
  padding-top: 30px !important;
}
.pb40 {
  padding-top: 40px !important;
}
.pb50 {
  padding-top: 50px !important;
}
.pb60 {
  padding-top: 60px !important;
}
.pb70 {
  padding-top: 70px !important;
}
.pb80 {
  padding-top: 80px !important;
}
.pb90 {
  padding-top: 90px !important;
}
.pb100 {
  padding-top: 100px !important;
}

.plain_txt {
  font-size: 16px;
  line-height: 1.8em;
  padding-bottom: 1em;
}

.note {
  font-size: 12px;
}

.note span {
  font-size: 10px;
  color: #666;
}

.bold {
  font-weight: bold;
}

.center {
  width: 100%;
  text-align: center;
}

.lh2 {
  line-height: 2em;
}

.fit {
  width: 100%;
}

.caption,
.caption_w {
  font-family: "Titillium Web", Noto Sans Japanese, sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 46px;
  color: #000;
  line-height: 1em;
  text-align: center;
}

.caption span,
.caption_w span {
  font-size: 18px;
  font-style: normal;
  line-height: 1em;
  letter-spacing: 0.2em;
  padding-top: 10px;
  display: block;
  font-weight: normal;
}

.caption_w,
.caption_w span {
  color: #fff;
}

.mainImg .caption,
.mainImg .caption_w {
  padding-top: 70px;
  text-shadow: 0 0 10px #595959;
}

.caption b {
  font-family: Noto Sans Japanese, "Meiryo", "メイリオ", "ヒラギノ 角ゴPro W3", "Hiragino Kaku Gothic Pro", "MS PGothic",
    "ＭＳ Ｐゴシック";
  font-style: normal;
  font-size: 36px;
}

.caption_sub {
  font-family: "Titillium Web", Noto Sans Japanese, sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 32px;
  text-align: center;
  line-height: 1em;
  padding-top: 30px;
}

.lead {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.6em;
}

.btn_container a {
  border: 3px solid #000;
  font-size: 19px;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.1em;
  display: block;
  text-align: center;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.btn_container a:hover {
  background-color: #000;
  color: #fff;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.btn_container_w a {
  border: 3px solid #fff;
  font-size: 19px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
  display: block;
  text-align: center;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.btn_container_w a:hover {
  background-color: #fff;
  color: #000;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.btn_6428 {
  width: 64px;
  height: 28px;
  line-height: 28px;
}

.btn_10040 {
  width: 100px;
  height: 40px;
  line-height: 40px;
}

.btn_16056 {
  width: 160px;
  height: 56px;
  line-height: 56px;
}

.btn_20040 {
  width: 200px;
  height: 40px;
  line-height: 40px;
}

.btn_20064 {
  width: 200px;
  height: 64px;
  line-height: 64px;
}

.btn_26064 {
  width: 260px;
  height: 64px;
  line-height: 64px;
}

.btn_28064 {
  width: 280px;
  height: 64px;
  line-height: 64px;
}

.btn_32064 {
  width: 320px;
  height: 64px;
  line-height: 64px;
}

.btn_42064 {
  width: 420px;
  height: 64px;
  line-height: 64px;
}

.btn_42064_2 {
  width: 420px;
  height: 64px;
  line-height: 64px;
}

.btn_48064 {
  width: 480px;
  height: 64px;
  line-height: 64px;
}

.ex {
  background: url("../img/common/btn_icon_09.png") 90% center no-repeat;
  background-size: 22px 16px;
}

.breadcrumb {
  width: 1020px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}

.breadcrumb ul {
  position: absolute;
  top: 20px;
  left: 0;
}

.breadcrumb ul li,
.breadcrumb ul li a {
  font-size: 11px;
  color: #999;
}

.breadcrumb ul li {
  float: left;
}
.breadcrumb ul li a:hover {
  color: #000;
}

.breadcrumb ul li:after {
  content: "｜";
}

.breadcrumb ul li:last-child:after {
  content: "";
}

.accordion_child {
  display: none;
}

.fs38 {
  font-size: 38px !important;
}

/*--------------------------------------*/

/*header*/

/*--------------------------------------*/

header {
  width: 100%;
  height: 123px;
  position: fixed;
  z-index: 3;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

header.bg_w {
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0px 2px 5px 0px #dbdbdb;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.header_logo {
  width: 180px;
  position: absolute;
  top: 70px;
  left: 0;
}

.header_sNav {
  position: absolute;
  top: 0;
  right: 0;
}

.header_sns-icon {
  padding-top: 5px;
  float: left;
}

.header_sns-icon li {
  padding-right: 17px;
  float: left;
}

.sNav01 {
  width: 20px;
}

.sNav02 {
  width: 24px;
}

.sNav03 {
  width: 22px;
}

.sNav04 {
  width: 30px;
}

.sNav05 {
  width: 20px;
}

.sNav06 {
  width: 22px;
}

.header_btn {
  float: left;
  padding-left: 20px;
}

.header_btn li {
  width: 200px;
  height: 40px;
  float: left;
  text-align: center;
}

.header_btn li a {
  display: block;
  width: 100%;
  height: 40px;
  font-family: "Titillium Web", sans-serif;
  font-size: 16px;
  font-weight: 700;
  font-style: italic;
  line-height: 40px;
}

.header_btn li:first-child a {
  background-color: #d7d7d7;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.header_btn li:first-child span {
  background: url("../img/common/btn_icon_01.png") left center no-repeat;
  background-size: 15px 21px;
  padding-left: 25px;
  color: #000;
}

.header_btn li:last-child a {
  background-color: #000;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.header_btn li:last-child span {
  background: url("../img/common/btn_icon_02.png") left center no-repeat;
  background-size: 20px 13px;
  padding-left: 30px;
  color: #fff;
}

.header_btn li:first-child a:hover,
.header_btn li:last-child a:hover {
  background-color: #666;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.header_gNav {
  float: right;
  padding-top: 70px;
}

.header_gNav li {
  height: 51px;
  text-align: center;
  float: left;
}

.header_gNav li a {
  display: block;
  width: 100%;
  height: 100%;
  font-family: "Titillium Web", sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 14px;
  line-height: 1.3em;
  color: #fff; /* icon color切替時修正*/
  margin-right: 35px;
}

.header_gNav li a span {
  font-weight: 100;
  font-size: 10px;
  color: #fff; /* icon color切替時修正*/
  font-style: normal;
  display: block;
}

header.bg_w .header_gNav .gNav_inner li a {
  color: #000;
}

header.bg_w .header_gNav .gNav_inner li a span {
  color: #666;
}

.header_gNav .gNav_inner a:hover {
  border-bottom: 3px solid #fff; /* icon color切替時修正*/
}

header.bg_w .header_gNav .gNav_inner a:hover {
  border-bottom: 3px solid #000;
}

/* 190126 サブナビゲーション追加--------------------------------------*/

.header_gNav .child_container {
  position: fixed;
  top: 123px;
  left: 0;
  width: 100vw;
  height: 60px;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
  display: none;
}

.header_gNav .parent a {
  cursor: pointer;
}

.header_gNav .parent.visible a {
  border-bottom: 3px solid #fff;
}

header.bg_w .header_gNav .parent.visible a {
  border-bottom: 3px solid #000;
}

.header_gNav .child_container .child {
  display: inline-block;
}

.header_gNav .child_container .child li {
  width: 120px;
  height: 57px;
  padding-top: 17px;
  box-sizing: border-box;
}

.header_gNav .child_container .child li a {
  color: #000;
  border-bottom: none;
  cursor: pointer;
}
header.bg_w .header_gNav .parent.visible .child_container .child li a {
  border-bottom: none;
}

.header_gNav .child_container .child li a span {
  color: #666;
}

.header_gNav .child_container .child li a:hover,
header.bg_w .header_gNav .parent.visible .child_container .child li a:hover {
  border-bottom: 3px solid #000;
}

/*--------------------------------------*/

/*footer*/

/*--------------------------------------*/

.footer_inner {
  width: 1020px;
  margin: 0 auto;
  position: relative;
}

.footer_sNav {
  padding: 60px 0;
  background-color: #d7d7d7;
}

.footer_sNav_container {
  width: 740px;
  margin: 0 auto;
}

.footer_bnr {
  width: 310px;
  float: left;
}

.footer_bnr img {
  width: 290px;
}

.footer_sns-icon {
  width: 410px;
  padding: 40px 0 0 20px;
  float: left;
}

.footer_sns-icon li {
  width: 80px;
  float: left;
}

.footer_sns-icon li img {
  width: 58px;
}

.pagetop {
  position: absolute;
  right: 0;
  bottom: -60px;
}

footer nav {
  background-color: #000;
  padding-top: 50px;
}

footer .btn_26064 {
  margin: 0 auto;
  font-size: 19px;
}

.footer_btn {
  width: 900px;
  margin: 0 auto;
  padding-top: 14px;
}

.footer_btn li {
  width: 300px;
  float: left;
}

.footer_btn li a span {
  font-size: 19px;
  font-weight: 700;
}

.footer_btn li:first-child a span {
  font-size: 20px;
}

.footer_btn li:first-child a {
  background-color: #fff;
  color: #000;
  margin-right: 40px;
}

.footer_btn li:first-child a:hover {
  background-color: #000;
  color: #fff;
}

.footer_btn li:nth-child(2) a {
  margin: 0 auto;
}

/*.footer_btn li:last-child a {
	margin-left: 40px;
}*/

.footer_btn li:first-child span {
  background: url("../img/common/btn_icon_01.png") left top no-repeat;
  background-size: 19px 25px;
  padding-left: 34px;
}

.footer_btn li:nth-child(2) span {
  background: url("../img/common/btn_icon_05.png") left center no-repeat;
  background-size: 26px 17px;
  padding-left: 42px;
}

.footer_btn li:last-child span {
  background: url("../img/common/btn_icon_02.png") left center no-repeat;
  background-size: 26px 16px;
  padding-left: 42px;
}

.footer_btn li:first-child a:hover span {
  background: url("../img/common/btn_icon_03.png") left top no-repeat;
  background-size: 19px 25px;
  padding-left: 34px;
}

.footer_btn li:nth-child(2) a:hover span {
  background: url("../img/common/btn_icon_08.png") left center no-repeat;
  background-size: 26px 17px;
  padding-left: 42px;
}

.footer_btn li:last-child a:hover span {
  background: url("../img/common/btn_icon_07.png") left center no-repeat;
  background-size: 26px 16px;
  padding-left: 42px;
}

.footer_gNav {
  width: 900px;
  margin: 0 auto;
  padding: 35px 0;
}

.footer_gNav dl {
  width: 180px;
  float: left;
}

.footer_gNav dl dt {
  padding-bottom: 10px;
}

.footer_gNav dl dt a {
  color: #ccc;
  font-size: 13px;
  font-weight: 700;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.footer_gNav dl dd a {
  color: #ccc;
  font-size: 12px;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.footer_gNav dl dt a:hover,
.footer_gNav dl dd a:hover {
  color: #fff;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.add_container {
  background-color: #000;
  padding-bottom: 50px;
  color: #ccc;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}

address {
  color: #ccc;
  font-size: 10px;
  text-align: center;
  padding-top: 5px;
}

/*--------------------------------------*/

/*top*/

/*--------------------------------------*/

.top .caption,
.top .caption_w {
  font-size: 60px;
}

.top .caption span,
.top .caption_w span {
  font-size: 20px;
  font-weight: 700;
  padding-top: 15px;
}

/*sec01--------------------------------*/

/* add 190729 */
.top #sec01 {
  background: url("../img/top/mainImg_pc_202409.jpg") center top no-repeat;
  background-size: cover;
  width: 100%;
  height: 100vh;
}

@media screen and (max-width: 1039px) {
  .top #sec01 {
    background: url("../img/top/mainImg_tab_202409.jpg") center top no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
  }
}
/* add 190729 end*/

.top #sec01 .container_inner {
  height: 100vh;
}

.top #sec01 .catch {
  width: 350px;
  position: absolute;
  top: 60%;
  left: 60px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.top #sec01 .scroll {
  width: 36px;
  display: block;
  position: absolute;
  bottom: 10%;
  left: 50%;
  margin-left: -18px;
}

/*sec02--------------------------------*/

#contents {
  padding-top: 123px;
  margin-top: -123px;
}

.top #sec02 {
  background-color: #fff;
  /* 250919 お知らせCHECKカテゴリ追加 */
  /* padding-top: 10px; */
  padding-top: 0;
  /* 250919 お知らせCHECKカテゴリ追加 */
}

/* 250919 お知らせCHECKカテゴリ追加 */
.top #sec02 .check_wrap {
  background-color: #eee;
}
/* 250919 お知らせCHECKカテゴリ追加 */

.top #sec02 .container {
  padding-bottom: 30px;
}

.top #sec02 .left_container {
  width: 85px;
}

.top #sec02 .right_container {
  width: 935px;
}

.top #sec02 .left_container .caption {
  font-size: 30px;
  padding-top: 25%;
}

.top #sec02 .caption span {
  font-size: 10px;
  line-height: 1.5em;
  padding-top: 0;
}

.news_container {
  padding-left: 40px;
}

.news_container li {
  font-weight: 400;
  font-size: 14px;
  font-style: normal;
  color: #232323;
  padding-bottom: 0.8em;
  width: 800px;
}

.news_container li a {
  text-decoration: underline;
  font-size: 14px;
  color: #232323;
}

.news_container li span {
  font-size: 16px;
  font-weight: bold;
  color: #666;
  display: block;
  float: left;
  width: 105px;
}

.news_container li b {
  font-weight: normal;
  font-style: normal;
  display: block;
  float: left;
  width: 695px;
}

.top #sec02 .right_container .btn_container {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
}

.top #sec02 .right_container .btn_10040 {
  font-size: 12px;
}


/*sec03--------------------------------*/

.top #sec03 {
  position: relative;
}

.top #sec03 .container {
  background: url("../img/top/top_obj_cup2026_pc.jpg") center top no-repeat;
  height: 380px;
}

.top #sec03 .cover {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.top #sec03 .cover:hover {
  background-color: rgba(255, 255, 255, 0.3);
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

/*sec04--------------------------------*/

.top #sec04 .container {
  background: url("../img/top/top_obj_03_pc_202509.jpg") center top no-repeat;
  height: 450px;
}

.top #sec04 .info_container {
  text-align: center;
  position: absolute;
  top: 90px;
  right: 60px;
}

.top #sec04 .info_container .plain_txt {
  display: block;
  text-align: center;
  letter-spacing: 0.2em;
  font-size: 15px;
}

.top #sec04 .info_container .btn_20064 {
  margin: 0 auto;
}

/*sec05--------------------------------*/

.top #sec05 .container {
  background: url("../img/top/top_obj_04_pc_202504.jpg") center top no-repeat;
  height: 450px;
}

.top #sec05 .info_container {
  text-align: center;
  position: absolute;
  top: 90px;
  left: 60px;
}

.top #sec05 .info_container .plain_txt {
  display: block;
  width: 375px;
  text-align: center;
  letter-spacing: 0.2em;
  font-size: 15px;
}

.top #sec05 .info_container .btn_20064 {
  margin: 0 auto;
}

/*sec06--------------------------------*/

.top #sec06 {
  background-color: #646464;
}

.top #sec06 .container {
  background: url("../img/top/top_obj_05_pc.jpg") center top no-repeat;
  /*height: 346px;*/
}

.shop_btn {
  width: 760px;
  margin: 0 auto;
}

.top #sec06 .btn_32064 {
  margin: 0 auto;
}

.top #sec06 .btn_32064 span {
  background: url("../img/common/btn_icon_04.png") left top no-repeat;
  background-size: 19px 25px;
  padding-left: 32px;
}

.top #sec06 .btn_32064:hover span {
  background: url("../img/common/btn_icon_06.png") left top no-repeat;
  background-size: 19px 25px;
  padding-left: 32px;
}

.shop_btn li {
  width: 380px;
  float: left;
}

.shop_btn li .btn_32064 {
  font-size: 21px;
  margin: 0 auto;
}

.shop_btn li .btn_32064 b {
  font-size: 19px;
  padding-right: 0.1em;
}

.shop_btn li:last-child {
  text-align: right;
}

.shop_btn li:first-child span {
  background: url("../img/common/btn_icon_03.png") left top no-repeat;
  background-size: 19px 25px;
  padding-left: 32px;
}

.shop_btn li:last-child span {
  background: url("../img/common/btn_icon_04.png") left center no-repeat;
  background-size: 17px 25px;
  padding-left: 32px;
}

.shop_btn li:first-child a:hover span {
  background: url("../img/common/btn_icon_01.png") left top no-repeat;
  background-size: 19px 25px;
  padding-left: 32px;
}

.shop_btn li:last-child a:hover span {
  background: url("../img/common/btn_icon_06.png") left center no-repeat;
  background-size: 17px 25px;
  padding-left: 32px;
}

/*sec07--------------------------------*/

.top #sec07 .container {
  background: url("../img/top/top_obj_09_pc.jpg") center bottom no-repeat;
  height: 346px;
}

.top #sec07 .btn_20064 {
  margin: 0 auto;
}

/*sec08--------------------------------*/

.top #sec08 {
  background-color: #fff;
}

.top #sec08 .container {
  background: url("../img/top/top_obj_06_pc.jpg") center bottom no-repeat;
  background-size: cover;
}

.service .caption_sub {
  text-align: center;
  padding: 60px 0 35px;
}

.service .caption_sub img {
  width: 698px;
}

.service_container_left {
  position: relative;
}

.service_container_right {
  position: relative;
  text-align: right;
}

.service_container_left .info_container {
  position: absolute;
  left: 760px;
  top: 100px;
  text-align: left;
}

.service_container_right .info_container {
  position: absolute;
  right: 760px;
  top: 100px;
  text-align: right;
}

.service_container_left h4 {
  background: url("../img/common/line80.jpg") left bottom no-repeat;
  padding-bottom: 15px;
  margin-bottom: 15px;
}

.service_container_right h4 {
  background: url("../img/common/line80.jpg") right bottom no-repeat;
  padding-bottom: 15px;
  margin-bottom: 15px;
}

.service_container_left .info_container p .service_container_right .info_container p {
  letter-spacing: 0.2em;
}

.service_container .info_container .plain_txt {
  font-weight: 700;
}

.service_container .service_container_right .info_container h4,
.service_container .service_container_right .info_container p {
  text-align: right;
}

.service_container .service_container_right .info_container .btn_20064 {
  float: right;
}

.top #sec08 .btn_32064 {
  margin: 0 auto;
}


/*sec09--------------------------------*/

.top #sec09 {
  position: relative;
}

.top #sec09 .container {
  background: url("../img/top/top_obj_trainingtournament_jhs_pc_2025.jpg") center top no-repeat;
  height: 380px;
}

.top #sec09 .cover {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.top #sec09 .cover:hover {
  background-color: rgba(255, 255, 255, 0.3);
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}


/*sec10--------------------------------*/

.top #sec10 .container {
  background: url("../img/top/top_obj_11_pc.png") center bottom no-repeat;
  height: 346px;
}

.top #sec10 .btn_20064 {
  margin: 0 auto;
}



/*--------------------------------------*/

/*softtennis / tabletennis*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.softtennis .mainImg .container {
  background: url("../img/softtennis/img_top_softtennis_202509.jpg") center top no-repeat;
  height: 365px;
}

.tabletennis .mainImg .container {
  background: url("../img/tabletennis/img_top_tabletennis_202504.jpg") center top no-repeat;
  height: 365px;
}

/*sec02--------------------------------*/

.softtennis #sec02 .container {
  background: url("../img/softtennis/img_concept_softtennis202509.jpg") right top no-repeat;
  height: 447px;
}

.tabletennis #sec02 .container {
  background: url("../img/tabletennis/img_concept_tabletennis202504.jpg") center top no-repeat;
  background-size: cover;
  /*height: 657px;*/
}

.concept_container {
  width: 900px;
  overflow: visible;
  margin: 0 auto;
}

.concept_container .left_container {
  width: 350px;
  height: 90px !important;
  border-right: 1px solid #000;
}

.concept_container .left_container .lead {
  font-size: 26px;
  line-height: 2em;
  margin-top: -10px;
}

.concept_container .right_container {
  width: 550px;
  padding-left: 40px;
}

.concept_container .right_container .plain_txt {
  line-height: 2.2em;
  margin-top: -0.6em;
}

/*sec03--------------------------------*/

.style_list {
  float: left;
  width: 255px;
}

.style_list.large,
.style_list.two_row {
  width: 510px;
}

.style_list li {
  height: 255px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.style_list.two_row li {
  width: 255px;
  float: left;
}

.style_list.large li {
  height: 510px;
}

.style_item {
  width: 249px;
  height: 249px;
  background-color: rgba(0, 0, 0, 0.8);
  position: relative;
}

.style_list.large .style_item {
  width: 504px;
  height: 504px;
}

.style_item .btn_16056 {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -28px 0 0 -80px;
  background-color: #000;
  font-weight: bold;
  color: #fff;
  text-align: center;
  display: none;
}

.style_item img {
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.style_item img.opacity {
  opacity: 0.6;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

/*product_cat--------------------------------*/

.product_cat_container {
  text-align: center;
  padding: 80px 0 30px;
}

.product_cat_list {
  display: inline-block;
}

.product_cat_container li {
  width: 188px;
  float: left;
  text-align: center;
}

.product_cat {
  display: inline-block;
  font-family: "Titillium Web", Noto Sans Japanese, sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 21px;
  color: #000;
  line-height: 52px;
  text-align: center;
  width: 180px;
  height: 52px;
  background-color: #ccc;
  color: #eee;
  cursor: pointer;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.product_cat:hover,
.product_cat.active {
  background-color: #000;
  color: #fff;
  position: relative;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.product_cat.active:after {
  position: absolute;
  content: "";
  display: block;
  width: 0;
  height: 0;
  left: 50%;
  margin-left: -10px;
  bottom: -8px;
  border-top: 8px solid #000;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
}

.product_subcat_container {
  text-align: center;
}

.product_subcat_container .scroll_frame {
  display: inline-block;
}

.product_subcat_list li {
  float: left;
  padding: 0 20px;
  box-sizing: border-box;
}

.product_subcat_list li .product_subcat {
  font-family: "Titillium Web", Noto Sans Japanese, sans-serif;
  font-weight: 400;
  font-style: italic;
  font-size: 20px;
  cursor: pointer;
}

.product_subcat.active,
.product_subcat:hover {
  border-bottom: 3px solid #000;
  font-size: 20px;
}

.style_container {
  display: none;
}

.style_container.focus {
  display: block;
}

/*loading--------------------------------*/

.loading {
  position: absolute;
  left: 50%;
  top: 40%;
  margin: -16px 0 0 -16px;
}
.loader-bg {
  position: absolute;
  width: 100%;
  height: 800px;
  top: 0px;
  left: 0px;
  display: none;
}

/*loading--------------------------------*/

/*sec04--------------------------------*/

.catalog_item {
  padding: 40px 0;
  border-bottom: 1px solid #ccc;
}

.catalog_item .left_container {
  width: 440px;
}

.catalog_item .left_container .catalog_img {
  width: 330px;
  display: block;
  margin: 0 auto;
  box-shadow: 0 0 10px 0 rgba(153, 153, 153, 0.4);
}

.catalog_item .right_container {
  width: 580px;
  padding-top: 50px;
}

.catalog_item .right_container .catalog_icon {
  padding-bottom: 20px;
}

.catalog_item .right_container .catalog_icon li {
  height: 30px;
  padding-right: 20px;
  float: left;
}

.catalog_item .right_container .catalog_icon li span {
  display: block;
  height: 30px;
  font-size: 14px;
  line-height: 30px;
  padding: 0 15px;
  color: #fff;
  background-color: #666;
}

.catalog_item .right_container .catalog_icon li.new span {
  background-color: #000;
}

.catalog_item .right_container .lead {
  background: url("../img/common/line60.jpg") left bottom no-repeat;
  padding-bottom: 15px;
  margin-bottom: 15px;
  font-size: 30px;
  letter-spacing: 0.05em;
}

.catalog_item .right_container .plain_txt {
  font-size: 20px;
  color: #666;
}

.catalog_item .right_container .btn_container {
  padding-top: 20px;
}

/*sec05--------------------------------*/

.tec_container li {
  width: 340px;
  float: left;
}

.tabletennis .tec_container li {
  width: 50%;
}

.tec_item {
  width: 300px;
  height: 487px;
  background-color: #fff;
}

.tabletennis .tec_item {
  margin: 0 auto;
}

.tec_img_container {
  width: 100%;
  height: 268px;
  overflow: hidden;
}

.tec_item .lead {
  padding: 20px 0 5px;
}

.tec_item .plain_txt {
  width: 220px;
  margin: 0 auto;
  font-size: 13px;
}

.tec_item .btn_20064 {
  margin: 0 auto;
}

.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.modal_overlay {
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  display: none;
}

.modal_wrap {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  overflow: auto;
  z-index: 999;
  display: none;
}

.modal_container {
  width: 900px;
  height: auto;
  margin: 0 auto;
  box-sizing: border-box;
  background-color: #fff;
  position: relative;
  display: none;
}

.modal_btn-close {
  width: 80px;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}

.modal_content {
  padding: 80px;
}

.modal_content .left_container {
  width: 460px;
}

.modal_content .right_container {
  width: 190px;
}

.modal02 .left_container {
  padding-bottom: 20px;
}

.modal_content .left_container .lead {
  background: url("../img/common/line60.jpg") left bottom no-repeat;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.modal_content .left_container .plain_txt {
  font-size: 14px;
}

.modal_content .exp_container {
  clear: both;
  background-color: #eee;
  padding: 40px;
}

.modal_content .exp_container .plain_txt {
  font-size: 12px;
  padding: 10px 0;
}

.modal_content .exp_container .exp_img {
  display: block;
  margin: 0 auto;
}

/*sec06--------------------------------*/

.softtennis #sec06 .container {
  padding-bottom: 100px;
}

.softtennis #sec06 .lucentcup_cotainer {
  background: url("../img/top/top_obj_cup2025_pc.jpg") center top no-repeat;
  width: 100%;
  height: 376px;
  margin-top: 50px;
}

.softtennis #sec06 .lucentcup_cotainer .cover {
  display: block;
  width: 100%;
  height: 376px;
  position: absolute;
  bottom: 100px;
  left: 0;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.softtennis #sec06 .lucentcup_cotainer .cover:hover {
  background-color: rgba(255, 255, 255, 0.3);
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

/*sec07--------------------------------*/

.softtennis #sec07 {
  background: url("../img/softtennis/img_akaemu_softtennis01.png") 20% -70px no-repeat;
  overflow: hidden;
}

.softtennis #sec07 .container {
  padding-bottom: 0;
}

.softtennis #sec07 .lead {
  font-size: 28px;
  line-height: 2.2em;
}

.history_container {
  margin-top: 60px;
  padding: 40px 55px;
  /*background-color: #fff;*/
  background-color: #f7f7f7;
}

.history_container .left_container {
  width: 375px;
}

.history_container .right_container {
  width: 535px;
}

.history_container .left_container .history_img {
  width: 330px;
  display: block;
  margin-top: 70px;
}

.softtennis #sec07 .history_container .right_container .lead {
  background: url("../img/common/line40.jpg") left bottom no-repeat;
  font-size: 20px;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.history_container .right_container .plain_txt {
  font-size: 14px;
}

.akaemu_container .left_container {
  width: 565px;
  padding-left: 60px;
}

.akaemu_container .right_container {
  width: 455px;
}

.softtennis #sec07 .akaemu_container .left_container .lead {
  background: url("../img/common/line60.jpg") left bottom no-repeat;
  font-size: 20px;
  line-height: 1.6em;
  padding-bottom: 15px;
  margin-bottom: 20px;
}

.akaemu_container .left_container .plain_txt {
  width: 460px;
  font-size: 14px;
}

.sta_container {
  width: 490px;
  padding: 35px 35px 30px 35px;
  margin-top: 30px;
  box-sizing: border-box;
  border: 6px solid #d7d7d7;
}

.sta_container .left_container {
  width: 85px;
  padding-left: 0;
}

.sta_container .right_container {
  width: 315px;
}

/*--------------------------------------*/

/*stylebook*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.stylebook #sec01 .container {
  padding: 60px 0;
}

.stylebook .caption_sub {
  font-size: 20px;
}

.stylebook .caption_sub span {
  font-size: 14px;
  font-weight: 300;
  display: block;
}

.style_detail_container {
  width: 900px;
  margin: 0 auto;
}

.style_detail_container .left_container {
  width: 615px;
}

.style_detail_container .right_container {
  width: 285px;
}

.stylebook_img-main {
  width: 500px;
}

/*slider--------------------------------*/

.bx-wrapper {
  width: 580px;
}

.custom-thumb {
  width: 580px;
}

.custom-thumb a {
  display: inline-block;
}

.custom-thumb a img {
  margin-bottom: 4px;
  width: 92px;
  cursor: pointer;
}

/*slider--------------------------------*/

.item_container {
  padding-top: 50px;
}

.item_cat {
  font-family: "Titillium Web", Noto Sans Japanese, sans-serif;
  font-weight: 400;
  font-style: italic;
  font-size: 12px;
}

.item_ttl {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6em;
  display: flex;
  align-items: center;
}

.item_ttl span {
  padding-right: 16px;
}

.item_ttl img {
  margin-right: 8px;
}

.item_ttl .icon_uv {
  width: 35px;
  flex-shrink: 0;
}

.item_ttl .icon_jr {
  width: 31px;
  flex-shrink: 0;
}

.item_ttl .icon_wind {
  width: 26px;
  flex-shrink: 0;
}

.item_ttl .icon_zrc {
  width: 35px;
  flex-shrink: 0;
}

.item_ttl .icon_air {
  width: 72px;
  flex-shrink: 0;
}

.item_price {
  font-size: 16px;
  line-height: 2.5em;
}

.item_price span {
  font-size: 25px;
  font-weight: bold;
}

.item_color {
  font-size: 12px;
}

.item_detail dt {
  font-size: 14px;
  font-weight: bold;
}

.item_detail .item_detail_tit {
  font-size: 16px;
}

.item_detail dd {
  font-size: 14px;
}
.item_detail .item_detail_attention {
  color: #c00;
}
.item_detail dd .item_link {
  font-size: 14px;
  color: #232323;
  text-decoration: underline;
}

.item_detail.vertical dd {
  padding: 10px 0;
}

.item_detail.horizontal {
  display: -webkit-flex;
  display: flex;
  width: 280px;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.item_detail.horizontal dt {
  width: 85px;
}

.item_detail.horizontal dd {
  width: 195px;
}

.item_detail.horizontal dd:before {
  content: ":";
}

.item_table {
  width: 100%;
  border-collapse: collapse;
}

.item_table th {
  background-color: #ddd;
  text-align: center;
  border: solid 1px #cfcfcf;
}

.item_table td {
  background-color: #fff;
  text-align: center;
  border: solid 1px #cfcfcf;
}

.item_list li {
  border-bottom: 1px solid #ccc;
  padding: 30px 0;
}

.item_img {
  width: 135px;
  float: left;
}

.item_detail_container {
  width: 200px;
  float: right;
}

.item_detail_container .icon_list li {
  height: 16px;
  padding: 0 5px 0 0;
  border: none;
  float: left;
}
.icon_list li img {
  -webkit-backface-visibility: hidden;
}

.item_detail_container .icon_list li .jr,
.item_detail_container .icon_list li .uv,
.item_detail_container .icon_list li .wind,
.item_detail_container .icon_list li .zrc,
.item_detail_container .icon_list li .air {
  width: auto;
  height: 16px;
  display: block;
}

.item_detail_container .icon_list li .ladies,
.item_detail_container .icon_list li .uni {
  width: 42px;
  height: 16px;
  display: block;
}

.item_detail_container .icon_list li span {
  width: 42px;
  height: 16px;
  color: #fff;
  font-size: 8px;
  line-height: 16px;
  text-align: center;
  display: block;
}

.item_detail {
  padding-top: 5px;
}

.item_detail_name {
  font-size: 13px;
  line-height: 1.5em;
}

.item_detail_color {
  font-size: 9px;
  color: #666;
  line-height: 1.5em;
}

.item_detail_price {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4em;
}

.item_detail_price span {
  font-size: 10px;
  padding-left: 0.2em;
}

.item_detail_container .btn_20040 {
  background-color: #000;
  color: #fff;
  font-size: 12px;
  width: 190px;
}

.item_detail_container .btn_20040:hover {
  background-color: #fff;
  color: #000;
}

.item_spec {
  width: 100%;
}
.item_spec img {
  width: 100%;
  margin-top: 20px;
  -webkit-backface-visibility: hidden;
}

.stylebook #sec01 #arrow a {
  color: #666;
  font-size: 19px;
  font-weight: 700;
}

.stylebook #sec01 .next {
  padding-right: 20px;
  position: absolute;
  top: 55%;
  right: 0;
}

.stylebook #sec01 .prev {
  padding-left: 20px;
  position: absolute;
  top: 55%;
  left: 0;
}

.stylebook #sec01 .next img,
.stylebook #sec01 .prev img {
  width: 16px;
}

.stylebook_nav_container {
  width: 1020px;
  margin: 80px auto 0;
  padding-top: 60px;
  position: relative;
  border-top: 1px solid #eee;
}

.stylebook_nav_container .btn_32064 {
  background-color: #666;
  color: #fff;
  font-size: 19px;
  border: none;
  margin: 0 auto;
}

/*sec03--------------------------------*/

.stylebook_contact {
  padding: 60px 0 !important;
}

.stylebook_contact .plain_txt {
  font-size: 14px;
}

.stylebook_contact .contact_container {
  width: 640px;
  margin: 0 auto;
}

.stylebook_contact .contact_container .left_container {
  padding-top: 8px;
}

.stylebook_contact .tel_img {
  width: 26px;
  float: left;
  margin-top: 10px;
}

.stylebook_contact .tel_container {
  width: 280px;
  padding-left: 10px;
  float: left;
}

.stylebook_contact .tel_container dt {
  font-size: 12px;
  letter-spacing: 0;
}

.stylebook_contact .tel_container dd a {
  font-size: 36px;
  line-height: 1em;
  letter-spacing: 0.05em;
  color: #000;
}

.stylebook_contact .btn_32064 span {
  background: url("../img/common/btn_icon_07.png") left center no-repeat;
  background-size: 26px 16px;
  padding-left: 42px;
}

.stylebook_contact .btn_32064:hover span {
  background: url("../img/common/btn_icon_02.png") left center no-repeat;
  background-size: 26px 16px;
  padding-left: 42px;
}

/*--------------------------------------*/

/*shop*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.shop .mainImg .container {
  background: url("../img/shop/img_top_shop.jpg") center top no-repeat;
  height: 365px;
}

/*sec02--------------------------------*/

.shop .bnr_shop {
  display: block;
  width: 420px;
  margin: 0 auto;
}

/*sec03--------------------------------*/

.shop_region {
  width: 100%;
  height: 64px;
  font-size: 20px;
  line-height: 64px;
  background-color: #eee;
  margin-bottom: 10px;
  cursor: pointer;
}

.shop_region span {
  padding-left: 60px;
}

.shop_region span:before {
  content: "＋";
  color: #999;
  font-size: 32px;
  vertical-align: bottom;
  padding-right: 20px;
}

.shop_region.active span:before {
  content: "－";
}

.shop_pref_container {
  padding: 30px 0 10px;
}

.shop_pref {
  width: 420px;
  margin: 0 auto;
  padding-bottom: 30px;
}

.pref_name {
  border-bottom: 3px solid #000;
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-weight: bold;
}

.shop_name {
  padding-bottom: 5px;
  font-size: 14px;
  font-weight: bold;
}

.shop_add {
  font-size: 14px;
}

.shop_detail_item {
  border-bottom: 1px solid #eee;
  padding: 15px 0 20px;
}

.shop_detail .btn_container {
  padding-top: 10px;
}

.shop_detail .btn_6428 span {
  background: url("../img/common/btn_icon_06.png") left center no-repeat;
  background-size: 10px 14px;
  font-size: 11px;
  display: block;
  height: 28px;
  margin-left: 10px;
  padding-left: 8px;
}

.shop_detail .btn_6428:hover span {
  background: url("../img/common/btn_icon_04.png") left center no-repeat;
  background-size: 10px 14px;
  margin-left: 10px;
  padding-left: 8px;
}

/*--------------------------------------*/

/*company*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.company .mainImg .container {
  background: url("../img/company/img_top_company202504.jpg") center top no-repeat;
  height: 365px;
}

/*sec03--------------------------------*/

.message_container {
  width: 900px;
  margin: 0 auto;
}

.message_container .left_container {
  width: 290px;
}

.message_container .right_container {
  width: 610px;
}

.message_img {
  width: 230px;
}

.president {
  background: url("../img/common/line60.jpg") left top no-repeat;
  padding-top: 25px;
  margin-top: 30px;
}

.president dt {
  font-size: 16px;
  font-weight: bold;
}

.president dd {
  font-size: 28px;
}

.message_container .right_container .plain_txt {
  font-size: 14px;
  padding-bottom: 2em;
}

.message_container .right_container .date {
  font-size: 14px;
  text-align: right;
  padding-top: 10px;
}

/*sec04--------------------------------*/

.company_container {
  background-color: #fff;
  padding: 60px;
}

.company_container.about {
  margin-top: 50px;
  padding-bottom: 20px;
}

.company_container.access {
  margin-top: 60px;
  padding-bottom: 20px;
}

.company_container.related {
  margin-top: 60px;
}

.about th {
  width: 260px;
  padding-bottom: 40px;
  font-weight: bold;
  vertical-align: top;
}

.about td {
  width: 640px;
  padding-bottom: 40px;
  font-size: 14px;
  vertical-align: top;
}

.partner span {
  display: block;
  float: left;
}

.company_container .lead {
  padding-bottom: 30px;
}

.company_list li {
  width: 50%;
  float: left;
  padding-bottom: 40px;
}

.company_container .btn_42064 {
  height: 66px;
  vertical-align: middle;
}

.company_container .btn_42064_2 {
  height: 66px;
  vertical-align: middle;
}

.company_container .btn_42064 img {
  width: 98px;
  vertical-align: middle;
}

.company_container .btn_42064_2 img {
  width: 250px;
  vertical-align: middle;
}

.company_container .btn_container a:hover {
  background-color: #fff !important;
  color: #000 !important;
}

/*202011追加*/
.company_container_in {
  width: 1020px;
  margin: 20px auto 0;
}

.company_container_in li {
  width: 450px;
  float: left;
}

.company_container_in li:nth-child(even) a {
  margin-left: 30px;
}

/*202011追加　ここまで*/

/*--------------------------------------*/

/*recruit*/

/*sec01--------------------------------*/

.recruit.lower .mainImg .container {
  background: url("../img/recruit/img_top_recruit.jpg") center top no-repeat;
  height: 365px;
}

/*sec02--------------------------------*/
.recruit #sec02 .caption {
  font-size: 38px;
  font-style: normal;
  line-height: 60px;
}

.recruit .plain_txt.lh40 {
  line-height: 40px;
}

.recruit .recruit_tit {
  width: 790px;
  margin: 0 auto;
  padding-top: 20px;
}

.recruit_obj {
  display: block;
  width: 420px;
  margin: 50px auto 0;
}

/*sec03--------------------------------*/
.recruit_container {
  width: 1020px;
  margin: 0 auto;
}

.recruit_container li {
  width: 510px;
  float: left;
}

.recruit_container li:nth-child(even) a {
  margin-left: 30px;
}

.recruit.lower .stylebook_contact .container_inner {
  width: 760px;
  background-color: #d7d7d7;
  margin: 0 auto;
  padding: 40px 0;
  box-sizing: border-box;
}

/*recruit_元*/

/*sec01--------------------------------*/

/*.recruit .mainImg .container {
  background: url("../img/recruit/img_top_recruit.jpg") center top no-repeat;
  height: 365px;
}*/

/*sec02--------------------------------*/

/*.recruit .caption {
  line-height: 1.6em;
}

.recruit #sec02 .plain_txt {
  line-height: 2.5em;
}

.recruit .shop_pref_container {
  padding-top: 0;
  margin-top: -10px;
}

.recruit .company_container.about {
  margin-top: 10px;
}*/

/*recruit_元 ここまで*/

.app_container {
  background-color: #eee;
  padding: 30px 30px 20px;
  margin-top: 30px;
}

.app_container .lead {
  background: url("../img/common/line60.jpg") left bottom no-repeat;
  padding-bottom: 20px;
  margin-bottom: 20px;
  font-size: 14px;
}

.app_container .plain_txt {
  font-size: 14px;
}

.app_container .plain_txt a {
  color: #232323;
}

/*--------------------------------------*/

/*service*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.service.lower .mainImg .container {
  background: url("../img/service/img_top_service.jpg") center top no-repeat;
  height: 365px;
}

/*sec02--------------------------------*/

/*sec03--------------------------------*/

.service.lower #sec03 {
  position: relative;
}

.before_bg_w {
  width: 100%;
  height: 80px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}

.service.lower #sec03 .container {
  padding-top: 0;
}

.number_left,
.number_right {
  font-family: "Titillium Web", sans-serif;
  font-weight: 700;
  font-size: 380px;
  letter-spacing: -0.025em;
  font-style: italic;
  opacity: 0.1;
  position: absolute;
  top: -225px;
}

.number_left {
  left: -35px;
}

.number_right {
  right: 15px;
}

.service.lower .service_container_left .info_container .caption_sub {
  background: url("../img/common/line100.jpg") left bottom no-repeat;
  font-size: 46px;
  padding-bottom: 28px;
  margin-bottom: 22px;
  text-align: left;
}

.service.lower .info_container .caption_sub span {
  display: block;
  font-size: 18px;
  font-weight: 400;
  font-style: normal;
  line-height: 1em;
  padding-top: 7px;
  display: block;
}

.service.lower .service_container_left .info_container {
  position: absolute;
  left: 760px;
  top: 0;
  text-align: left;
}

.service.lower .info_container .lead {
  background-image: none;
  font-size: 26px;
}

.service_box {
  width: 1020px;
  background-color: #fff;
  padding: 40px 60px;
  margin: 50px auto 0;
  box-sizing: border-box;
}

.service_box .lead {
  background: url("../img/common/line60.jpg") left bottom no-repeat;
  padding-bottom: 20px;
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}

.service_box .plain_txt {
  font-size: 14px;
}

.brand_container {
  width: 900px;
  margin: 0 auto;
}

.brand_container li {
  width: 420px;
  float: left;
}

.brand_container li:last-child {
  float: right;
}

.service_box.akaemu {
  background: #fff url("../img/service/img_akaemu_service.png") 805px -59px no-repeat;
  background-size: 249px auto;
}

.service_box .left_container {
  width: 580px;
}

.service_box.akaemu .left_container {
  width: 520px;
}

.service_box .left_container .plain_txt {
  width: 520px;
}

.service_box.goods .left_container .plain_txt {
  width: 416px;
}

.service_box.goods .left_container .goods_img {
  width: 191px;
  position: absolute;
  top: 0px;
  left: 470px;
  box-shadow: 0 0 10px 0 rgba(153, 153, 153, 0.4);
}

.service_box .right_container {
  width: 320px;
}

.service_box.akaemu .right_container {
  width: 200px;
  padding-top: 54px;
}

.service_box.goods .right_container {
  width: 200px;
}

.service_box.goods .right_container .lead {
  background: url("../img/common/line50.jpg") left bottom no-repeat;
  font-size: 18px;
  line-height: 1.5em;
  padding-bottom: 15px;
  margin-bottom: 15px;
}

.service_box.goods .right_container .plain_txt {
  font-size: 12px;
  padding-bottom: 0;
}

.service.lower .stylebook_contact .container_inner {
  width: 760px;
  background-color: #d7d7d7;
  margin: 0 auto;
  padding: 40px 0;
  box-sizing: border-box;
}

/*sec04--------------------------------*/

.service.lower #sec04 {
  position: relative;
}

.before_bg_g {
  width: 100%;
  height: 80px;
  background-color: #eee;
  position: absolute;
  top: 0;
  left: 0;
}

.service.lower #sec04 .container {
  padding-top: 0;
}

.service.lower .service_container_right .info_container .caption_sub {
  background: url("../img/common/line100.jpg") right bottom no-repeat;
  font-size: 46px;
  padding-bottom: 28px;
  margin-bottom: 22px;
  text-align: right;
}

.service.lower .service_container_right .info_container {
  position: absolute;
  right: 760px;
  top: 0;
  text-align: right;
}

.work_container {
  width: 1020px;
  margin: 0 auto;
}

.work_container li {
  width: 340px;
  float: left;
}

.work_container li a {
  display: block;
  width: 310px;
}

.work_container li:nth-child(2) a {
  margin: 0 auto;
}

.work_container li:nth-child(3) a {
  margin-left: 30px;
}

/*sec05--------------------------------*/

.service.lower #sec05 {
  position: relative;
}

.service.lower #sec05 .container {
  padding-top: 0;
}

.number_right.number03 {
  right: 35px;
}

/*--------------------------------------*/

/*work-board*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.service.work-board .mainImg .container {
  background: url("../img/service/work-board/img_top_work-board.jpg") center top no-repeat;
  height: 365px;
}

/*--------------------------------------*/

/*work-cage*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.service.work-cage .mainImg .container {
  background: url("../img/service/work-cage/img_top_work-cage.jpg") center top no-repeat;
  height: 365px;
}

/*--------------------------------------*/

/*work-court*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.service.work-court .mainImg .container {
  background: url("../img/service/work-court/img_top_work-court.jpg") center top no-repeat;
  height: 365px;
}

/*--------------------------------------*/

/*comingsoon*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.comingsoon_container {
  width: 1020px;
  height: 300px;
  margin: 0 auto;
  background-color: #eee;
}

.cominngsoon_txt {
  width: 1020px;
  height: 300px;
  color: #ccc;
  font-size: 22px;
  text-align: center;
  vertical-align: middle;
  display: table-cell;
}

/*--------------------------------------*/

/*contact*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.contact .mainImg .container {
  background: url("../img/contact/img_top_contact.jpg") center top no-repeat;
  height: 365px;
}

/*sec02--------------------------------*/

.contact #sec02 .container {
  padding-bottom: 0;
}

.contact_container {
  width: 1020px;
  margin: 0 auto;
}

.conact_item {
  width: 480px;
  /*height: 660px;*/
  float: left;
}

.contact_container li:nth-child(1),
.contact_container li:nth-child(2) {
  padding-bottom: 60px;
}

.contact_container li:nth-child(3),
.contact_container li:nth-child(4) {
  height: 610px;
}

.contact_container li:nth-child(even) {
  float: right;
}

.contact_item_inner {
  width: 100%;
  background-color: #fff;
  text-align: center;
  padding: 60px;
  box-sizing: border-box;
}

.contact_icon {
  height: 124px;
}

.contact_item_inner .stylebook_contact {
  padding: 30px 0 0 !important;
}

.tel_wrap {
  padding-left: 40px;
}

.contact_item_inner .stylebook_contact .tel_container {
  padding-bottom: 20px;
}

.contact_item_inner .stylebook_contact .btn_container {
  clear: both;
  text-align: center;
}

.contact_item_inner .stylebook_contact .btn_32064 {
  width: 320px;
  margin: 0 auto;
}

.contact_item_inner .stylebook_contact .btn_32064.request span {
  background: url("../img/common/btn_icon_08.png") left center no-repeat;
  background-size: 26px 16px;
  padding-left: 42px;
}

.contact_item_inner .stylebook_contact .btn_32064.request:hover span {
  background: url("../img/common/btn_icon_05.png") left center no-repeat;
  background-size: 26px 16px;
  padding-left: 42px;
}

.btn_container.under_line {
  border-bottom: 1px solid #000;
  padding-bottom: 40px;
  margin-bottom: 40px;
}

/*--------------------------------------*/

/*form01*/

/*--------------------------------------*/

/*sec02--------------------------------*/

.form_img {
  display: block;
  margin: 40px auto 50px;
}

#contactForm {
  background-color: #fff;
  padding: 60px;
  margin-bottom: 100px;
}

.contact_table {
  width: 100%;
  padding-bottom: 30px;
}

.contact_table th {
  width: 270px;
  vertical-align: top;
  padding-top: 15px;
  font-size: 14px;
  line-height: 1.3em;
  font-weight: bold;
}

.contact_table td {
  width: 630px;
  vertical-align: top;
  padding-bottom: 30px;
}

.contact_table.confirm td {
  padding-top: 11px;
}

.req,
.opt {
  width: 42px;
  margin-left: 20px;
}

.contact_table td .plain_txt {
  font-weight: bold;
  padding-top: 14px;
}

.input,
.select {
  width: 100%;
  height: 54px;
  padding: 0 20px;
  background-color: #eee;
  border: none;
  box-sizing: border-box;
}

.select {
  background: #eee url("../img/contact/btn_select.jpg") right top no-repeat;
  background-size: auto 54px;
  cursor: pointer;
}

.textarea {
  width: 100%;
  height: 180px;
  padding: 20px;
  background-color: #eee;
  border: none;
  box-sizing: border-box;
}

input:focus,
select:focus,
textarea:focus,
errorBg:focus {
  outline: none;
  border: #000 1px solid;
}

:placeholder-shown {
  font-size: 12px;
  color: #999;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
  font-size: 12px;
  color: #999;
}

/* Firefox 18- */
:-moz-placeholder {
  font-size: 12px;
  color: #999;
  opacity: 1;
}

/* Firefox 19+ */
::-moz-placeholder {
  font-size: 12px;
  color: #999;
  opacity: 1;
}

/* IE 10+ */
:-ms-input-placeholder {
  font-size: 12px;
  color: #999;
}

.checkboxContainer {
  width: 900px;
  height: 100px;
  border: 6px solid #eee;
  box-sizing: border-box;
  text-align: center;
  padding-top: 10px;
}

input[type="checkbox"],
input[type="radio"] {
  opacity: 0;
}

input[type="radio"] {
  margin-left: -20px;
}

.check_css a {
  font-size: 14px;
  color: #000;
  text-decoration: underline;
}

.check_css {
  position: relative;
  display: inline-block;
  padding: 20px 0 0 40px;
  vertical-align: middle;
  cursor: pointer;
  font-size: 14px;
}

.check_css:hover:after {
  opacity: 0.6;
}

.check_css:after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -5px;
  width: 30px;
  height: 30px;
  background-color: #eee;
  content: "";
  z-index: 1;
}

.check_css:before {
  position: absolute;
  top: 55%;
  left: 9px;
  display: block;
  margin-top: -7px;
  width: 10px;
  height: 18px;
  border-right: 5px solid #000;
  border-bottom: 5px solid #000;
  content: "";
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 2;
}

input[type="checkbox"]:checked + .check_css:before,
input[type="radio"]:checked + .check_css:before {
  opacity: 1;
}

.submit_contaier {
  width: 760px;
  margin: 0 auto;
}

.submit {
  display: block;
  background-color: #000;
  color: #fff;
  font-size: 19px;
  font-weight: 700;
  line-height: 60px;
  border: 3px solid #000;
  margin: 0 auto;
  cursor: pointer;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.submit:hover {
  background-color: #fff;
  color: #000;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.submit.submit_off {
  opacity: 0.2;
}

.submit.submit_off:hover {
  background-color: #000;
  color: #fff;
  cursor: default;
}

.btnTop,
.btnBack {
  display: block;
  background-color: #999 !important;
  color: #fff !important;
  font-size: 19px;
  font-weight: 700;
  line-height: 60px;
  border: 3px solid #999 !important;
  margin: 0 auto;
  cursor: pointer;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.btnTop:hover,
.btnBack:hover {
  background-color: #666 !important;
  border: 3px solid #666 !important;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.require {
  background-color: #ffffcc;
}

.errorBg {
  border: #c00 1px solid;
  background-color: #ffffcc;
}

.errorBg:focus {
  border: 1px solid #ec2e2e;
  outline: 1px solid #ec2e2e;
}

.formErrorContent {
  color: #ec2e2e !important;
  background: none !important;
  font-size: 14px !important;
}

.error {
  color: #c00;
  font-size: 14px;
}

/*--------------------------------------*/

/*form02*/

/*--------------------------------------*/

/*sec02--------------------------------*/

.checkbox_list {
  margin-top: -30px;
  padding-bottom: 20px;
}

.checkbox_list li {
  position: relative;
}

.checkbox_list li label {
  height: 15px;
  font-size: 16px !important;
  display: flex;
  align-items: center;
}

.checkbox_list li del {
  height: 15px;
  color: #999;
  line-height: 1.3em;
  padding-top: 40px;
  padding-left: 40px;
  display: flex;
  align-items: center;
}

.catalog_link a {
  font-size: 12px;
  color: #111;
  text-decoration: underline;
  padding-left: 40px;
}

.icon_soldout {
  width: 20px;
  position: absolute;
  top: 40px;
  left: 5px;
}

.add_item {
  width: 150px !important;
  vertical-align: top;
  padding-top: 20px;
  font-size: 14px;
  line-height: 1.3em;
  font-weight: bold;
}

.add_content {
  width: 480px !important;
  position: relative;
}

.zip {
  width: 340px;
}

.zip-code {
  width: 140px;
  height: 54px;
  background-color: #000;
  border: none;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.3em;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}

.otherformError {
  display: inline !important;
  position: absolute !important;
  top: 70px !important;
  left: 20px !important;
  margin: 0 !important;
}

.radio_container {
  margin-top: -10px;
  position: relative;
}

.radio_container #radio01 + label {
  padding-right: 80px;
}

.radio_container .formError {
  position: absolute !important;
  top: 45px !important;
  left: 0 !important;
}

/*--------------------------------------*/

/*privacy*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.privacy .mainImg .container {
  background: url("../img/privacy/img_top_privacy.jpg") center top no-repeat;
  height: 365px;
}

/*sec02--------------------------------*/

.privacy .caption {
  font-size: 38px;
  font-style: normal;
}

.privacy .privacy_container {
  padding-top: 70px;
}

.privacy .privacy_container dt {
  font-size: 20px;
  font-weight: 700;
  padding-bottom: 10px;
}

.privacy .privacy_container dd {
  font-size: 14px;
  padding-bottom: 30px;
}

/*--------------------------------------*/

/*tennisclub*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.tennisclub.lower .mainImg .container {
  background: url("../img/tennisclub/img_top_tennisclub.jpg") center top no-repeat;
  height: 365px;
}

/*sec02--------------------------------*/
.tennisclub #sec02 .caption {
  font-size: 38px;
  font-style: normal;
  line-height: 60px;
}

.tennisclub .plain_txt.lh40 {
  line-height: 40px;
}

.tennisclub .tennisclub_tit {
  width: 790px;
  margin: 0 auto;
  padding-top: 20px;
}

.tennisclub_obj {
  display: block;
  width: 420px;
  margin: 50px auto 0;
}

/*sec03--------------------------------*/
.tennisclub_container {
  width: 1020px;
  margin: 0 auto;
}

.tennisclub_container li {
  width: 510px;
  float: left;
}

.tennisclub_container li:nth-child(even) a {
  margin-left: 30px;
}

.tennisclub.lower .stylebook_contact .container_inner {
  width: 760px;
  background-color: #d7d7d7;
  margin: 0 auto;
  padding: 40px 0;
  box-sizing: border-box;
}

/*sec04--------------------------------*/
.player_container {
  font-size: 0;
  letter-spacing: -0.4em;
}
.player_container li {
  display: inline-block;
  width: 320px;
  margin: 0 30px 30px 0;
  background: #fff;
  vertical-align: top;
}
.player_container li:nth-child(3n) {
  margin: 0 0 30px 0;
}

.player_container .player_img {
  padding: 10px 10px 30px;
}
.player_container .player_img img {
  width: 300px;
}

.player_header {
  margin-bottom: 25px;
  position: relative;
}
.player_header .player_name {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  line-height: 1;
}
.player_header .player_name .player_name_en {
  font-size: 11px;
  letter-spacing: 0.1em;
  display: block;
  line-height: 1;
  font-weight: normal;
  margin-top: 10px;
}

.player_header .player_level {
  font-size: 11px;
  color: #fff;
  background: #000;
  padding: 3px 10px;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.player_detail {
  padding: 0 30px 20px;
  font-size: 11px;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.player_detail dl {
  margin-bottom: 10px;
}
.player_detail dl dt {
  font-weight: bold;
}
.pdfbtn_wrap {
  text-align: center;
}
.pdfbtn_wrap > a.pdfbtn {
  margin: 40px auto;
  padding-left: 15px;
  padding-right: 15px;
  height: 64px;
  display: inline-block;
  line-height: 64px;
}
.goods .right_container .btn_container a.pdfbtn {
  font-size: 15px;
  line-height: 1.5;
  padding: 13px 0 13px;
  height: auto;
}

.mb-30 {
  margin-bottom: -30px;
}

.mt50 {
  margin-top: 50px;
}

.mt-5 {
  margin-top: -5px;
}

.mb30 {
  margin-bottom: 30px;
}

.pb50 {
  padding-bottom: 50px;
}
.pt-50 {
  padding-top: -50px;
}


/*--------------------------------------*/

/*mv_wrap*/

/*--------------------------------------*/

#mv_wrap {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.swiper { 
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.swiper-slide {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.swiper-slide.bg_pink {
  background-color: #fee101;
}

.swiper-slide.bg_gray {
  background: linear-gradient(to right,#b6b6b6,#bbbbbb);
}

.image-container { 
  width: 100%;
  height: 100%;
  image-rendering: optimizeQuality;
}

.mv_list_obj {
  width: 100%;
  height: 100%;
}

.swiper-slide.bg_pink .mv_list_obj {
  object-fit: contain;
}

.swiper-slide.bg_gray .mv_list_obj {
  object-fit: cover;
}

#mv_wrap .swiper-button-prev {
	display: block;
	width: 50px;
	height: 50px;
	border-top: 4px solid #e5e5e5;
	border-left: 4px solid #e5e5e5;
	position: absolute;
	top: 50%;
	left: 40px;
	-webkit-transform: translateY(-50%) rotate(-45deg);
	transform: translateY(-50%) rotate(-45deg);
	z-index: 99;
	cursor: pointer;
  user-select: none;
}

#mv_wrap .swiper-button-next {
	display: block;
	width: 50px;
	height: 50px;
	border-top: 4px solid #e5e5e5;
	border-right: 4px solid #e5e5e5;
	position: absolute;
	top: 50%;
	right: 40px;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	z-index: 99;
	cursor: pointer;
  user-select: none;
}

#mv_wrap .swiper-button-prev::after,
#mv_wrap .swiper-button-next::after {
  display: none;
}

#mv_wrap .swiper-pagination {
	position: absolute;
	bottom: 60px;
	left: 50%;
	height: 4px;
	display: flex;
	justify-content: center;
	align-items: center;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

#mv_wrap .swiper-pagination span {
	width: 80px;
	height: 4px;
	margin: 0 20px;
	background-color: #e5e5e5;
  border-radius: unset;
  opacity: .6;
	box-sizing: border-box;
	position: relative;
	cursor: pointer;
  transition: 0.5s ease-out;
  user-select: none;
}

#mv_wrap .swiper-pagination span.swiper-pagination-bullet-active {
  opacity: 1;
  transition: 0.5s ease-out;
}

#mv_wrap .swiper-pagination span:focus {
	outline: none;
  transition: 0.5s ease-out;
}

#mv_wrap .swiper-pagination span:hover {
	opacity:0.4;
	zoom:1;
  transition: 0.5s ease-out;
}
