@charset "utf-8";
/*
Theme Name:MONOLITH
Theme URI:
Description:WordPressテーマ「MONOLITH」
Author:Design Plus
Author URI:http://design-plus1.com/tcd-w/
Version:1.8.1
Text Domain:tcd-w
*/

/* ------------------------------------------------------------------------------------
 web fonts　ウェブフォントファイルを変更した場合はv=1.0の数字を変更（キャッシュ対策）
------------------------------------------------------------------------------------ */
@font-face {
  font-family: "design_plus";
  src: url("fonts/design_plus.eot?v=1.3");
  src: url("fonts/design_plus.eot?v=1.3#iefix") format("embedded-opentype"),
    url("fonts/design_plus.woff?v=1.3") format("woff"),
    url("fonts/design_plus.ttf?v=1.3") format("truetype"),
    url("fonts/design_plus.svg?v=1.3#design_plus") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
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;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
audio,
canvas,
video {
  display: inline-block;
  max-width: 100%;
}
html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
ul,
ol {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
a:focus {
  outline: none;
}
ins {
  text-decoration: none;
}
mark {
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
button,
input,
select,
textarea {
  outline: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100%;
}
input,
textarea {
  background-image: -webkit-linear-gradient(
    hsla(0, 0%, 100%, 0),
    hsla(0, 0%, 100%, 0)
  );
  -webkit-appearance: none;
  border-radius: 0; /* Removing the inner shadow, rounded corners on iOS inputs */
}
input[type="checkbox"] {
  -webkit-appearance: checkbox;
}
input[type="radio"] {
  -webkit-appearance: radio;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
img {
  -ms-interpolation-mode: bicubic;
}

/* clearfix */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  font-size: 0.1em;
  line-height: 0;
  visibility: hidden;
  overflow: hidden;
}
.clearfix {
  display: inline-block;
}
/* exlude MacIE5 \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}
/* end MacIE5 */

/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
body {
  font-family: Arial, sans-serif;
  color: #333;
  line-height: 1;
  width: 100%;
  min-width: 1250px;
}
.pc .admin-bar {
  padding-top: 33px;
}
a {
  color: #333;
  text-decoration: none;
}
a,
a:before,
a:after,
input {
  -webkit-transition-property: background-color, color, opacity;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: ease;
  -moz-transition-property: background-color, color, opacity;
  -moz-transition-duration: 0.2s;
  -moz-transition-timing-function: ease;
  -o-transition-property: background-color, color, opacity;
  -o-transition-duration: 0.2s;
  -o-transition-timing-function: ease;
  transition-property: background-color, color, opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}
a:hover {
  text-decoration: none;
  opacity: 0.8;
}
a.no_ro:hover {
  opacity: 1;
  color: inherit;
}
.ro {
  -webkit-transition-property: background-color, color, opacity;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: ease;
  -moz-transition-property: background-color, color, opacity;
  -moz-transition-duration: 0.2s;
  -moz-transition-timing-function: ease;
  -o-transition-property: background-color, color, opacity;
  -o-transition-duration: 0.2s;
  -o-transition-timing-function: ease;
  transition-property: background-color, color, opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}
.ro:hover {
  opacity: 0.8;
}
.ro_txt .ro_target {
  -webkit-transition-property: color, opacity;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: ease;
  -moz-transition-property: color, opacity;
  -moz-transition-duration: 0.2s;
  -moz-transition-timing-function: ease;
  -o-transition-property: color, opacity;
  -o-transition-duration: 0.2s;
  -o-transition-timing-function: ease;
  transition-property: color, opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}
.ro_txt:hover .ro_target {
  text-decoration: none;
  opacity: 0.8;
  color: #00698c;
}
.ro_bg {
  -webkit-transition-property: background-color;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: ease;
  -moz-transition-property: background-color;
  -moz-transition-duration: 0.2s;
  -moz-transition-timing-function: ease;
  -o-transition-property: background-color;
  -o-transition-duration: 0.2s;
  -o-transition-timing-function: ease;
  transition-property: background-color;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}
.ro_bg:hover {
  background-color: #00698c !important;
}

/*rollover(brightnessによる変化)*/
.brt a:hover,
a.brt:hover,
a .brt:hover {
  -webkit-filter: brightness(1.1);
  filter: brightness(1.1);
}
.brt a,
a.brt,
a .brt {
  -webkit-transition: filter 0.2s ease-out;
  transition: filter 0.2s ease-out;
}

.clear {
  clear: both;
}
.hide {
  display: none;
}

.spOnly,
.brSp,
.imgSp {
  display: none;
}
.img100 {
  width: 100%;
  height: auto;
}

/* 細字のゴシック体 */
.light_font {
  font-family: "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
    "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: 100;
}

/* 游ゴシック */
.fYuGo {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro",
    "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

/* レイアウト */
#main_contents {
  background: #fff;
  width: 100%;
  position: relative;
  z-index: 10;
}
#main_col {
  width: 1250px;
  margin: 15px auto 50px;
  padding: 0 25px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#left_col {
  width: 850px;
  float: left;
}
#side_col {
  width: 300px;
  float: right;
}
.pc .layout2 #left_col {
  float: right;
}
.pc .layout2 #side_col {
  float: left;
}

/*-----------------------------------------------
    imgCover
-----------------------------------------------*/
.imgCont,
.imgCover {
  position: relative;
}
.imgCont img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.imgCover img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  font-family: "object-fit:cover;";
}

/*-----------------------------------------------
    imgZoom
-----------------------------------------------*/
.imgZoom {
  position: relative;
  overflow: hidden;
}
.imgZoom::before {
  width: 100%;
  height: 100%;
  display: block;
  content: "";
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
.imgZoomHover:hover .imgZoom::before,
.imgZoom:hover::before {
  background: rgba(0, 105, 140, 0.5);
  opacity: 1;
}
.imgZoom img {
  -webkit-transition: all 0.75s ease;
  -moz-transition: all 0.75s ease;
  transition: all 0.75s ease;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.imgZoomHover:hover .imgZoom img,
.imgZoom:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}

/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
/* トップページのアニメーション */
.pc .home .animation_element {
  opacity: 0;
}
.pc .home .animation_element.active {
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-animation: moveUp 0.65s ease forwards 0.5s;
  animation: moveUp 0.65s ease forwards 0.5s;
}
.pc .home .animation_element.first {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* スライダー */
#header_slider {
  width: 1200px;
  height: auto;
  position: relative;
  min-width: 1200px;
  margin: 0 auto 80px;
}
#header_slider .item {
  width: 100%;
  height: auto;
  min-width: 1200px;
}
#header_slider .item img {
  width: 100%;
  height: auto;
  display: block;
}
#header_slider .item .overlay span:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  z-index: 2;
  position: absolute;
  left: 0px;
  top: 0px;
}

/* スライダーのキャッチコピー */
#header_slider .caption {
  position: absolute;
  text-align: center;
  z-index: 5;
  width: 1150px;
  margin: auto;
  left: 0;
  right: 0;
  top: 50%;
  top: -webkit-calc(50% + 30px);
  top: -moz-calc(50% + 30px);
  top: calc(50% + 30px);
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#header_slider .caption .title {
  line-height: 125%;
}
#header_slider .caption .button {
  font-size: 16px;
  text-decoration: none;
  padding: 0 25px;
  height: 50px;
  line-height: 50px;
  display: inline-block;
  margin: 15px 0 0 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* スライダーのキャッチコピーのアニメーション */
.pc #header_slider .caption .title,
.pc #header_slider .caption .button {
  opacity: 0;
}
.pc #header_slider .item.slick-active .caption .title {
  -webkit-animation: opacityAnimation 1s ease forwards 1s;
  animation: opacityAnimation 1s ease forwards 1s;
}
.pc #header_slider .item.slick-active .caption .button {
  -webkit-animation: opacityAnimation 1s ease forwards 2s;
  animation: opacityAnimation 1s ease forwards 2s;
}
.pc #header_slider .first_active .caption .title {
  -webkit-animation: opacityAnimation 1s ease forwards 2s !important;
  animation: opacityAnimation 1s ease forwards 2s !important;
}
.pc #header_slider .first_active .caption .button {
  -webkit-animation: opacityAnimation 1s ease forwards 3s !important;
  animation: opacityAnimation 1s ease forwards 3s !important;
}
@-webkit-keyframes opacityAnimation {
  0% {
  }
  100% {
    opacity: 1;
  }
}
@keyframes opacityAnimation {
  0% {
  }
  100% {
    opacity: 1;
  }
}

/* ヘッダーコンテンツ */
#header_content {
  width: 1250px;
  margin: 0 auto 80px;
  padding: 0 25px 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#header_content .item {
  float: left;
  width: 300px;
  height: 660px;
  overflow: hidden;
  position: relative;
  opacity: 0;
}
#header_content .item.active {
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-animation: moveUp 0.65s ease forwards 1s;
  animation: moveUp 0.65s ease forwards 1s;
}
@-webkit-keyframes moveUp {
  0% {
  }
  100% {
    -webkit-transform: translateY(0);
    opacity: 1;
  }
}
@keyframes moveUp {
  0% {
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
#header_content img {
  display: block;
  width: 300px;
  height: auto;
  -webkit-transition: all 0.75s ease;
  -moz-transition: all 0.75s ease;
  transition: all 0.75s ease;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#header_content .item:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}
#header_content .image:before {
  width: 300px;
  height: 660px;
  display: block;
  content: "";
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  z-index: 2;
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
#header_content .item:hover .image:before {
  opacity: 1;
}
#header_content .desc {
  display: block;
  width: 300px;
  padding: 0 30px;
  color: #fff;
  line-height: 200%;
  font-size: 15px;
  text-decoration: none;
  z-index: 3;
  text-align: left;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#header_content .item:hover .desc {
  opacity: 1;
}

#header_content .catch {
  display: block;
  width: 300px;
  padding: 0 30px;
  color: #fff;
  line-height: 200%;
  font-size: 15px;
  text-decoration: none;
  z-index: 4;
  text-align: center;
  position: absolute;
  bottom: 35px;
  font-weight: 200;
  opacity: 1;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#header_content .item:hover .catch {
  opacity: 0;
}

/* #header_panel */
#header_panel {
  max-width: 1920px;
  margin: 0 auto;
  position: relative;
}
#header_panel .img100 {
  width: 100%;
  height: auto;
}
#header_panel .inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 1380px;
  max-width: calc(100% - 40px);
  height: 100%;
}
#header_panel .boxTxt {
  color: #fff;
  padding: max(14.615vw, 180px) 0 5px max(3.333vw, 40px);
  position: relative;
}
#header_panel .boxTxt .txtMain {
  font-size: clamp(40px, 2.708vw, 52px);
  font-weight: 700;
  letter-spacing: 6px;
  line-height: 1.615;
}
#header_panel .boxTxt .txtSub {
  font-size: clamp(16px, 1.041vw, 20px);
  font-weight: 700;
  letter-spacing: 2px;
  margin-top: max(1.3vw, 25px);
}
#header_panel .boxTxt::before {
  content: "";
  display: block;
  width: clamp(172px, 11.302vw, 217px);
  height: clamp(386px, 25.26vw, 485px);
  background: url(img/index/mainDeco.svg) no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
}

/* secConcept */
.secConcept {
  position: relative;
  padding: 140px 0 70px;
  overflow: hidden;
}
.secConcept .secConceptIn {
  width: calc(100% - 40px);
  max-width: 1380px;
  margin: 0 auto;
  position: relative;
}
.secConcept .secTit {
  position: absolute;
  top: 0;
  left: -77px;
}
.secConcept .secImg {
  position: absolute;
  top: 80px;
  right: calc(50% - 960px);
}
.secConcept .secTxt {
  padding-top: 30px;
}
.secConcept .secTxt .txtMain {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 10px;
  line-height: 1.85;
}
.secConcept .secTxt .txtSub {
  font-size: 16px;
  letter-spacing: 1px;
  line-height: 2.8125;
  margin-top: 31px;
}
.secConcept .secTxt .conceptList {
  width: 730px;
  display: flex;
  justify-content: flex-start;
  margin-top: 34px;
}
.secConcept .secTxt .listItem {
  width: 230px;
  height: 196px;
  background: url(img/index/bgConcept.gif) center / contain no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 55px;
  box-sizing: border-box;
}
.secConcept .secTxt .listItem:nth-child(n + 2) {
  margin-left: 20px;
}
.secConcept .secTxt .listItem .itemTit {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.3px;
  color: #156179;
  width: 100%;
  text-align: center;
}
.secConcept .secTxt .listItem .txt01 {
  font-size: 13px;
  letter-spacing: 0.1px;
  margin-top: 20px;
  width: 100%;
  text-align: center;
}
.secConcept .secTxt .listItem .txt02 {
  font-size: 17px;
  letter-spacing: 0.3px;
  line-height: 1.765;
  text-align: center;
  margin-top: 11px;
  width: 100%;
  text-align: center;
}
.secConcept .secBtn {
  margin-top: 40px;
}
@media screen and (max-width: 1580px) {
  .secConcept .secConceptIn {
    margin: 0 auto 0 100px;
  }
  .secConcept .secImg {
    right: auto;
    left: 870px;
  }
}

/* cmnBtn */
.cmnBtn {
  width: 340px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: #08242d;
  border-radius: 35px;
  overflow: hidden;
  text-decoration: none;
  cursor: pointer;
  transition-property: background-color, color, opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}
.cmnBtn:hover {
  background-color: #00516c;
}
.cmnBtn .txt {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.3px;
  color: #fff;
}
.cmnBtn::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 50px;
  z-index: 1;
  margin: auto;
  width: 16px;
  height: 11px;
  background: url(img/common/iconArrow32_22_white.png) center / contain
    no-repeat;
}

/* secCmnBnrRow */
.secCmnBnrRow {
  margin-top: 120px;
}
.secCmnBnrRow .cmnBnrRowIn {
  display: flex;
  justify-content: center;
}
.secCmnBnrRow .boxImg {
  width: calc((100% - 10px) / 2);
  margin-left: 10px;
  display: block;
}
.secCmnBnrRow .boxImg:nth-child(2n + 1) {
  margin-left: 0;
}

/* プロジェクト　コンテンツ */
#index_project {
  /* width:1250px; margin:0 auto; padding:0 25px 0; */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}

#index_project .catchphrase {
  text-align: center;
  margin: 0 0 100px 0;
}
#index_project .catchphrase .headline {
  font-size: 40px;
  line-height: 200%;
  margin: 0 0 5px 0;
}
#index_project .catchphrase .desc {
  font-size: 14px;
  line-height: 2.2;
  margin: 0 0 35px 0;
}

/* プロジェクトリスト */
.projectlist_area {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
#project_list li {
  float: left;
  /* width: calc((100% / 3) - 30px); */
  height: 220px;
  overflow: hidden;
  position: relative;
  /* margin: 0 0 80px 0; */
}
#project_list .image {
  display: block;
  height: 100%;
}
#project_list img {
  width: 300px;
  margin: 0 auto;
  height: auto;
  display: block;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#project_list li:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}
#project_list .image:before {
  /* width: 300px;
  height: 300px; */
  width: calc((100% / 3) - 30px);
  height: 220px;
  display: block;
  content: "";
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  z-index: 2;
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
#project_list li:hover .image:before {
  opacity: 1;
}
#project_list .title {
  display: block;
  padding: 15px 20px 10px;
  color: #333;
  background: #fff;
  width: 100%;
  line-height: 180%;
  font-size: 13px;
  text-decoration: none;
  position: absolute;
  z-index: 3;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: translate3d(0, 140%, 0);
  transform: translate3d(0, 140%, 0);
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
}
#project_list li:hover .title {
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
}
#project_list .title span {
  display: block;
  font-size: 12px;
}
#project_list .title span.project_title {
  margin: 0 0 5px 0;
  color: #333;
  font-size: 14px;
}

/* pager */
#project_list ~ .page_navi {
  margin-top: 30px;
}

/* .secWorks */
.secWorks {
  background: #f7f7f7;
  position: relative;
  margin-top: 180px;
  padding-bottom: 100px;
}
.secWorks::after {
  content: "";
  background: #fff;
  width: max(50vw, 630px);
  height: 890px;
  position: absolute;
  top: 0;
  right: 0;
}
.secWorks .worksIn {
  width: calc(100% - 40px);
  max-width: 1380px;
  margin: 0 auto;
  padding-top: 1px;
  position: relative;
  z-index: 1;
}
.secWorks .secCmnTit {
  margin-top: -48px;
}
.secWorks .worksMain {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 60px;
}
.secWorks .worksMain .boxImg {
  width: calc(820 / 1380 * 100%);
  height: 0;
  padding-top: calc((560 / 820) * (820 / 1380) * 100%);
}
.secWorks .worksMain .boxTxt {
  width: calc(560 / 1380 * 100%);
  padding-left: 5.797%;
}
.secWorks .worksMain .boxTxt .cardTit {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 2.5px;
  line-height: 1.857;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: calc(1.857em * 2);
}
.secWorks .worksMain .boxTxt .cardTxt {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.3px;
  line-height: 2.4;
  margin-top: 22px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  max-height: calc(2.4em * 3);
}
.secWorks .worksMain .boxTxt .secBtn {
  margin-top: 43px;
}

.secWorks .boxSlider {
  margin-top: 80px;
}
.secWorks .boxSlider .swiper-wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
}
.secWorks .boxSlider .swiper-slide {
  width: calc(410 / 1380 * 100%);
  height: auto;
  margin-left: calc(75 / 1380 * 100%);
}
.secWorks .boxSlider .swiper-slide:nth-child(3n + 1) {
  margin-left: 0;
}
.secWorks .boxSlider .swiper-slide:nth-child(n + 4) {
  margin-top: 30px;
}
.secWorks .boxSlider .aCardLink {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  background: #fff;
  height: 100%;
  width: 100%;
}
.secWorks .boxSlider .aCardLink .boxImg {
  width: 100%;
  height: 0;
  padding-top: calc((280 / 410) * 100%);
}
.secWorks .boxSlider .aCardLink .boxTxt {
  padding: 34px 40px 70px;
  position: relative;
  flex: 1 1 auto;
}
.secWorks .boxSlider .aCardLink .boxTxt::after {
  content: "";
  background: url(img/common/iconArrow60_60_white.png) center / contain
    no-repeat;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  bottom: 40px;
  right: 40px;
  background-color: #08242d;
}
.secWorks .boxSlider .aCardLink .boxTxt .cardTit {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.778;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 1.778em * 2;
}
.secWorks .boxSlider .aCardLink .boxTxt .cardTxt {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
  line-height: 2.167;
  margin-top: 13px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  max-height: 2.167em * 3;
}

/* .bgAfterHover */
.bgAfterHover::after {
  -webkit-transition-property: background-color;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: ease;
  -moz-transition-property: background-color;
  -moz-transition-duration: 0.2s;
  -moz-transition-timing-function: ease;
  -o-transition-property: background-color;
  -o-transition-duration: 0.2s;
  -o-transition-timing-function: ease;
  transition-property: background-color;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}
.bgAfterHover:hover::after {
  background-color: #00698c !important;
}

.secWorks .secBtn {
  margin-top: 50px;
}
.secWorks .secBtn .cmnBtn {
  margin: 0 auto;
}

/* .secCmnTit */
.secCmnTit .titEn {
  font-size: 80px;
  font-weight: 300;
  letter-spacing: 10px;
}
.secCmnTit .titJp {
  font-size: 20px;
  letter-spacing: 3px;
  margin-top: 40px;
}
.secCmnTit.cWhite .titEn,
.secCmnTit.cWhite .titJp {
  color: #fff;
}

/* .secCmnSubTit */
.secCmnSubTit {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.secCmnSubTit .titEn {
  font-size: 38px;
  font-weight: 300;
  letter-spacing: 4px;
}
.secCmnSubTit .titJp {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 1px;
  margin-left: 25px;
  padding-top: 1px;
}

/* News　コンテンツ */
#index_news {
  /* width:1250px; margin:0 auto; padding:80px 25px 0; */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#index_news + #index_blog_image {
  padding-top: 0;
}
#index_news .catchphrase {
  margin: 0 0 40px 0;
  position: relative;
}
#index_news .catchphrase .headline {
  font-size: 40px;
  line-height: 200%;
  margin: 0 30px 0 0;
  display: inline-block;
  vertical-align: middle;
}
#index_news .catchphrase .desc {
  font-size: 14px;
  line-height: 200%;
  margin: 0;
  display: inline-block;
  vertical-align: middle;
}

.index_news_list {
  width: 580px;
  margin: 0 0 100px 0;
}
.index_news_list .headline {
  float: left;
  height: 45px;
  line-height: 45px;
  background: #333;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  text-align: center;
  width: 170px;
}
.index_news_list .archive_link {
  float: left;
  height: 45px;
  line-height: 45px;
  font-size: 12px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  width: 170px;
}
.index_news_list ol {
  clear: both;
}
.index_news_list ol a {
  display: block;
  border: 1px solid #ddd;
  padding: 0 20px;
  height: 50px;
  line-height: 50px;
  margin-bottom: -1px;
  font-size: 14px;
  text-decoration: none;
}
.index_news_list ol a:hover {
  background: #f7f7f7;
}
.index_news_list ol a .entry-date {
  display: inline-block;
  margin-right: 25px;
  font-size: 12px;
}
.index_news_list ol a .title {
}

#index_event_list {
  float: left;
}
#index_info_list {
  float: right;
}

#index_news.one_list #index_event_list,
#index_news.one_list #index_info_list {
  float: none;
  width: 100%;
}

/* .secEvent */
.secEvent {
  padding: 100px 0 0;
}
.secEvent .secCmnTit {
  text-align: center;
}
.secEvent .boxEvent {
  margin-top: 60px;
}
.secEvent .eventInner {
  width: calc(100% - 40px);
  max-width: 1380px;
  margin: 0 auto;
}
.secEvent .eventList {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
}
.secEvent .eventList .eventItem {
  width: calc(410 / 1380 * 100%);
  height: auto;
  margin-left: calc(75 / 1380 * 100%);
}
.secEvent .eventList .eventItem:nth-child(3n + 1) {
  margin-left: 0;
}
.secEvent .eventList .eventItem:nth-child(n + 4) {
  margin-top: 30px;
}
.secEvent .eventList .aCardLink {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  background: #fff;
  height: 100%;
  width: 100%;
}
.secEvent .eventList .aCardLink .boxImg {
  width: 100%;
  height: 0;
  padding-top: calc((280 / 410) * 100%);
}
.secEvent .eventList .aCardLink .boxTxt {
  padding: 39px 9.759% 53px;
  position: relative;
  flex: 1 1 auto;
  background: #f9f9f9;
  width: 100%;
  box-sizing: border-box;
}
.secEvent .eventList .aCardLink .boxTxt::after {
  content: "";
  background: url(img/common/iconArrow60_60_white.png) center / contain
    no-repeat;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  bottom: 37px;
  right: 9.759%;
  background-color: #08242d;
}
.secEvent .eventList .aCardLink .boxTxt .date {
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.3px;
  color: #a1a1a1;
}
.secEvent .eventList .aCardLink .boxTxt .cardTit {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.778;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: calc(1.778em * 2);
  margin-top: 13px;
}
.secEvent .eventList .aCardLink .boxTxt .cardTxt {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
  line-height: 2.167;
  margin-top: 12px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: calc(2.167em * 1);
}
.secEvent .eventList .aCardLink .boxTxt .cardTxt + .cardTxt {
  margin-top: 0;
}
.secEvent .eventList .aCardLink .boxTxt .cardTxt:last-child {
  padding-right: 30px;
}
.secEvent .secBtn {
  margin-top: 50px;
}
.secEvent .secBtn .cmnBtn {
  margin: 0 auto;
}
.secEvent .boxNews {
  margin-top: 130px;
  background: #f7f7f7;
}
.secEvent .newsInner {
  width: calc(100% - 40px);
  max-width: 1380px;
  margin: 0 auto;
  padding: 1px 0 100px;
}
.secEvent .newsInner .secCmnTit {
  text-align: left;
  margin-top: -46px;
}
.secEvent .newsList {
  display: block;
  margin-top: 40px;
  background: linear-gradient(
        to right,
        #969696,
        #969696 1px,
        transparent 1px,
        transparent 4px
      )
      left top / 4px 1px repeat-x,
    linear-gradient(
        to right,
        #969696,
        #969696 1px,
        transparent 1px,
        transparent 4px
      )
      left bottom / 4px 1px repeat-x;
  padding: 40px 0;
}
.secEvent .newsList .listItem + .listItem {
  margin-top: 30px;
}
.secEvent .newsList .listItem .aBoxLink {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  max-width: 100%;
  position: relative;
}
.secEvent .newsList .listItem .aBoxLink::after {
  content: "";
  background: url(./img/common/iconArrow60_60_white.png) center / contain
    no-repeat;
  background-color: #08242d;
  width: 30px;
  height: 30px;
  overflow: hidden;
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.secEvent .newsList .listItem .aBoxLink .date {
  padding: 12px 28px 12px 0;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.3px;
  color: #a1a1a1;
  width: 115px;
  box-sizing: border-box;
}
.secEvent .newsList .listItem .aBoxLink .txt {
  padding: 12px 28px;
  border-left: 1px solid #e6e6e6;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: calc(100% - 115px);
  box-sizing: border-box;
}
.secEvent .boxNews .secBtn {
  display: flex;
  justify-content: center;
}
.secEvent .boxNews .secBtn .cmnBtn {
  margin: 0;
}
.secEvent .boxNews .secBtn .cmnBtn + .cmnBtn {
  margin-left: 40px;
}
.secEvent .boxNews .secBtn .cmnBtn.athome {
  background: #fff;
  border: 2px solid #08242d;
}
.secEvent .boxNews .secBtn .cmnBtn.athome .txt {
  color: #cc0033;
  position: relative;
}
.secEvent .boxNews .secBtn .cmnBtn.athome .txt::after {
  content: "";
  background: url(./img/common/iconLink.gif) center / contain no-repeat;
  width: 7px;
  height: 6px;
  position: absolute;
  top: -4px;
  right: -10px;
}
.secEvent .boxNews .secBtn .cmnBtn.athome::after {
  background: url(./img/common/iconArrow32_22_red.png) center / contain
    no-repeat;
}
.secEvent .boxNews .secBtn .cmnBtn.athome:hover {
  background-color: #00516c;
  border: 2px solid #00516c;
}
.secEvent .boxNews .secBtn .cmnBtn.athome:hover .txt {
  color: #fff;
}
.secEvent .boxNews .secBtn .cmnBtn.athome:hover .txt::after {
  background: url(./img/common/iconLink_white.gif) center / contain no-repeat;
}
.secEvent .boxNews .secBtn .cmnBtn.athome:hover::after {
  background: url(./img/common/iconArrow32_22_white.png) center / contain
    no-repeat;
}

/* .secModel */
.secModel {
  overflow: hidden;
}
.secModel .titWrap {
  background: url(./img/index/bgModel.jpg) center / cover no-repeat;
  padding: 126px 0 116px;
}
.secModel .secCmnTit {
  text-align: center;
}
.secModel .modelIn {
  background: #092133;
  padding: 70px 0 120px;
}
.secModel .contWrap {
  width: calc(100% - 40px);
  max-width: 1380px;
  margin: 0 auto;
}
.secModel .secModelCont {
  display: block;
  text-decoration: none;
}
.secModel .secModelCont .boxTxt {
  width: 100%;
  margin: -80px 0 0 0;
  position: relative;
}
.secModel .secModelCont .boxTxt .txtIn {
  width: 84%;
  min-height: 280px;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0 -30px 0 auto;
}
.secModel .secModelCont .boxTxt .txtMain {
  width: calc(100% - 208px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 47px 60px 50px;
  background: #fff;
}
.secModel .secModelCont .boxTxt .txtMain .tit {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.857;
  letter-spacing: 2px;
}
.secModel .secModelCont .boxTxt .txtMain .txt {
  font-size: 15px;
  font-weight: 700;
  line-height: 2.267;
  letter-spacing: 0.5px;
  margin-top: 11px;
}
.secModel .secModelCont .boxTxt .boxBtn {
  width: 208px;
  background: #c2ab6f;
  display: flex;
  justify-content: center;
  align-items: center;
}
.secModel .secModelCont .boxTxt .boxBtn .txt {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.556;
  position: relative;
  padding: 27px 0 23px;
  text-align: center;
}
.secModel .secModelCont .boxTxt .boxBtn .txt::before,
.secModel .secModelCont .boxTxt .boxBtn .txt::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
.secModel .secModelCont .boxTxt .boxBtn .txt::before {
  background: url(./img/common/iconSearch40_40_white.png) center / contain
    no-repeat;
  width: 20px;
  height: 20px;
  top: 0;
}
.secModel .secModelCont .boxTxt .boxBtn .txt::after {
  background: url(./img/common/iconArrow36_24_white.png) center / contain
    no-repeat;
  width: 18px;
  height: 12px;
  bottom: 0;
}
.secModel .secModelCont .boxTxt .subTxt {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block;
  text-align: left;
  font-size: 24px;
  font-weight: 700;
  line-height: 60px;
  letter-spacing: 4px;
  white-space: nowrap;
  position: absolute;
  top: -50px;
  left: -78px;
}
.secModel .secModelCont .boxTxt .subTxt .txtBg {
  display: inline-block;
  background: #fff;
  line-height: 1;
  padding: 10px 4px 10px 7px;
}
.secModel .secBnr01 {
  margin: 90px auto 0;
  width: calc(100% - 40px);
  max-width: 1380px;
}
.secModel .secBnr02 {
  margin: 50px auto 0;
  width: 100%;
  max-width: 1920px;
}
@media screen and (max-width: 1560px) {
  .secModel .secModelCont .boxTxt .txtIn {
    width: 81%;
    margin: 0 -18px 0 auto;
  }
  .secModel .secModelCont .boxTxt .subTxt {
    left: -18px;
  }
}

/* .secLineup */
.secLineup {
  margin-top: 150px;
}
.secLineup .secCmnTit {
  text-align: center;
}
.secLineup .lineupBody {
  margin-top: 60px;
}
.secLineup .boxFull {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.secLineup .boxFull::after {
  content: "";
  background: url(./img/index/imgLineupSub01.png) center / contain no-repeat;
  width: clamp(481px, 38.229vw, 734px);
  height: clamp(127px, 10.104vw, 194px);
  position: absolute;
  bottom: -22px;
  left: 58.281%;
}
.secLineup .boxFull .tit {
  display: inline-block;
  width: clamp(305px, 24.271vw, 466px);
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(112px, 8.854vw, 170px);
  z-index: 1;
  margin: auto;
}
.secLineup .boxFull .boxBgImg {
  display: block;
  z-index: 0;
  font-size: 0;
  width: 100%;
}
.secLineup .boxHalfRow {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
}
.secLineup .boxHalf {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: calc((100% - 20px) / 2);
  position: relative;
  overflow: hidden;
}
.secLineup .boxHalf + .boxHalf {
  margin-left: 20px;
}
.secLineup .boxHalf:after {
  content: "";
  position: absolute;
}
.secLineup .boxHalf:nth-child(1):after {
  background: url(./img/index/imgLineupSub02.png) center / contain no-repeat;
  width: clamp(160px, 12.708vw, 244px);
  height: clamp(142px, 11.25vw, 216px);
  bottom: -19px;
  left: 71%;
}
.secLineup .boxHalf:nth-child(2):after {
  background: url(./img/index/imgLineupSub03.png) center / contain no-repeat;
  width: clamp(229px, 18.177vw, 349px);
  height: clamp(120px, 9.531vw, 183px);
  bottom: -11px;
  left: 61%;
}
.secLineup .boxHalf .tit {
  display: inline-block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(91px, 7.24vw, 139px);
  z-index: 1;
  margin: auto;
}
.secLineup .boxHalf:nth-child(1) .tit {
  width: clamp(345px, 27.344vw, 525px);
}
.secLineup .boxHalf:nth-child(2) .tit {
  width: clamp(355px, 28.125vw, 540px);
}
.secLineup .boxHalf .boxBgImg {
  display: block;
  z-index: 0;
  font-size: 0;
  width: 100%;
}

/* .secConceptBnr */
.secConceptBnr {
  margin-top: 180px;
}
.secConceptBnr .secCmnTit {
  text-align: center;
}
.secConceptBnr .conceptBnrBody {
  margin-top: 60px;
}
.secConceptBnr .aBnrLink {
  display: block;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
}
.secConceptBnr .aBnrLink.no_ro:hover {
  color: #fff;
}
.secConceptBnr .aBnrLink + .aBnrLink {
  margin-top: 1px;
}
.secConceptBnr .aBnrLink .boxTxt {
  position: absolute;
  left: 9.375vw;
  bottom: 9.375vw;
  z-index: 1;
}
.secConceptBnr .aBnrLink .boxTxt .num {
  font-size: 100px;
  font-weight: 300;
  letter-spacing: 13px;
  position: relative;
  display: inline-block;
}
.secConceptBnr .aBnrLink .boxTxt .num::after {
  content: "";
  width: 60px;
  height: 1px;
  background: #fff;
  position: absolute;
  right: -71px;
  top: 10px;
  bottom: 0;
  margin: auto;
}
.secConceptBnr .aBnrLink .boxTxt .subTit {
  margin-top: 29px;
  font-size: 60px;
  font-weight: 600;
  letter-spacing: 6px;
}
.secConceptBnr .aBnrLink .boxTxt .txt {
  margin-top: 38px;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 6px;
  line-height: 1.929;
}
.secConceptBnr .aBnrLink .boxTxt .txtMore {
  margin-top: 44px;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 1px;
  position: relative;
  display: inline-block;
}
.secConceptBnr .aBnrLink .boxTxt .txtMore::after {
  content: "";
  background: #fff url(./img/common/iconArrow60_60_black.png) center / contain
    no-repeat;
  width: 30px;
  height: 30px;
  overflow: hidden;
  border-radius: 50%;
  position: absolute;
  right: -50px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.secConceptBnr .aBnrLink .boxBgImg {
  display: block;
  z-index: 0;
}

/* .secAbout */
.secAbout {
  margin-top: 180px;
}
.secAbout .secCmnTit {
  text-align: center;
}
.secAbout .imgTop {
  margin-top: 60px;
  height: 550px;
  position: relative;
  overflow: hidden;
}
.secAbout .imgTop img {
  position: absolute;
  left: calc(50% - 960px);
  top: 0;
}
.secAbout .boxTxt {
  width: calc(100% - 40px);
  max-width: 1380px;
  margin: 80px auto 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.secAbout .boxTxt .boxLeft {
  width: 44.565%;
}
.secAbout .boxTxt .theme {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 10px;
  line-height: 1.85;
}
.secAbout .boxTxt .themeEn {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 1.85;
  margin-top: 20px;
}
.secAbout .boxTxt .txt {
  font-size: 16px;
  letter-spacing: 1px;
  line-height: 3.375;
}
.secAbout .imgBtm {
  margin-top: -154px;
  height: 680px;
  position: relative;
  overflow: hidden;
  z-index: -1;
}
.secAbout .imgBtm img {
  position: absolute;
  left: calc(50% - 960px);
  top: 0;
}
@media screen and (max-width: 1380px) {
  .secAbout .boxTxt .boxLeft {
    width: 43%;
  }
  .secAbout .boxTxt .theme {
    font-size: 38px;
  }
  .secAbout .boxTxt .txt {
    font-size: 15px;
  }
}

/* secLinkBnr */
.secLinkBnr {
  margin-top: 90px;
}
.secLinkBnr .boxHalfRow {
  width: calc(100% - 40px);
  max-width: 1380px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.secLinkBnr .boxHalfRow .boxHalf {
  width: min(660px, 47.826%);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  overflow: hidden;
}
.secLinkBnr .boxHalf .boxBgImg {
  display: block;
  z-index: 0;
  font-size: 0;
  width: 100%;
}
.secLinkBnr .boxHalf .secTit {
  display: inline-block;
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  color: #fff;
  text-align: center;
}
.secLinkBnr .boxHalf .secTit::before {
  content: "";
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  top: -126px;
  left: 0;
  right: 0;
  margin: auto;
}
.secLinkBnr .boxHalf:nth-child(1) .secTit::before {
  background: url(./img/index/imgCompany01.gif) center / contain no-repeat;
}
.secLinkBnr .boxHalf:nth-child(2) .secTit::before {
  background: url(./img/index/imgStaff01.gif) center / contain no-repeat;
}
.secLinkBnr .boxHalf:nth-child(2) .secTit::after {
  content: "";
  background: url(./img/index/imgStaff02.png) center / contain no-repeat;
  width: 119px;
  height: 119px;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  top: -86px;
  right: -89px;
}
.secLinkBnr .boxHalf .secTit .titEn {
  font-size: 60px;
  font-weight: 300;
  letter-spacing: 7px;
}
.secLinkBnr .boxHalf .secTit .titJp {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 2.5px;
  margin-top: 30px;
}
.secLinkBnr .boxHalf .boxBtnBtm {
  position: absolute;
  right: 88px;
  bottom: 49px;
}
.secLinkBnr .boxHalf .boxBtnBtm .txt {
  display: inline-block;
  position: relative;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.5px;
  color: #fff;
}
.secLinkBnr .boxHalf .boxBtnBtm .txt::after {
  content: "";
  background: #fff url(./img/common/iconArrow60_60_black.png) center / contain
    no-repeat;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  right: -48px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.secLinkBnr .boxFullBnr {
  margin-top: 80px;
}
.secLinkBnr .boxFullBnr .aBnrLink {
  display: block;
  width: calc(100% - 40px);
  max-width: 1100px;
  margin: 0 auto;
}

/* .secMovie */
.secMovie {
  background: #f7f7f7;
  padding: 1px 0 115px;
  margin-top: 180px;
}
.secMovie .secCmnTit {
  text-align: center;
  margin-top: -45px;
}
.secMovie .movieBody {
  width: calc(100% - 40px);
  max-width: 1380px;
  margin: 60px auto 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.secMovie .boxMovie {
  width: min(660px, 47.826%);
}
.secMovie .boxMovie + .boxMovie {
  margin-left: min(60px, 4.348%);
}
.secMovie .boxMovie .movie {
  aspect-ratio: 660 / 370;
  width: 100%;
  height: auto;
}
.secMovie .boxMovie .movieTit {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 3px;
  line-height: 1.4;
  margin-top: 45px;
  text-align: center;
}

/* ボックス　コンテンツ */
#index_box {
  background: #f7f7f7;
  min-width: 1250px;
}
#index_box_inner {
  width: 1250px;
  margin: 0 auto;
  padding: 80px 25px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.index_box_list li {
  float: left;
  width: 380px;
  margin: 0 30px 0 0;
}
.index_box_list li.box3 {
  margin: 0;
}
.index_box_list .headline {
  display: table;
  width: 130px;
  height: 130px;
  margin: 0 auto 41.6px;
  line-height: 130px;
  text-align: center;
  vertical-align: middle;
  color: #fff;
}
.index_box_list .headline span {
  display: table-cell;
  line-height: 1.5;
  vertical-align: middle;
  word-break: break-all;
}
.index_box_list .desc {
  height: 90px;
  line-height: 2.2;
  margin: 0 0 41.6px 0;
  overflow: hidden;
}
.index_box_list .image {
  overflow: hidden;
  position: relative;
}
.index_box_list .image span {
  display: block;
  padding: 20px;
  color: #333;
  background: #fff;
  width: 100%;
  line-height: 180%;
  font-size: 14px;
  text-decoration: none;
  position: absolute;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
}
.index_box_list .image a:hover span {
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
}
.index_box_list .image img {
  display: block;
  width: 380px;
  height: 230px;
  /*
  -webkit-transition: all 0.35s ease-in-out; -moz-transition: all 0.35s ease-in-out; transition: all 0.35s ease-in-out;
  -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1);
  -webkit-backface-visibility:hidden; backface-visibility:hidden;
*/
}
/*
.index_box_list .image a:hover img {
  -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); -o-transform: scale(1.2); transform: scale(1.2);
}
*/

/* Blog　コンテンツ */
#index_blog_image {
  width: 1250px;
  margin: 0 auto;
  padding: 80px 25px 0;
  position: relative;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#index_blog_image:last-child {
  margin-bottom: 30px;
}
#index_blog_image a,
#index_blog_image img {
  display: block;
  margin: 0 auto;
}
#index_blog_image img {
  max-width: 100%;
  height: auto;
}

#index_blog {
  width: 1250px;
  margin: 0 auto;
  padding: 80px 25px 0;
  position: relative;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#index_blog .secCmnTit {
  text-align: center;
}
#index_blog .secBtn {
  margin-top: 10px;
}
#index_blog .secBtn .cmnBtn {
  margin: 0 auto;
}

#index_blog .catchphrase {
  margin: 0 0 40px 0;
  position: relative;
}
#index_blog .catchphrase .headline {
  font-size: 40px;
  line-height: 200%;
  margin: 0 30px 0 0;
  display: inline-block;
  vertical-align: middle;
}
#index_blog .catchphrase .desc {
  font-size: 14px;
  line-height: 200%;
  margin: 0;
  display: inline-block;
  vertical-align: middle;
}
#index_blog .index_blog_link {
  width: 170px;
  height: 45px;
  line-height: 45px;
  display: block;
  text-decoration: none;
  background: #000;
  color: #fff;
  text-align: center;
  position: absolute;
  right: 25px;
  top: 100px;
}

#blog_list {
  font-size: 0;
  margin-top: 60px;
}
#blog_list li {
  display: inline-block;
  vertical-align: top;
  width: 380px;
  margin: 0 30px 30px 0;
  font-size: 14px;
}
#blog_list li:nth-child(3n) {
  margin: 0;
}
#blog_list .image {
  position: relative;
  display: block;
  overflow: hidden;
  width: 380px;
  height: 230px;
}
#blog_list .image img {
  display: block;
  width: 380px;
  height: 230px;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#blog_list .image:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}

#blog_list .image:before {
  width: 100%;
  height: 100%;
  display: block;
  content: "";
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  z-index: 2;
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
#blog_list .image:hover:before {
  opacity: 1;
}
#blog_list .date {
  display: inline-block;
  height: 40px;
  line-height: 40px;
  text-align: center;
  background: #000;
  color: #fff;
  position: absolute;
  bottom: 0px;
  left: 0px;
  z-index: 3;
  width: 120px;
  font-size: 12px;
}
#blog_list .info {
  background: #f7f7f7;
  padding: 20px;
}
#blog_list .title {
  display: block;
  line-height: 180%;
  margin: 0;
  min-height: 52px;
}
#blog_list .category {
  margin-top: 16px;
}
#blog_list .category a {
  text-decoration: none;
  display: inline-block;
  text-align: center;
  padding: 0 16px;
  background: #fff;
  border: 1px solid #eee;
  height: 25px;
  line-height: 25px;
  font-size: 12px;
}
#blog_list .category a:hover {
  background: #000;
  color: #fff;
}

/* ----------------------------------------------------------------------
 プロジェクトページ
---------------------------------------------------------------------- */
/* アーカイブページ */
#archive_catchphrase {
  text-align: center;
  margin: 0 0 100px 0;
}
#archive_catchphrase .headline {
  font-size: 40px;
  line-height: 200%;
  margin: 0 0 5px 0;
}
#archive_catchphrase .desc {
  font-size: 14px;
  line-height: 2.2;
  margin: 0 0 35px 0;
}

/* ソートボタンと記事一覧 */
#project_list li.active {
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-animation: moveUp 0.65s ease forwards 0.5s;
  animation: moveUp 0.65s ease forwards 0.5s;
}
#project_catgory_sort {
  margin: 0 0 50px 0;
}
#project_catgory_sort li {
  float: left;
  width: 200px;
  border: 1px solid #ccc;
  border-right: none;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#project_catgory_sort li a {
  font-size: 12px;
  display: block;
  background: #fff;
  color: #333;
  text-decoration: none;
  text-align: center;
  height: 40px;
  line-height: 40px;
}
#project_catgory_sort li:nth-child(6n),
#project_catgory_sort li:last-child {
  border-right: 1px solid #ccc;
}
#project_catgory_sort li a.active,
#project_catgory_sort li a:hover,
#project_catgory_sort li.current-cat a {
  color: #fff;
  background: #01690c;
}
#project_catgory_sort .current-cat + li:nth-child(7n) {
  border-color: #ccc !important;
}

/* 詳細ページ */
#project_side_content {
  background: #f4f4f4;
  padding: 35px 35px 10px;
  line-height: 2.4;
}
#project_side_content h3 {
  background: #01698c;
  height: 45px;
  line-height: 45px;
  font-size: 14px;
  text-align: center;
  color: #fff;
  margin: -35px -35px 45px;
}
#project_side_content h3 a {
  color: #fff;
  font-weight: 400;
}
#project_side_content h4 {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
}
#project_title {
  font-size: 20px;
  margin: 0;
}
#project_catch {
  font-size: 14px;
  margin: 10px 0 0 0;
}
#project_side_content .post_content {
  font-size: 14px;
  margin: 25px 0 0 0;
}
#project_side_content .post_content p {
  line-height: 2.4;
}
#project_related {
  clear: both;
  padding: 50px 0 0 0;
}
#project_related .headline {
  background: #000;
  color: #fff;
  height: 55px;
  line-height: 55px;
  padding: 0 30px;
}

.post_content .project_pager {
  margin-left: 0;
  margin-bottom: 50px;
  text-align: center;
}
.project_pager li {
  display: inline-block;
  list-style-type: none;
}
.project_pager li + li {
  margin-left: 6px;
}
.project_pager li a {
  background: #ccc;
  color: #fff;
  display: block;
  font-size: 18px;
  line-height: 50px;
  width: 50px;
  height: 50px;
}
.project_pager li a:hover {
  text-decoration: none;
}
.project_pager li a:hover::before,
.project_pager li a:hover::after {
  color: #fff;
}
.project_pager_prev a:before {
  content: "\e90f";
  font-family: "design_plus";
}
.project_pager_next a:after {
  content: "\e910";
  font-family: "design_plus";
}

.project_bnrBtm {
  margin-top: 50px;
}
.project_bnrBtm .aBnrLink {
  display: block;
  width: 100%;
}
.project_bnrBtm .aBnrLink img {
  width: 100%;
  height: auto;
}

#project_details_post.post_content .tcd-pb-widget p {
  margin-bottom: 0;
  line-height: 1.8;
}

/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
/* ヘッダーのキャッチフレーズ */
#archive_header {
  margin: 0 0 45px;
}
#archive_headline {
  font-size: 34px;
  margin: 0;
}
#category_desc {
  font-size: 15px;
  line-height: 250%;
  margin: 20px 0 0 0;
}

/* ページング */
.page_navi {
  margin: 0;
}
.page_navi ul {
  margin: 0;
  text-align: center;
  font-size: 0;
}
.page_navi li {
  display: inline;
  margin: 0 -1px -1px 0;
}
.page_navi a,
.page_navi a:hover,
.page_navi span {
  font-size: 12px;
  padding: 15px 18px;
  line-height: 100%;
  margin: 0;
  background: #fff;
  display: inline-block;
  border: 1px solid #ccc;
}
.page_navi a:hover {
  color: #fff;
  background: #222;
  text-decoration: none;
}
.page_navi span.dots {
  background: none;
}
.page_navi span.current {
  color: #fff;
  background: #aaa;
}
.page_navi p.back {
  margin: 0;
}
.page_navi p.back a {
  background: #000;
  border: 0;
  color: #fff;
  text-decoration: none;
  display: inline-block;
  width: 170px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  font-size: 14px;
  position: relative;
  padding: 0;
}
.page_navi p.back a:hover {
  color: #fff;
}
.page_navi p.back a:hover:before {
  color: #fff;
}

/* ----------------------------------------------------------------------
 イベント・インフォメーション
---------------------------------------------------------------------- */
#post_meta_top .news_category {
  height: 40px;
  line-height: 40px;
  padding: 0 25px;
  display: inline-block;
  text-decoration: none;
  border: 1px solid #ddd;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#archive_news_list .headline {
  background: #00688d;
  color: #fff;
  height: 55px;
  line-height: 55px;
  padding: 0 30px;
}
#archive_news_list li {
  border: 1px solid #ddd;
  border-top: 0;
}
#archive_news_list li a {
  display: block;
  padding: 30px;
  text-decoration: none;
  color: #333;
  background: #fff;
  position: relative;
}
#archive_news_list li a:after {
  content: "\e910";
  font-family: "design_plus";
  font-size: 18px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 16px;
  width: 18px;
  height: 18px;
}
#archive_news_list li a .entry-date {
  display: block;
  margin: 0 0 10px 0;
  font-size: 12px;
  color: #00688d;
}
#archive_news_list li a:hover {
  background-color: #f7f7f7;
}
.archive #archive_news_list {
  margin: 0 0 30px 0;
}

/* infoページ　エリアリンク */
.secAreaLink {
  width: 1250px;
  margin: 15px auto 50px;
  padding: 0 25px;
  box-sizing: border-box;
}
.secAreaLink .inner {
  width: 850px;
  float: left;
}
.secAreaLink .tit {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 2px;
  text-align: center;
  background: #00698c;
  color: #fff;
  padding: 29px 0;
  position: relative;
}
.secAreaLink .tit::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #00698c transparent transparent transparent;
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: auto;
}
.secAreaLink .btnList {
  margin-top: 56px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}
.secAreaLink .btnList .btnItem {
  width: 270px;
  margin-left: 20px;
}
.secAreaLink .btnList .btnItem:nth-child(3n + 1) {
  margin-left: 0;
}
.secAreaLink .btnList .btnItem:nth-child(n + 4) {
  margin-top: 30px;
}
.secAreaLink .btnList .aBtnLink {
  width: 100%;
  height: 70px;
  border-radius: 35px;
  border: 1px solid #333;
  background: #fff;
  box-shadow: inset 0px -5px 0px 0px rgba(1, 1, 1, 0.07);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.secAreaLink .btnList .aBtnLink:hover {
  border: 1px solid #00698c;
  background: #00698c;
}
.secAreaLink .btnList .aBtnLink::before,
.secAreaLink .btnList .aBtnLink::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.secAreaLink .btnList .aBtnLink::before {
  background: url(./img/common/iconSearch30_32_01.png) center / contain
    no-repeat;
  width: 15px;
  height: 16px;
  left: 36px;
}
.secAreaLink .btnList .aBtnLink:hover::before {
  background: url(./img/common/iconSearch30_32_01_white.png) center / contain
    no-repeat;
}
.secAreaLink .btnList .aBtnLink::after {
  background: url(./img/common/iconArrow32_20_01.png) center / contain no-repeat;
  width: 16px;
  height: 10px;
  right: 30px;
}
.secAreaLink .btnList .aBtnLink:hover::after {
  background: url(./img/common/iconArrow32_20_01_white.png) center / contain
    no-repeat;
}
.secAreaLink .btnList .aBtnLink .txt {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1.4;
}
.secAreaLink .btnList .aBtnLink:hover .txt {
  color: #fff;
}

/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */
#article {
  position: relative;
}

/* アイキャッチ画像 */
#post_image {
  padding: 0;
  margin: 0 0 50px 0;
}
#post_image img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
}

/* カテゴリー */
#post_meta_top {
  margin: 0 0 20px 0;
}
#post_meta_top li {
  float: left;
  margin: 0;
  font-size: 12px;
  width: 125px;
  text-align: center;
}
#post_meta_top .category {
}
#post_meta_top .category a {
  height: 40px;
  line-height: 40px;
  display: block;
  text-decoration: none;
  border: 1px solid #ddd;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#post_meta_top .category a:hover {
  color: #fff;
}
#post_meta_top .date {
  height: 40px;
  line-height: 40px;
  background: #000;
  color: #fff;
  position: relative;
}

/* 記事タイトル */
#post_title {
  padding: 0;
  margin: 0 0 18px;
  font-size: 21px;
  line-height: 1.5;
}

/*  記事本文*/
.post_content a:hover {
  text-decoration: underline;
}

/* SNSボタン */
#single_share_top {
  margin: -10px 0 0;
}
#single_share_top #share_top1 {
  padding-top: 0;
}

/* ページ分割 */
#post_pagination {
  margin: 0 0 50px 0;
  clear: both;
  font-size: 0;
  text-align: center;
}
#post_pagination h5 {
  margin: 0 0 10px 0;
  font-size: 12px;
}
#post_pagination a,
#post_pagination p {
  font-size: 12px;
  display: inline-block;
  background: #fff;
  margin: 0 -1px 0 0;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  text-decoration: none;
  color: #333;
  border: 1px solid #ccc;
}
#post_pagination p {
  background: #666;
  color: #fff;
}
#post_pagination a:hover {
  color: #fff;
}

/* メタ情報 */
#post_meta_bottom {
  margin: 0 0 50px;
  background: #fafafa;
  padding: 25px;
}
#post_meta_bottom li {
  display: inline;
  margin: 0 10px 0 0;
  padding: 0 15px 0 20px;
  border-right: 1px solid #ddd;
  font-size: 12px;
  line-height: 180%;
  position: relative;
}
#post_meta_bottom li:last-child {
  border: none;
  margin: 0;
}
#post_meta_bottom li:before {
  font-family: "design_plus";
  color: #aaa;
  font-size: 13px;
  display: block;
  position: absolute;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#post_meta_bottom li.post_category:before {
  content: "\e92f";
  top: -2px;
  left: 0px;
}
#post_meta_bottom li.post_tag:before {
  content: "\e935";
  top: -1px;
  left: 0px;
}
#post_meta_bottom li.post_author:before {
  content: "\e90d";
  top: -2px;
  left: 0px;
}
#post_meta_bottom li.post_comment:before {
  content: "\e916";
  font-size: 16px;
  top: -2px;
  left: 0px;
}

/* 次の記事、前の記事 */
#previous_next_post {
  margin: 0 0 50px 0;
}
#previous_next_post .prev_post,
#previous_next_post .next_post {
  float: left;
  width: 425px;
  margin-right: -1px;
}
#previous_next_post a {
  display: block;
  border: 1px solid #ddd;
  padding: 0;
  color: #333;
  line-height: 130%;
  height: 120px;
  color: #333;
  text-decoration: none;
  position: relative;
}
#previous_next_post .image {
  overflow: hidden;
  width: 120px;
  height: 120px;
}
#previous_next_post .prev_post .image {
  float: left;
  margin-right: 20px;
}
#previous_next_post .next_post .image {
  float: right;
  margin-left: 20px;
}
#previous_next_post img {
  width: 100%;
  height: 100%;
}
#previous_next_post .next_post img {
  float: right;
  margin: 0 0 0 20px;
}
#previous_next_post .title {
  display: table;
  font-size: 14px;
  line-height: 180%;
  height: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0 22px 0 0;
}
#previous_next_post .title span {
  display: table-cell;
  vertical-align: middle;
}
#previous_next_post .next_post .title {
  margin: 0 0 0 22px;
}
#previous_next_post a:hover {
  background: #f7f7f7;
  color: #333;
}

/* 広告 */
#single_banner_area {
  margin: 0 0 50px;
  text-align: center;
}
#single_banner_area .single_banner_left {
  display: inline-block;
  margin: 0 10px 0 0;
}
#single_banner_area .single_banner_right {
  display: inline-block;
  margin: 0 0 0 10px;
}
#single_banner_area img {
  max-width: 100%;
  height: auto;
  display: block;
}
#single_banner_area.one_banner .single_banner_left {
  float: none;
  margin: 0 auto;
}
#single_banner_area.one_banner img {
  margin: 0 auto;
}

/* 広告（ページ下部） */
#single_banner_area_bottom {
  margin: 0 0 50px;
  text-align: center;
}
#single_banner_area_bottom .single_banner_left {
  display: inline-block;
  margin: 0 10px 0 0;
}
#single_banner_area_bottom .single_banner_right {
  display: inline-block;
  margin: 0 0 0 10px;
}
#single_banner_area_bottom img {
  max-width: 100%;
  height: auto;
  display: block;
}
#single_banner_area_bottom.one_banner .single_banner_left {
  float: none;
  margin: 0 auto;
}
#single_banner_area_bottom.one_banner img {
  margin: 0 auto;
}

/* 広告（ショートコードver） */
#single_banner_area2 {
  margin: 0 0 30px 0;
  text-align: center;
}
#single_banner_area2 .single_banner_left {
  display: inline-block;
  margin: 0 10px 0 0;
}
#single_banner_area2 .single_banner_right {
  display: inline-block;
  margin: 0 0 0 10px;
}
#single_banner_area2 img {
  max-width: 100%;
  height: auto;
  display: block;
}
#single_banner_area2.one_banner .single_banner_left {
  float: none;
  margin: 0 auto;
}
#single_banner_area2.one_banner img {
  margin: 0 auto;
}

/* 関連記事 */
#related_post {
  margin: 0 0 50px 0;
  background: #000;
  color: #fff;
}
#related_post .headline {
  height: 55px;
  line-height: 55px;
  font-size: 14px;
  margin: 0;
  padding: 0 30px;
}
#related_post ol {
  margin: 0 0 0 30px;
  position: relative;
  font-size: 0;
}
#related_post li {
  width: 245px;
  margin: 0 27px 27px 0;
  display: inline-block;
  vertical-align: top;
}
#related_post li:nth-child(3n) {
  margin-right: 0;
}
#related_post li .image {
  margin: 0 0 15px 0;
  display: block;
  width: 245px;
  height: 150px;
  overflow: hidden;
}
#related_post li a.image img {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
#related_post li .image:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}
#related_post li .title {
  font-size: 14px;
  line-height: 160%;
  font-weight: 400;
}
#related_post li .title a {
  display: block;
  color: #fff;
}

/* プロフィール */
.author_profile {
  background: #f8f8f8;
  padding: 40px;
  margin: 40px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.author_profile .avatar {
  width: 110px;
  height: 110px;
  border-radius: 110px;
  float: left;
  margin: 0 32px 0 0;
  display: block;
}
.author_profile .avatar img {
  display: block;
  width: 100%;
  height: auto;
}
.author_profile .name {
  font-size: 16px;
  margin: 0;
  float: left;
  font-weight: 700;
}
.author_profile .info {
  float: left;
  width: calc(100% - 142px);
  margin: 0;
  position: relative;
}
.author_profile .author_link {
  margin: 0 0 0 -8px;
  font-size: 0;
}
.author_profile .author_link li {
  font-size: 12px;
  display: inline-block;
  margin: 0;
  position: relative;
}
.author_profile .author_link li a {
  text-indent: -200px;
  display: block;
  overflow: hidden;
  width: 30px;
  height: 33px;
  line-height: 33px;
  text-align: center;
  position: relative;
}
.author_profile .author_link li a:before {
  font-family: "design_plus";
  color: #000;
  font-size: 12px;
  width: 14px;
  height: 14px;
  display: block;
  text-indent: 0;
  position: absolute;
  top: 1px;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.author_profile .author_link li a:hover:before {
  color: #aaa;
}
.author_profile .author_link li.website a:before {
  content: "\e88a";
  font-size: 16px;
}
.author_profile .author_link li.twitter a:before {
  content: "\e904";
}
.author_profile .author_link li.facebook a:before {
  content: "\e902";
}
.author_profile .author_link li.insta a:before {
  content: "\ea92";
}
.author_profile .author_link li.pinterest a:before {
  content: "\e905";
}
.author_profile .author_link li.flickr a:before {
  content: "\eaa4";
}
.author_profile .author_link li.tumblr a:before {
  content: "\eab9";
}
.author_profile .author_link li.rss a:before {
  content: "\e90b";
}
.author_profile .desc {
  margin: 15px 0 10px;
}
.author_profile .desc p {
  font-size: 14px;
  line-height: 2;
}
.author_profile .archive_link {
  padding: 0;
  float: right;
  font-size: 14px;
}
.author_profile .archive_link span {
  position: relative;
  padding-right: 15px;
}
.author_profile .archive_link span:after {
  font-size: 12px;
  font-family: "design_plus";
  content: "\e910";
  color: #333;
  display: block;
  position: absolute;
  right: 0px;
  top: 4px;
  height: 14px;
  line-height: 14px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
#header {
  width: 100%;
  min-width: 1250px;
  height: 150px;
  background: #fff;
  position: relative;
  z-index: 20;
}
#header_inner {
  height: 150px;
  margin: 0 auto;
  position: relative;
}

/* 固定ヘッダー */
.pc .header_fix #header {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 200;
  border-bottom: 1px solid #ddd;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
  animation: slideDown 0.5s ease;
  -ms-animation: slideDown 0.5s ease;
  -webkit-animation: slideDown 0.5s ease;
  -moz-animation: slideDown 0.5s ease;
}
@-webkit-keyframes slideDown {
  0% {
    top: -50px;
  }
  100% {
    top: 0px;
  }
}
@keyframes slideDown {
  0% {
    top: -50px;
  }
  100% {
    top: 0px;
  }
}

/* ロゴ */
.pc #logo_text,
.pc #logo_image,
#logo_image_mobile {
  position: absolute;
  left: 25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.pc #header_logo .logo {
  font-size: 20px;
  margin: 0;
}
.pc #header_logo .logo a {
  text-decoration: none;
}
.pc #logo_image img {
  display: block;
  width: auto;
  height: 72px;
}
@media screen and (min-width: 1400px) {
    .pc #logo_image img {
        width: 41%;
        height: 50%;
    }
}

/* グローバルメニュー */
.pc #global_menu {
  float: right;
  display: flex;
  padding: 0 147px 0 0;
  height: 150px;
}
.pc #global_menu > ul {
  height: 144px;
  font-size: 0;
  position: relative;
  margin-right: 30px;
}
.pc #global_menu > ul > li {
  font-size: 1%;
  position: relative;
  display: inline-block;
  font-weight: bold;
}

.pc #global_menu > ul > li > a {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.5px;
  text-decoration: none;
  height: 130px;
  line-height: 130px;
  display: block;
  padding: 0 18px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.pc #global_menu a:hover {
  color: #333 !important;
}

.pc #global_menu ul ul {
  display: none;
  width: 200px;
  position: absolute;
  top: 130px;
  left: -2px;
  margin: 0;
  padding: 0;
  font-weight: normal;
}
.pc #global_menu ul ul ul {
  left: 100%;
  top: 0;
  margin: 0;
  border: none;
}
.pc #global_menu ul ul li {
  line-height: 150%;
  padding: 0;
  margin: 0;
  text-align: left;
  position: relative;
  display: block;
}
.pc #global_menu ul ul a {
  display: block;
  font-size: 11px;
  background: #222;
  border: none;
  position: relative;
  padding: 14px 20px 12px 20px;
  height: auto;
  line-height: 160%;
  margin: 0;
  text-align: left;
  box-shadow: none;
  color: #fff;
}
.pc #global_menu ul ul a:hover {
  text-decoration: none;
  border: none;
  color: #fff;
}

.pc #global_menu ul ul li.menu-item-has-children > a:before {
  margin: 0;
  display: block;
  top: 20px;
  right: 10px;
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0px 4px 4px;
  border-color: transparent transparent transparent #fff;
}
.pc #global_menu li li.current-menu-item > a {
  color: #fff;
}

#global_menu .btn_header {
  display: block;
  width: 166px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.5px;
  background: url(img/header/headerReserve.png) center 29px no-repeat;
  position: relative;
  text-align: center;
  padding: 105px 0 0 1px;
}
@media screen and (min-width: 1400px) and (max-width: 1600px) {
  #global_menu .btn_header {
    display: block;
    width: 145px;
  }
}

#global_menu .btn_header::before {
  content: "";
  width: 1px;
  position: absolute;
  top: 23px;
  bottom: 23px;
  left: 1px;
  background-color: #e3e3e3;
}
#global_menu .btn_header.is-catalog {
  color: #ff8080;
  background-image: url(img/header/headerCatalog.png);
  background-position: center 25px;
}
#global_menu .btn_header.is-catalog:hover {
  color: #ff8080 !important;
}
@media only screen and (max-width: 1500px) {
  .pc #global_menu > ul {
    margin-right: 20px;
  }
  .pc #global_menu > ul > li > a {
    padding: 0 8px;
  }
}
@media only screen and (max-width: 1400px) {
  .pc #global_menu > ul {
    display: none;
  }
}

/* バーガーメニュー */
#header_menu_btn_wrap {
  position: relative;
}
#header_menu_btn {
  display: block !important;
  position: absolute;
  top: -147px;
  right: 3px;
  z-index: 200;
  width: 144px;
  height: 144px;
  background-color: #333;
  color: #fff;
  font-size: 20px;
  text-align: center;
  padding: 86px 0 0;
  text-transform: uppercase;
  box-sizing: border-box;
}
#header_menu_btn .bar {
  display: block;
  width: 34px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 51px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#header_menu_btn .bar::before,
#header_menu_btn .bar::after {
  content: "";
  width: 34px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  transition: all 0.2s ease-out;
}
#header_menu_btn .bar::before {
  top: -14px;
}
#header_menu_btn .bar::after {
  top: 14px;
}
#header_menu_btn.active {
  background-color: #fff;
  color: #333;
  font-size: 0;
  position: fixed;
  top: 3px;
}
#header_menu_btn.active:hover {
  opacity: 1;
}
#header_menu_btn.active::before {
  content: "CLOSE";
  font-size: 20px;
}
#header_menu_btn.active .bar {
  background-color: transparent;
}
#header_menu_btn.active .bar::before,
#header_menu_btn.active .bar::after {
  background-color: #333;
  transform: rotate(45deg);
  transform-origin: center;
  top: 0;
}
#header_menu_btn.active .bar::after {
  transform: rotate(-45deg);
}
@media only screen and (max-width: 1600px) {
  #header_menu_btn.active {
    width: 94px;
    height: 94px;
    padding: 56px 0 0;
  }
  #header_menu_btn.active .bar {
    top: 34px;
  }
}

/* ヘッダーメニュー */
#header_menu {
  background-color: rgba(51, 51, 51, 0.98);
  color: #fff;
  position: fixed;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-x: scroll;
  z-index: 100;
  display: none;
  opacity: 0;
}
#header_menu.is-open {
  display: flex;
  animation: fadeInAnime forwards 0.2s ease-out; /*1で解説*/
}
@keyframes fadeInAnime {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}
#header_menu .wrapper {
  width: 100%;
}
#header_menu .box_wrap {
  max-width: 1390px;
  width: 96%;
  margin: 0 auto;
  display: flex;
}
#header_menu .box_left {
  flex: 1;
  min-width: 350px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#header_menu .left_txt {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1.5px;
  margin: 37px 0 0;
}
#header_menu .left_info {
  font-size: 13px;
  letter-spacing: 1.5px;
  line-height: 2.3;
  margin: 17px 0 0;
}
#header_menu .left_info a {
  color: #fff;
}
#header_menu .left_info a[href^="tel"] {
  pointer-events: none;
}
#header_menu .left_sns {
  margin: 30px 0 0;
}
#header_menu .box_right {
  width: 1000px;
  padding: 40px 0 0 100px;
  display: flex;
  flex-wrap: wrap;
  border-left: solid 1px rgba(255, 255, 255, 0.3);
}
#header_menu .nav_item {
  width: 300px;
  padding: 0 0 45px 0;
}
#header_menu .nav_item:nth-child(3n) {
  width: 330px;
}
#header_menu .nav_item:nth-child(3n + 1) {
  width: 210px;
}
#header_menu .nav_item a {
  color: #fff;
}
#header_menu .nav_roman {
  font-size: 32px;
  font-weight: 300;
  letter-spacing: 4px;
}
#header_menu .nav_txt {
  font-size: 14px;
  letter-spacing: 1px;
  margin: 20px 0 0;
}
#header_menu .box_btn {
  max-width: 1390px;
  width: 90%;
  margin: 0 auto 50px;
  display: flex;
  justify-content: space-between;
}
#header_menu .box_btn.spOnly {
  display: none;
}
#header_menu .btn {
  display: flex;
  justify-content: center;
  width: 47%;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 1px;
  margin: 80px 0 0;
  padding: 39px 0 37px;
  border-radius: 1000px;
  color: #fff;
  background: url(img/header/header_arrow.png) #08242d right 100px center
    no-repeat;
}
#header_menu .btn.is-reserve {
  background-color: #ff8080;
}
@media only screen and (max-width: 1400px) {
  #header_menu .box_right {
    padding: 40px 0 0 70px;
  }
  #header_menu .nav_item {
    width: 210px;
    padding: 0 0 35px 0;
  }
  #header_menu .nav_item:nth-child(3n),
  #header_menu .nav_item:nth-child(3n + 1) {
    width: 210px;
  }
  #header_menu .nav_roman {
    font-size: 22px;
    letter-spacing: 2px;
  }
  #header_menu .nav_txt {
    font-size: 12px;
    letter-spacing: 0.5px;
    margin: 13px 0 0;
  }
}

/* パンくずリンク */
#bread_crumb {
  margin: 15px 0 0;
  height: 60px;
  line-height: 60px;
  min-width: 1200px;
  overflow: hidden;
}
#bread_crumb ul {
  width: 1200px;
  margin: 0 auto;
}
#bread_crumb li.home {
  padding: 0;
}
#bread_crumb li.home a {
  float: left;
  height: 15px;
  width: 13px;
  line-height: 15px;
  display: block;
  position: relative;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#bread_crumb li.home a span {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: block;
}
#bread_crumb li.home a:before {
  font-family: "design_plus";
  color: #333;
  font-size: 14px;
  display: block;
  position: absolute;
  top: 23px;
  left: 0px;
  width: 17px;
  height: 17px;
  line-height: 17px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#bread_crumb li.home:after {
  display: none;
}
#bread_crumb li.home a:before {
  content: "\e90c";
}
#bread_crumb li.home a:hover:before {
  color: #fff;
}
#bread_crumb li {
  color: #999;
  font-size: 12px;
  display: inline;
  padding: 0 15px 0 0;
  margin: 0 0 0 15px;
  line-height: 160%;
  position: relative;
}
#bread_crumb li:after {
  font-family: "design_plus";
  content: "\e910";
  color: #999;
  font-size: 9px;
  display: block;
  position: absolute;
  left: -20px;
  top: -1px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#bread_crumb li a {
  color: #aaa;
}

/* translations */
#header_inner.header_with_translate {
  width: 1225px;
  padding-right: 25px;
}
.pc #translated_sites {
  display: block;
  /*position: absolute;
  top: 0;
  right: 50px;*/
  height: 130px;
  float: right;
}
.pc #translated_sites li span {
  position: relative;
  width: 18px;
  height: 18px;
  overflow: hidden;
  border-radius: 100%;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
  margin-top: -2px;
  border: 1px solid #bbb;
}
.pc #translated_sites li span img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.pc #translated_sites.horizontal li {
  display: inline-block;
  height: 130px;
  line-height: 130px;
  margin-left: 10px;
}
.pc #translated_sites.horizontal li a {
  display: block;
}
.pc #translated_sites.horizontal li div {
  display: block;
}

.pc #translated_sites.vertical li {
  display: block;
  height: 130px;
  line-height: 130px;
  position: relative;
}
.pc #translated_sites.vertical li a,
.pc #translated_sites.vertical li .stay {
  display: block;
  height: 130px;
  line-height: 130px;
  padding: 0 20px;
  margin: 0;
  overflow: hidden;
  min-width: 100px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.pc #translated_sites.vertical li ul {
  display: none;
  width: auto;
  position: relative;
  margin: 0;
  padding: 0;
}
.pc #translated_sites.vertical li ul li {
  line-height: 1.5;
  padding: 0;
  margin: 0;
  text-align: left;
  position: relative;
  display: block;
  height: auto;
}
.pc #translated_sites.vertical li ul a {
  font-size: 14px;
  display: block;
  border: none;
  position: relative;
  padding: 14px 20px 12px 20px;
  height: auto;
  line-height: 1.6;
  margin: 0;
  text-align: left;
  box-shadow: none;
  color: #fff;
}
.pc #translated_sites.vertical li ul a:hover {
  text-decoration: none;
  border: none;
  color: #fff;
}

/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
#footer_top {
  background: #f7f7f7;
  min-width: 1200px;
  margin-top: 120px;
}
#footer_top_inner {
  width: 1200px;
  margin: 0 auto;
  padding: 80px 0;
}
#footer_menu_widget_area {
  float: right;
  width: 850px;
}

#footer_top_inner.nowidget {
  width: 900px;
}
.nowidget #footer_menu_widget_area {
  float: right;
  width: 500px;
}
.nowidget.noinfo #footer_menu_widget_area {
  float: none;
  width: 900px;
  margin: 0 auto;
}
.noinfo #footer_menu_widget_area {
  float: none;
  width: 900px;
  margin: 0 auto;
}

/* 住所 */
#footer_address {
  float: left;
  width: 250px;
  font-size: 12px;
  margin: 0;
}
#footer_address .image {
  display: block;
  max-width: 100%;
  height: auto;
}
#footer_address .logo {
  margin: 17px 0 0 0;
}
#footer_address .logo a {
  display: inline-block;
}
#footer_address .logo img {
  display: block;
  max-width: 100%;
  height: auto;
}
#footer_address .info {
  margin: 10px 0 0 0;
  line-height: 1.8;
}
#footer_address .button {
  box-sizing: border-box;
  margin: 15px 0 0 0;
  display: inline-block;
  background: #fff;
  border: 1px solid #eee;
  padding: 7px 15px;
  text-decoration: none;
}
#footer_address .button:hover {
  color: #fff;
}

/* メニュー */
#footer_menu {
  margin: 0;
  float: left;
  width: 500px;
  font-size: 0;
}
.footer_menu {
  display: inline-block;
  vertical-align: top;
}
.footer_menu li {
  margin: 0 0 15px 0;
  font-size: 12px;
  line-height: 160%;
}
.footer_menu a {
  display: block;
  transition: 0.3s ease-in-out;
  color: #666;
}
.footer_menu a:hover {
  text-decoration: underline !important;
}
.footer_menu li:first-child a,
.footer_menu li:only-child a {
  font-size: 14px;
  margin: 0 0 20px 0;
}
#footer_menu.footer_menu_num2 .footer_menu {
  margin: 0 50px 0 0;
  width: 225px;
}
#footer_menu.footer_menu_num2 .footer_menu:last-child {
  margin: 0;
}
#footer_menu.footer_menu_num3 .footer_menu {
  margin: 0 33px 0 0;
  width: 144px;
}
#footer_menu.footer_menu_num3 .footer_menu:last-child {
  margin: 0;
}
#footer_menu.footer_menu_num4 .footer_menu {
  margin: 0 33px 0 0;
  width: 100px;
}
#footer_menu.footer_menu_num4 .footer_menu:last-child {
  margin: 0;
}

.noinfo #footer_menu_widget_area #footer_menu {
  float: left;
  width: 550px;
}
.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num2 .footer_menu {
  margin: 0 33px 0 0;
  width: 258px;
}
.noinfo
  #footer_menu_widget_area
  #footer_menu.footer_menu_num2
  .footer_menu:last-child {
  margin: 0;
}
.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num3 .footer_menu {
  margin: 0 33px 0 0;
  width: 161px;
}
.noinfo
  #footer_menu_widget_area
  #footer_menu.footer_menu_num3
  .footer_menu:last-child {
  margin: 0;
}
.noinfo #footer_menu_widget_area #footer_menu.footer_menu_num4 .footer_menu {
  margin: 0 33px 0 0;
  width: 112px;
}
.noinfo
  #footer_menu_widget_area
  #footer_menu.footer_menu_num4
  .footer_menu:last-child {
  margin: 0;
}

.nowidget.noinfo #footer_menu_widget_area #footer_menu {
  float: none;
  width: 900px;
}
.nowidget.noinfo
  #footer_menu_widget_area
  #footer_menu.footer_menu_num2
  .footer_menu {
  margin: 0 33px 0 0;
  width: 433px;
}
.nowidget.noinfo
  #footer_menu_widget_area
  #footer_menu.footer_menu_num2
  .footer_menu:last-child {
  margin: 0;
}
.nowidget.noinfo
  #footer_menu_widget_area
  #footer_menu.footer_menu_num3
  .footer_menu {
  margin: 0 33px 0 0;
  width: 278px;
}
.nowidget.noinfo
  #footer_menu_widget_area
  #footer_menu.footer_menu_num3
  .footer_menu:last-child {
  margin: 0;
}
.nowidget.noinfo
  #footer_menu_widget_area
  #footer_menu.footer_menu_num4
  .footer_menu {
  margin: 0 33px 0 0;
  width: 200px;
}
.nowidget.noinfo
  #footer_menu_widget_area
  #footer_menu.footer_menu_num4
  .footer_menu:last-child {
  margin: 0;
}

/* ウィジェット */
#footer_widget {
  float: right;
  width: 250px;
}
#footer_widget .footer_headline {
  margin: 0 0 25px 0;
  font-size: 14px;
  font-weight: normal;
  font-weight: normal;
}
#footer_widget .side_widget {
  margin: 0;
  font-size: 14px;
  position: relative;
}
#footer_widget .styled_post_list1_widget {
  border: none;
  padding: 0;
}
#footer_widget .styled_post_list1_widget .side_headline {
  margin: 0 0 20px;
  position: relative;
}
#footer_widget .widget_calendar {
  border: none;
  padding: 0;
}
#footer_widget .widget_search #search-box,
#footer_widget .widget_search #s,
#footer_widget .side_widget.google_search #s {
  background: #e2e2e2;
}
#footer_widget .project_list_widget li {
  width: 80px;
  height: 80px;
}
#footer_widget .project_list_widget li:nth-child(7),
#footer_widget .project_list_widget li:nth-child(8),
#footer_widget .project_list_widget li:nth-child(9) {
  margin-bottom: 0 !important;
}

/* フッター下部 */
#footer_bottom {
  background: #000;
  width: 100%;
  min-width: 1200px;
  height: 60px;
}
#footer_bottom_inner {
  width: 1200px;
  margin: 0 auto;
  height: 60px;
  position: relative;
}

/* SNSボタン */
#footer_social_link {
  position: absolute;
  top: 12px;
  z-index: 2;
}
#footer_social_link li {
  float: left;
  margin: 0 5px 0 0;
  position: relative;
}
#footer_social_link li a {
  display: block;
  text-indent: -200px;
  overflow: hidden;
  width: 30px;
  height: 30px;
  position: relative;
  -webkit-transition-property: none;
  -moz-transition-property: none;
  -o-transition-property: none;
}
#footer_social_link li:before {
  font-family: "design_plus";
  color: #fff;
  font-size: 17px;
  display: block;
  position: absolute;
  top: 10px;
  left: 9px;
  width: 17px;
  height: 17px;
  line-height: 17px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#footer_social_link li.twitter:before {
  content: "\e904";
}
#footer_social_link li.facebook:before {
  content: "\e902";
}
#footer_social_link li.insta:before {
  content: "\ea92";
  top: 11px;
}
#footer_social_link li.rss:before {
  content: "\e90b";
}
#footer_social_link li.twitter:hover:before {
  color: #16b9dc;
}
#footer_social_link li.facebook:hover:before {
  color: #3b5998;
}
#footer_social_link li.insta:hover:before {
  color: #8a3ab9;
}
#footer_social_link li.rss:hover:before {
  color: #ffcc00;
}

/* コピーライト */
#copyright {
  display: block;
  margin: auto;
  position: absolute;
  right: 0;
  left: 0;
  text-align: center;
  height: 60px;
  line-height: 60px;
  font-size: 12px;
  color: #fff;
  z-index: 1;
}
#copyright a {
  color: #fff;
}

/* ページ上部へ戻るボタン */
#return_top {
  display: none;
  position: fixed;
  right: 0px;
  bottom: 0px;
  z-index: 10;
  -webkit-transform: translate3d(0, 120%, 0);
  transform: translate3d(0, 120%, 0);
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
}
#return_top.active {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
#return_top a {
  position: relative;
  display: block;
  height: 60px;
  width: 60px;
  text-decoration: none;
  background: #333;
}
#return_top span {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: block;
}
#return_top a:hover {
  opacity: 1;
}
#return_top a:before {
  font-family: "design_plus";
  color: #fff;
  font-size: 18px;
  display: block;
  position: absolute;
  width: 23px;
  height: 23px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#return_top a:before {
  content: "\e911";
  top: 22px;
  left: 21px;
}

@media only screen and (min-width: 771px) {
  .dp-footer-bar {
    display: none !important;
  }
  body {
    padding-bottom: 0 !important;
  }
  #return_top {
    bottom: 0 !important;
  }
}

/* フッターボタン */
.footer_btn {
  width: 100%;
  height: 63px;
  background-color: #08242d;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-transform: translate3d(0, 120%, 0);
  transform: translate3d(0, 120%, 0);
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
}
.footer_btn.active {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.footer_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  width: 50%;
  height: 100%;
  text-align: center;
  position: relative;
}
.footer_btn a:first-of-type::after {
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  right: 0;

  background-color: #fff;
}

@media only screen and (min-width: 770px) {
  /* フッターボタン */
  .footer_btn {
    display: none;
    opacity: 0;
    pointer-events: all;
  }
  .footer_btn a {
    display: none;
  }
}

/* ローディングアイコン */
#site_wrap {
  display: none;
}
#site_loader_overlay {
  position: fixed;
  background: #fff;
  background: rgba(255, 255, 255, 1);
  top: 0px;
  left: 0px;
  bottom: 0px;
  right: 0px;
  z-index: 99999;
  opacity: 1;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
#site_loader_spinner {
  width: 60px;
  height: 60px;
  border-radius: 100%;
  margin-top: -30px;
  margin-left: -30px;
  border: 4px solid #ccc;
  border-top-color: #666;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  animation: loading 1.2s linear infinite;
  -webkit-animation: loading 1.2s linear infinite;
}
@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}

/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
/* 基本設定 */
.side_widget {
  margin: 0 0 50px 0;
  font-size: 14px;
  position: relative;
}
.side_widget:last-child,
.side_widget:only-child {
  margin: 0;
}
.side_headline {
  height: 55px;
  line-height: 55px;
  font-size: 14px;
  margin: 0 0 20px 0;
  background: #333;
  color: #fff;
  padding: 0 20px;
}
.side_widget ul {
  margin: 0;
}
.side_widget li ul {
  margin: 10px 0 0 0;
}
.side_widget li {
  line-height: 200%;
  padding: 2px 0;
  margin: 0 0 10px 0;
}
.side_widget a {
}
.side_widget a:hover {
}
.side_widget img {
  height: auto;
  max-width: 100%;
}

/* 広告 */
.ml_ad_widget {
  margin: 0 0 60px 0;
  border: none;
  padding: 0;
  background: none;
}
.ml_ad_widget img {
  height: auto;
  max-width: 100%;
  margin: 0 auto;
  display: block;
}

/* カレンダー */
.widget_calendar {
  border: 1px solid #ddd;
  padding: 15px;
}
.widget_calendar .side_headline {
  margin: -16px -16px 20px;
  position: relative;
}
#wp-calendar {
  margin: 0 auto;
  width: 100%;
  font-size: 11px;
  border-collapse: separate;
  table-layout: fixed;
}
#wp-calendar th,
#wp-calendar td {
  color: #333;
  padding: 2px;
  line-height: 340%;
  text-align: center;
}
#wp-calendar td a {
  display: block;
  margin: 0;
  padding: 0;
  text-decoration: none;
  color: #333;
  background-color: #eee;
}
#wp-calendar td a:hover {
  text-decoration: none;
  color: #fff;
  background: #ccc;
}
#wp-calendar caption {
  padding: 7px 0;
}
#wp-calendar thead th,
#wp-calendar tfoot td {
  border: none;
  padding: 0;
  line-height: 200%;
}
#wp-calendar #prev,
#wp-calendar #next {
  line-height: 300%;
}
#wp-calendar #prev a,
#wp-calendar #next a {
  text-decoration: none;
  background: none;
  color: #333;
}
#wp-calendar #prev a:hover,
#wp-calendar #next a:hover {
  color: #fff;
  background: #ccc;
}
#wp-calendar td#today {
  font-weight: bold;
}

/* デザインされた記事一覧１ */
.styled_post_list1_widget {
  /* border:1px solid #ddd; */
  padding: 0;
}
.styled_post_list1_widget .side_headline {
  margin: 0;
  position: relative;
}
.styled_post_list1 {
  margin: 0;
  padding: 0;
}
.styled_post_list1 li {
  margin: 0;
  padding: 0;
  background: none;
  border: 1px solid #ddd;
  border-top: 0;
}
.styled_post_list1 li:last-child {
  /* border:none; */
  padding: 0;
  margin: 0;
}
.styled_post_list1 .image {
  float: left;
  display: block;
  margin: 0 15px 0 0;
  overflow: hidden;
  width: 120px;
  height: 120px;
  position: relative;
  z-index: 2;
}
.styled_post_list1 .image img {
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  max-width: none;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
.styled_post_list1 .image:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}
.styled_post_list1 .info {
  padding: 18px;
}
.styled_post_list1 .title {
  font-size: 14px;
  margin: 0;
  padding: 0;
  display: block;
  font-weight: 400;
  line-height: 1.6;
}
.styled_post_list1 .date {
  margin: 0 0 5.8px 0;
  position: relative;
  display: block;
  line-height: 100%;
  font-size: 12px;
}

/* タブ記事 */
.tab_post_list_widget .styled_post_list1 li {
  border-left: 0;
  border-right: 0;
}
.tab_post_list_widget .styled_post_list1 li:last-child {
  border-bottom: 0;
}
.widget_tab_post_list_button a {
  display: inline-block;
  padding: 15px 0;
  width: 50%;
  text-align: center;
  border: 1px solid #ddd;
  float: left;
  margin-bottom: -1px;
  position: relative;
  background: #f7f7f7;
  text-decoration: none;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.widget_tab_post_list_button a.tab1 {
  border-right: 0;
}
.widget_tab_post_list_button a.active {
  background: #fff;
  border-bottom: 1px solid #fff;
}
.widget_tab_post_list {
  border: 1px solid #ddd;
}
.widget_tab_post_list2 {
  display: none;
}

/* 開閉式カテゴリー一覧 */
.tcdw_category_list_widget {
}
.tcdw_category_list_widget .side_headline {
  margin: 0;
}
.collapse_category_list ul {
  margin: 0;
  padding: 0;
}
.collapse_category_list li ul {
  margin: 0;
  padding: 0;
}
.collapse_category_list li {
  margin: 0;
  padding: 0;
  border: 1px solid #ddd;
  border-top: 0;
}
.collapse_category_list li li {
  margin: 0;
  padding: 0;
}
.collapse_category_list li a {
  /* border-bottom:1px solid #ddd */
  display: block;
  padding: 12px 20px;
  margin: 0;
  text-decoration: none;
  position: relative;
  color: #333;
  overflow: hidden;
  -webkit-transition-property: none;
  -moz-transition-property: none;
  -o-transition-property: none;
}
.collapse_category_list li a .count {
  float: right;
  top: 0px;
  position: relative;
  background: #f2f2f2;
  padding: 0 10px;
  min-width: 15px;
  text-align: center;
  font-size: 11px;
  border-radius: 2px;
}
.collapse_category_list li li a .count {
  background: #ddd;
}
.collapse_category_list li li li a .count {
  background: #aaa;
}
.collapse_category_list .parent_category a.active {
  margin: 0;
}
.collapse_category_list .children {
  display: none;
  margin-top: -4px;
}
.collapse_category_list .children a {
  padding-left: 22px;
  background-color: #eee;
  margin: 0;
}
.collapse_category_list ul .children a {
  padding-left: 33px;
  background-color: #bbb;
  color: #fff;
}
.collapse_category_list li a:before {
  content: "";
  display: block;
  position: absolute;
  left: -7px;
  top: 50%;
  top: -webkit-calc(50% - 4px);
  top: calc(50% - 4px);
  top: calc(50% - 4px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4.5px 0 4.5px 6px;
  border-color: transparent transparent transparent orange;
  -webkit-transition: -webkit-left 0.35s;
  transition: left 0.35s;
}
.collapse_category_list li a:hover:before {
  left: 8px;
}
.collapse_category_list li a:hover .count {
  background-color: orange;
  color: #fff;
}

/* 検索 */
.widget_search label {
  display: none;
}
.widget_search #search-box,
.widget_search #s,
.side_widget.google_search #s {
  width: 260px;
  height: 40px;
  margin: 0;
  border: none;
  background: #f2f2f2;
  padding: 0 10px;
}
.widget_search #search-btn input,
.widget_search #searchsubmit {
  border: none;
  width: 40px;
  height: 40px;
  background: #000 url(img/common/icon_search.png) no-repeat center;
  cursor: pointer;
  display: block;
  float: right;
  text-indent: -300%;
  overflow: hidden;
}
.side_widget.google_search #searchsubmit {
  font-family: "design_plus";
  color: #ddd;
  font-size: 18px;
  border: none;
  width: 40px;
  height: 40px;
  background: #222;
  cursor: pointer;
  display: block;
  float: right;
  overflow: hidden;
}
.widget_search #search-btn input:hover,
.widget_search #searchsubmit:hover,
.side_widget.google_search #searchsubmit:hover {
  background-color: #666;
}
.pc .three_column .widget_search #search-box,
.pc .three_column .widget_search #s,
.pc .three_column .side_widget.google_search #s {
  width: 176px;
}

/* アーカイブ、カテゴリードロップダウンメニュー */
.widget_archive,
.widget_categories,
.tcdw_archive_list_widget {
  background: #fff;
  padding: 17px 17px 15px;
}
.widget_archive {
  /* border:1px solid #ddd; border-bottom:none; */
  padding: 17px 0 0;
}
.widget_archive ul {
  margin: 0;
  padding: 0;
}
.widget_archive ul li {
  border: 1px solid #ddd;
  border-top: 0;
  margin: -17px 0 15px;
  display: block;
  padding: 12px 17px;
  margin: 0;
  text-decoration: none;
  position: relative;
  color: #333;
  overflow: hidden;
  -webkit-transition-property: none;
  -moz-transition-property: none;
  -o-transition-property: none;
}
.widget_archive .side_headline,
.widget_categories .side_headline,
.tcdw_archive_list_widget .side_headline {
  margin: -17px -17px 15px;
  position: relative;
}
.widget_archive .side_headline {
  margin: -17px 0 0;
}
.widget_archive select,
.widget_categories select,
.tcd_archive_dropdown select {
  border: 1px solid #ddd;
  padding: 12px 10px;
  width: 100%;
  margin: 0;
  font-size: 14px;
}
.widget_archive select {
  border: 1px solid #ddd;
  border-top: 0;
  padding: 12px;
}
.widget_archive label,
.widget_categories label {
  display: none;
}
.widget_archive select option,
.widget_categories select option,
.tcd_archive_dropdown option {
  background: #fff;
  color: #333;
}

/* デフォルトの最近の記事 */
.widget_recent_entries li {
  border-bottom: 1px dotted #ccc;
  padding: 0 0 15px 0;
}
.widget_recent_entries li:last-child {
  border: none;
  padding: 0;
}

/* プロジェクト */
.project_list_widget {
  overflow: hidden;
}
.project_list_widget .side_headline {
  margin-bottom: 5px;
}
.project_list_widget ol {
  margin: 0 -10px 0px 0;
  position: relative;
}
.project_list_widget li {
  float: left;
  margin: 0 5px 5px 0 !important;
  padding: 0 !important;
  width: 96px;
  height: 96px;
  overflow: hidden;
}
.project_list_widget .image {
  display: block;
  width: 96px;
  height: 96px;
}
.project_list_widget .image img {
  display: block;
  max-width: initial;
  width: 100%;
  height: 100%;
}

/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
/* 基本設定 */
#comments {
  font-size: 12px;
  margin: 0;
}
#comment_headline {
  font-size: 14px;
  margin: 0 0 20px 0;
}
#comment_area,
#trackback_area {
  margin: 15px 0 20px;
  padding: 0 0 5px 0;
}
#trackback_area {
  display: none;
}

/* コメント・トラックバックのタブ */
#comment_header {
  position: relative;
  margin: 0 0 25px;
}
#comment_header ul {
  margin: 0;
}
#comment_header ul li {
  float: left;
  text-align: center;
  margin: 0;
  width: 50%;
}
#comment_header ul li a,
#comment_header ul li p {
  font-size: 11px;
  padding: 15px 15px;
  line-height: 180%;
  display: block;
  color: #333;
  text-decoration: none;
  border: 1px solid #ccc;
}
#comment_header ul li a:hover {
  color: #fff !important;
  background: #333;
}
#comment_header ul li.comment_switch_active a,
#comment_header #comment_closed p {
  color: #fff;
  position: relative;
  background: #333;
}
#comment_header ul li.comment_switch_active a:after,
#comment_header #comment_closed p:after {
  position: absolute;
  bottom: -17px;
  left: 195px;
  content: "";
  width: 0;
  height: 0;
  border-width: 10px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}

/*  コメントの基本部分 */
.commentlist {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.comment {
  border: 1px solid #ccc;
  color: #777;
  margin: 0 0 15px;
  padding: 15px 20px 0;
  background: #fff;
}
#comments .post_content {
  margin: 20px 0 0;
  padding: 0;
  background: none;
}
.admin-comment {
}

/* コメントの情報部分 */
.comment-meta {
  position: relative;
  margin: 0 0 10px 0;
}

.comment-meta-left {
  float: left;
  width: 400px;
}
#comments .avatar {
  float: left;
  margin: 0 10px 0 0;
  background: #fff;
  width: 40px;
  height: 40px;
}
.comment-name-date {
  padding: 3px 0 0 0;
  height: 37px;
}

a.admin-url {
  text-decoration: underline;
}
a.guest-url {
  text-decoration: underline;
}

.comment-name-date {
  margin: 0;
}
.comment-date {
  font-size: 11px;
  color: #757676;
  margin: 10px 0 0 0;
}

.comment-act {
  background: url(img/common/arrow3.gif) no-repeat left;
  font-size: 11px;
  position: absolute;
  right: 0px;
  padding: 0 0 0 10px;
  margin: 5px 0 0 0;
}
.comment-act li {
  display: inline;
  margin: 0;
}
.comment-reply a,
.comment-reply a:visited {
  border-right: 1px solid #aaa;
  padding: 0 10px 0 0;
  margin: 0 6px 0 0;
}
.comment-edit a,
.comment-edit a:visited {
  border-left: 1px solid #aaa;
  padding: 0 0 0 10px;
  margin: 0 0 0 6px;
}

/* コメント本文 */
#comments .post_content p {
  margin: 0 0 15px 0;
}
#comments .post_content blockquote span {
  margin: 0 0 -1em 0;
  display: block;
}

/* メッセージ、警告文 */
.comment-note {
  display: block;
  font-size: 11px;
  margin: 0 0 1em 0;
  color: #33a8e5;
  border: 1px solid #94ddd4;
  padding: 10px 15px;
  background: #d6f4f0;
}
.comment_closed {
  border: 1px solid #ccc;
  text-align: center;
  margin: 0 35px 15px 0;
  padding: 15px;
  background: #fefefe;
}
.no_comment {
  padding-bottom: 15px;
}

/* トラックバック */
.trackback_time {
  font-size: 11px;
  color: #757676;
  margin: 0 0 7px 0px;
}
.trackback_title {
  margin: 2px 0 8px 0;
  margin: 0 0 10px 0px;
  line-height: 160%;
}

#trackback_url_area {
  margin: 0;
}
#trackback_url_area label {
  display: block;
  margin: 0 0 10px 0;
  font-size: 11px;
}
#trackback_url_area input {
  border: 1px solid #ccc;
  background: #fafafa;
  padding: 10px;
  width: 100%;
  font-size: 11px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* ページナビ */
#comment_pager {
  margin: 0 0 10px;
  height: 24px;
}
#comment_pager a,
#comment_pager span {
  display: inline;
  float: left;
  margin: 0 10px 0 0;
}
#comment_pager .current {
  text-decoration: underline;
}

/* コメントフォーム */
.comment_form_wrapper {
  border: 1px solid #ccc;
  margin: 0 0 0px;
  padding: 15px;
  background: #fff;
}
.comment .comment_form_wrapper {
  margin: 0 0 20px;
}

#cancel_comment_reply {
  background: url(img/common/arrow3.gif) no-repeat left center;
  margin: 0 0 1em 0;
  padding: 0 0 0 10px;
}

#comment_user_login p {
  padding: 0 0 0 1px;
  margin: 0;
  line-height: 100%;
}
#comment_user_login span {
  margin: 0 0 0 40px;
}

#comment_login {
  margin: 0;
  padding: 3px 30px 10px 30px;
}
#comment_login p {
  margin: 0;
  padding: 12px 0 11px 36px;
  line-height: 100%;
}
#comment_login a {
  margin: 0 0 0 20px;
  padding: 0 0 0 20px;
  background: url(img/common/arrow3.gif) no-repeat 10px 3px;
}

#guest_info {
  padding: 0;
  width: 100%;
}
#guest_info div {
  margin: 0 0 12px 0;
  text-align: left;
}
#guest_info input {
  margin: 0;
  padding: 5px 0;
  border: 1px solid #ccc;
  width: 100%;
  background: #fff;
  color: #777;
}
#guest_info input:focus {
  border: 1px solid #e48898;
}
#guest_info label {
  display: block;
  margin: 0 0 5px 0;
  padding: 0 0 0 0;
  font-size: 11px;
  color: #888;
}
#guest_info span {
  color: #666;
  margin: 0 10px 0 0;
}

#comment_textarea textarea {
  margin: 15px 0 0;
  width: 100%;
  height: 150px;
  border: 1px solid #ccc;
  background: #fff;
  color: #777;
  font-size: 11px;
  overflow: auto;
}
#comment_textarea textarea:focus {
  border: 1px solid #e48898;
}

#submit_comment_wrapper {
  text-align: center;
}
#submit_comment {
  background: #aaa;
  border: none;
  cursor: pointer;
  color: #fff;
  font-size: 14px;
  width: 200px;
  height: 50px;
  margin: 15px auto 0;
  display: block;
  -webkit-transition: background-color 200ms ease-in-out;
  -moz-transition: background-color 200ms ease-in-out;
  -o-transition: background-color 200ms ease-in-out;
  -ms-transition: background-color 200ms ease-in-out;
  transition: background-color 200ms ease-in-out;
}
#submit_comment:hover {
  background: #e48898;
}

#input_hidden_field {
  display: none;
}

/* パスワード保護 */
.password_protected {
  text-align: center;
  margin: 0 38px 30px;
  padding: 10px 20px;
  color: #fff;
  background: #3db4b2;
  border-radius: 5px;
}
.password_protected p {
  font-size: 12px;
  margin: 0;
  line-height: 160%;
}

/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */
/* alignment */
.post_content .alignright {
  float: right;
}
.post_content .alignleft {
  float: left;
}
.post_content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 7px;
}
.post_content blockquote.alignleft,
.post_content img.alignleft {
  margin: 7px 24px 7px 0;
}
.post_content .wp-caption.alignleft {
  margin: 7px 14px 7px 0;
}
.post_content blockquote.alignright,
.post_content img.alignright {
  margin: 7px 0 7px 24px;
}
.post_content .wp-caption.alignright {
  margin: 7px 0 7px 14px;
}
.post_content blockquote.aligncenter,
.post_content img.aligncenter,
.post_content .wp-caption.aligncenter {
  margin-top: 7px;
  margin-bottom: 7px;
}

/* text and headline */
.post_content p {
  line-height: 2.5;
  /* margin: 0 0 2em 0; */
  margin: 0 0 1em 0;
}
.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5,
.post_content h6 {
  clear: both;
  line-height: 1.2;
  font-weight: 600;
  margin: 0 0 10px 0;
  padding: 10px 0 0 0;
}
.post_content h1 {
  font-size: 150%;
}
.post_content h2 {
  font-size: 140%;
}
.post_content h3 {
  font-size: 130%;
}
.post_content h4 {
  font-size: 120%;
}
.post_content h5 {
  font-size: 110%;
}
.post_content h6 {
  font-size: 100%;
}

/* image */
.post_content img[class*="align"],
.post_content img[class*="wp-image-"],
.post_content img[class*="attachment-"],
.post_content img.size-full,
.post_content img.size-large,
.post_content .wp-post-image,
.post_content img {
  height: auto;
  max-width: 100%;
}

/* list */
.post_content li,
.post_content dt,
.post_content dd {
  line-height: 2.2;
}
.post_content ul,
.post_content ol,
.post_content dl {
  margin-bottom: 24px;
}
.post_content ol {
  list-style: decimal outside none;
  margin-left: 1.5em;
}
.post_content ul {
  list-style: circle outside none;
  margin-left: 1.3em;
}
.post_content li > ul,
.post_content li > ol {
  margin-bottom: 0;
}
.post_content dt {
  font-weight: bold;
}
.post_content dd {
  margin-bottom: 1em;
}

/* table */
.post_content table {
  margin: 0 0 24px 0;
  width: 100% !important;
}
.post_content td,
.post_content th {
  border: 1px solid #bbb;
  padding: 10px 15px;
  line-height: 2.2;
}
.post_content th {
  background: #ddd;
  font-weight: normal;
}
/* table style */
.post_content table.table_no_border th,
.post_content table.table_no_border td {
  border: none;
  padding-left: 0;
}
.post_content table.table_border_horizontal th,
.post_content table.table_border_horizontal td {
  border-left: none;
  border-right: none;
  padding-left: 0;
}

/* block quote */
.post_content blockquote {
  margin: 0 0 25px 0;
  padding: 27px 30px 0;
  border: 1px solid #ccc;
  box-shadow: 0px 4px 0px 0px #f2f2f2;
  position: relative;
}
.post_content blockquote:before {
  content: '"';
  font-style: italic;
  font-size: 30px;
  font-weight: normal;
  line-height: 40px;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 5px;
  left: 10px;
  color: #5cbcd7;
}
.post_content blockquote:after {
  content: '"';
  font-style: italic;
  font-size: 30px;
  font-weight: normal;
  text-align: left;
  line-height: 60px;
  width: 30px;
  height: 30px;
  position: absolute;
  bottom: 7px;
  right: -2px;
  color: #5cbcd7;
}
.post_content blockquote cite {
  border-top: 1px dotted #aaa;
  display: block;
  padding: 20px 0 0 0;
  font-style: italic;
  text-align: right;
  font-size: 90%;
}

/* captions */
.post_content .wp-caption {
  margin-bottom: 24px;
  background: #fff;
  border: 1px solid #ccc;
  padding: 5px;
  max-width: 100%;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.post_content .wp-caption-text {
  text-align: center;
  font-size: 12px;
  font-style: italic;
  line-height: 1.5;
  margin: 9px auto;
}
.post_content .wp-caption img[class*="wp-image-"] {
  display: block;
  margin: 0 auto;
}

/* gallery */
.gallery {
  margin-bottom: 20px;
}
.gallery a img {
  border: 0 !important;
}
.gallery-item {
  float: left;
  margin: 0 4px 4px 0;
  overflow: hidden;
  position: relative;
}
.gallery-columns-1 .gallery-item {
  max-width: 100%;
}
.gallery-columns-2 .gallery-item {
  max-width: 48%;
  max-width: -webkit-calc(50% - 4px);
  max-width: calc(50% - 4px);
}
.gallery-columns-3 .gallery-item {
  max-width: 32%;
  max-width: -webkit-calc(33.3% - 4px);
  max-width: calc(33.3% - 4px);
}
.gallery-columns-4 .gallery-item {
  max-width: 23%;
  max-width: -webkit-calc(25% - 4px);
  max-width: calc(25% - 4px);
}
.gallery-columns-5 .gallery-item {
  max-width: 19%;
  max-width: -webkit-calc(20% - 4px);
  max-width: calc(20% - 4px);
}
.gallery-columns-6 .gallery-item {
  max-width: 15%;
  max-width: -webkit-calc(16.7% - 4px);
  max-width: calc(16.7% - 4px);
}
.gallery-columns-7 .gallery-item {
  max-width: 13%;
  max-width: -webkit-calc(14.28% - 4px);
  max-width: calc(14.28% - 4px);
}
.gallery-columns-8 .gallery-item {
  max-width: 11%;
  max-width: -webkit-calc(12.5% - 4px);
  max-width: calc(12.5% - 4px);
}
.gallery-columns-9 .gallery-item {
  max-width: 9%;
  max-width: -webkit-calc(11.1% - 4px);
  max-width: calc(11.1% - 4px);
}
.gallery-columns-10 .gallery-item {
  max-width: 7%;
  max-width: -webkit-calc(9.4% - 0px);
  max-width: calc(9.4% - 0px);
}
.gallery-columns-1 .gallery-item:nth-of-type(1n),
.gallery-columns-2 .gallery-item:nth-of-type(2n),
.gallery-columns-3 .gallery-item:nth-of-type(3n),
.gallery-columns-4 .gallery-item:nth-of-type(4n),
.gallery-columns-5 .gallery-item:nth-of-type(5n),
.gallery-columns-6 .gallery-item:nth-of-type(6n),
.gallery-columns-7 .gallery-item:nth-of-type(7n),
.gallery-columns-8 .gallery-item:nth-of-type(8n),
.gallery-columns-9 .gallery-item:nth-of-type(9n),
.gallery-columns-10 .gallery-item:nth-of-type(10n) {
  margin-right: 0;
}
.gallery-caption {
  background-color: rgba(0, 0, 0, 0.7);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
  max-height: 50%;
  opacity: 0;
  padding: 6px 8px;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: left;
  width: 100%;
}
.gallery-caption:before {
  content: "";
  height: 100%;
  min-height: 49px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.gallery-item:hover .gallery-caption {
  opacity: 1;
}
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption,
.gallery-columns-10 .gallery-caption {
  display: none;
}

/* etc */
.post_content .wp-smiley {
  border: 0;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}
.post_content address {
  margin: 0 0 24px 0;
  line-height: 2.2;
}
.post_content pre {
  border-left: 5px solid #7fc120;
  font-size: 12px;
  margin: 0 0 27px 0;
  line-height: 25px;
  background: url(img/common/pre.gif) repeat left top;
  padding: 0 17px;
  overflow: auto;
}
.post_content .sticky {
}
.post_content .mejs-container {
  margin: 12px 0 25px;
}

/* MONOLITH用の pagebuilder のスタイル */
.post_content .pb_headline {
  font-weight: normal;
}
.post_content .pb_catchcopy {
  font-weight: normal;
}
.post_content .pb-widget-editor {
  line-height: 2.2;
}
#post_pagination p + a {
  border-left: none;
}
#project_info table,
#project_info tbody,
#project_info tfoot,
#project_info thead,
#project_info tr,
#project_info th,
#project_info td {
  padding-top: 0;
  padding-bottom: 0;
}

/* gallery caption */
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
  box-sizing: border-box;
}
.post_content ul.wp-block-gallery {
  margin-left: 0;
}

/* ----------------------------------------------------------------------
 contact ページ
---------------------------------------------------------------------- */
/* contact_top */
.brSp {
  display: none;
}
#contact_top {
  background: url(../monolith_tcd042/img/contact/bgContactTop.jpg) center /
    cover no-repeat;
  width: max(1250px, 100%);
  height: max(calc(640vw / 1920 * 100), calc(640 / 1920 * 1250px));
  margin: 0 auto;
}
#contact_top .inner {
  width: 1380px;
  max-width: calc(100% - 40px);
  margin: 0 auto;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#contact_top .boxTxt {
  color: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
#contact_top .boxTxt .txt01 {
  font-size: 24px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 1px;
}
#contact_top .boxTxt .txt02 {
  font-size: 72px;
  font-weight: 700;
  line-height: 1.528;
  letter-spacing: 2px;
  margin-top: 15px;
}
#contact_top .boxTxt .txt03 {
  font-size: 25px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 10px;
  background: #ec6f98;
  margin-top: 35px;
}
#contact_top .boxTxt .txtVertical {
  position: absolute;
  top: -36px;
  left: -80px;
}
#contact_top .boxTxt .boxImg {
  width: 743px;
  height: 446px;
  position: absolute;
  top: 0;
  right: -130px;
  bottom: 0;
  margin: auto;
}
#contact_top .boxTxt .boxImg img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 1720px) {
  #contact_top .boxTxt {
    padding-left: 56px;
  }
  #contact_top .boxTxt .txt02 {
    margin-top: 0;
  }
  #contact_top .boxTxt .txt03 {
    margin-top: 20px;
  }
  #contact_top .boxTxt .txtVertical {
    top: -15px;
    left: 0;
    width: 17px;
  }
  #contact_top .boxTxt .txtVertical img {
    width: 100%;
    height: auto;
  }
  #contact_top .boxTxt .boxImg {
    width: 546px;
    height: 328px;
    right: 2px;
  }
}
@media screen and (max-width: 1420px) {
  #contact_top .boxTxt .txt01 {
    font-size: 20px;
  }
  #contact_top .boxTxt .txt02 {
    font-size: 65px;
  }
  #contact_top .boxTxt .txt03 {
    font-size: 18px;
    margin-top: 10px;
  }
  #contact_top .boxTxt .boxImg {
    width: 453px;
    height: 272px;
    right: auto;
    left: 755px;
  }
}

/* ----------------------------------------------------------------------
 contact 完了ページ
---------------------------------------------------------------------- */
#contact_ok {
  text-align: center;
  padding-top: 50px;
}
#contact_ok .tit {
  font-size: 30px;
}
#contact_ok .txt {
  font-size: 16px;
  line-height: 2;
  margin-top: 40px;
}
#contact_ok .aBtnLink {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 225px;
  height: 48px;
  margin: 60px auto 0;
  background-color: #333333;
  cursor: pointer;
  border: none !important;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.5;
  outline: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#contact_ok .aBtnLink:hover {
  background-color: #666666;
}
.brPc {
  display: inline;
}

/* ----------------------------------------------------------------------
 event 完了ページ
---------------------------------------------------------------------- */
#event_ok {
  text-align: center;
  padding-top: 50px;
}
#event_ok .tit {
  font-size: 30px;
}
#event_ok .txt {
  font-size: 16px;
  line-height: 2;
  margin-top: 40px;
}
#event_ok .aBtnLink {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 225px;
  height: 48px;
  margin: 60px auto 0;
  background-color: #333333;
  cursor: pointer;
  border: none !important;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.5;
  outline: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#event_ok .aBtnLink:hover {
  background-color: #666666;
}
.brPc {
  display: inline;
}

/* ----------------------------------------------------------------------
 lineup 詳細 ページ
---------------------------------------------------------------------- */

/* .pageLineupDetails */
.pageLineupDetails {
  padding-bottom: 30px;
}
.pageLineupDetails * {
  box-sizing: border-box;
}
.pageLineupDetails .wrapper1380 {
  width: calc(100% - 40px);
  max-width: 1380px;
  margin: 0 auto;
}
.pageLineupDetails #bread_crumb {
  margin: 0;
  background: #f7f7f7;
}
.pageLineupDetails #bread_crumb ul {
  max-width: 1380px;
  width: calc(100% - 40px);
}

/* lineupDetailsTop */
.lineupDetailsTop {
  height: 600px;
  background: top center no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 14px;
  box-sizing: border-box;
}
.pageLineup01 .lineupDetailsTop {
  background-image: url(./img/lineup/bgTop01.jpg);
}
.pageLineup02 .lineupDetailsTop {
  background-image: url(./img/lineup/bgTop02.jpg);
}
.pageLineup03 .lineupDetailsTop {
  background-image: url(./img/lineup/bgTop03.jpg);
}
.lineupDetailsTop .boxTxt {
  text-align: center;
}
.lineupDetailsTop .boxTxt .titJp {
  font-size: 50px;
  font-weight: 700;
  letter-spacing: 5px;
  line-height: 1.4;
  text-align: center;
}
.lineupDetailsTop .boxTxt .titJp .txt01,
.lineupDetailsTop .boxTxt .titJp .txt02 {
  background: #fff;
  line-height: 1;
  display: inline-block;
  padding: 1px 5px;
}
.lineupDetailsTop .boxTxt .titEn {
  display: inline-block;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 5px;
  margin-top: 30px;
  background: #fff;
  padding: 1px 5px 3px;
}

/* lineupDetailsMain */
.lineupDetailsMain {
  padding-top: 60px;
}

/* .secIntro */
.lineupDetailsMain .secIntro .inner {
  display: flex;
  justify-content: flex-start;
}
.lineupDetailsMain .secIntro .boxImg {
  width: calc(650 / 1380 * 100%);
}
.lineupDetailsMain .secIntro .boxTxt {
  width: calc(730 / 1380 * 100%);
  padding: 50px 0 0 97px;
  box-sizing: border-box;
}
.lineupDetailsMain .secIntro .boxTxt .tit {
  font-size: 32px;
  font-weight: 700;
  line-height: 2.1875;
  letter-spacing: 3px;
}
.lineupDetailsMain .secIntro .boxTxt .txt {
  font-size: 16px;
  line-height: 2.8125;
  letter-spacing: 1px;
  margin-top: 24px;
}
@media screen and (max-width: 1340px) {
  .lineupDetailsMain .secIntro .boxTxt {
    padding: 25px 0 0 54px;
  }
}

/* secGallery */
.lineupDetailsMain .secGallery {
  margin-top: 130px;
}
.lineupDetailsMain .secGallery .secCmnTit {
  z-index: 1;
  position: relative;
}

/* #sliderGallery */
#sliderGallery {
  overflow: hidden;
  position: relative;
  padding: 18px 0 100px;
  background: #f7f7f7;
  margin-top: -92px;
}
#sliderGallery::after {
  content: "";
  width: 50%;
  height: 500px;
  background: #fff;
  position: absolute;
  top: 0;
  right: 0;
}
#sliderGallery .swiper-container {
  width: 1200px;
  overflow: visible;
  margin-top: 60px;
}

#sliderGallery .boxBtn {
  position: relative;
  height: 70px;
}
#sliderGallery .btnIn {
  width: 160px;
  height: 70px;
  position: absolute;
  top: 0;
  right: 0;
}
#sliderGallery .swiper-button-next,
#sliderGallery .swiper-button-prev {
  background: #fff url(./img/common/iconArrow140_140_black.png) center / contain
    no-repeat;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 1px solid #333;
  overflow: hidden;
  margin: auto;
  top: 0;
  bottom: 0;
  transition-property: background-color, color, opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}
#sliderGallery .swiper-button-next:hover,
#sliderGallery .swiper-button-prev:hover {
  background: url(./img/common/iconArrow140_140_white.png) center / contain
    no-repeat;
  background-color: #00516c;
  border: 1px solid #00516c;
  opacity: 0.8;
}
#sliderGallery .swiper-button-next {
  right: 0;
}
#sliderGallery .swiper-button-prev {
  transform: rotateZ(180deg);
  left: 0;
}
#sliderGallery .swiper-button-next:after,
#sliderGallery .swiper-button-prev:after {
  display: none;
}

/* secFeature */
.lineupDetailsMain .secFeature {
  padding-top: 90px;
}
.lineupDetailsMain .secFeature .secCmnTit {
  text-align: center;
}
.lineupDetailsMain .secFeature .featureBody {
  margin-top: 80px;
}
.lineupDetailsMain .secFeature .featureItem {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
}
.lineupDetailsMain .secFeature .featureItem + .featureItem {
  margin-top: 80px;
}
.lineupDetailsMain .secFeature .boxImg {
  width: calc(650 / 1380 * 100%);
}
.lineupDetailsMain .secFeature .boxTxt {
  width: calc(730 / 1380 * 100%);
  padding: 84px 25px 0 109px;
}
.lineupDetailsMain .secFeature .boxTxt .itemTit {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 5px;
  line-height: 2;
  position: relative;
}
.lineupDetailsMain .secFeature .boxTxt .itemTit .num {
  font-size: 26px;
  font-weight: 300;
  letter-spacing: 2px;
  position: absolute;
  top: -52px;
  left: -43px;
}
.lineupDetailsMain .secFeature .boxTxt .itemTit .num::after {
  content: "";
  width: 42px;
  height: 1px;
  background: #333;
  transform: rotateZ(-45deg);
  position: absolute;
  right: -31px;
  bottom: 9px;
}
.lineupDetailsMain .secFeature .boxTxt .itemTxt {
  font-size: 16px;
  line-height: 2.8125;
  letter-spacing: 1px;
  margin-top: 14px;
}
.lineupDetailsMain .secFeature .sideTit {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: 8px;
  color: #d7d7d7;
  transform: rotateZ(90deg) translateX(100%);
  transform-origin: top right;
  position: absolute;
  top: 0;
  right: 0;
  padding-left: 30px;
}
.lineupDetailsMain .secFeature .sideTit::before {
  content: "";
  width: 20px;
  height: 1px;
  background: #d7d7d7;
  position: absolute;
  top: 2px;
  bottom: 0;
  left: 0;
  margin: auto;
}
.lineupDetailsMain .secFeature .featureItem:nth-child(2n) {
  flex-direction: row-reverse;
}
.lineupDetailsMain .secFeature .featureItem:nth-child(2n) .boxTxt {
  padding: 84px 25px 0 114px;
}
.lineupDetailsMain .secFeature .featureItem:nth-child(2n) .sideTit {
  transform: rotateZ(90deg) translate(0, -100%);
  transform-origin: top left;
  right: auto;
  left: 0;
}
@media screen and (max-width: 1360px) {
  .lineupDetailsMain .secFeature .boxTxt .itemTit {
    font-size: 30px;
  }
  .lineupDetailsMain .secFeature .boxTxt .itemTxt {
    font-size: 15px;
    letter-spacing: 0.3px;
  }
}

/* secPlan */
.lineupDetailsMain .secPlan {
  margin-top: 100px;
  overflow: hidden;
  padding-top: 200px;
}
.lineupDetailsMain .secPlan .inner {
  width: 1920px;
  margin-left: calc(50% - 960px);
  padding: 1px 0 100px;
  background: #f7f7f7;
  position: relative;
}
.lineupDetailsMain .secPlan .inner::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 960px 200px 960px;
  border-color: transparent transparent #f7f7f7 transparent;
  position: absolute;
  top: -200px;
  left: 0;
  right: 0;
  z-index: -1;
  margin: auto;
}
.lineupDetailsMain .secPlan .secCmnTit {
  text-align: center;
  margin-top: -108px;
  padding-bottom: 50px;
  position: relative;
}
.lineupDetailsMain .secPlan .secCmnTit::after {
  content: "";
  width: 50px;
  height: 1px;
  background: #333;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.lineupDetailsMain .secPlan .secTxt {
  text-align: center;
  margin-top: 44px;
}
.lineupDetailsMain .secPlan .secTxt .subTit {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1.5;
  color: #00698c;
}
.lineupDetailsMain .secPlan .secTxt .txt {
  font-size: 14px;
  letter-spacing: 0.5px;
  line-height: 1.75;
  margin-top: 28px;
}
.lineupDetailsMain .secPlan .secImg {
  margin-top: 53px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  height: 730px;
}
.lineupDetailsMain .secPlan .secImg .boxLeft {
  width: calc(900 / 1380 * 100%);
  height: 100%;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 30px;
}
.lineupDetailsMain .secPlan .secImg .boxLeft .boxFm {
  width: 100%;
  height: 100%;
}
.lineupDetailsMain .secPlan .secImg .boxLeft .fmTit {
  font-size: 32px;
  font-weight: 300;
  line-height: 1.375;
  letter-spacing: 3px;
  position: absolute;
  top: -24px;
  left: 44px;
}
.lineupDetailsMain .secPlan .secImg .boxRight {
  width: calc(470 / 1380 * 100%);
  height: 100%;
  margin-left: calc(10 / 1380 * 100%);
}
.lineupDetailsMain .secPlan .secImg .boxRight .boxImg {
  width: 100%;
  height: calc((100% - 10px) / 2);
  display: block;
}
.lineupDetailsMain .secPlan .secImg .boxRight .boxImg + .boxImg {
  margin-top: 10px;
}
.lineupDetailsMain .secPlan .secCmnTit.wrapper1380,
.lineupDetailsMain .secPlan .secTxt.wrapper1380,
.lineupDetailsMain .secPlan .secImg.wrapper1380 {
  width: clamp(1210px, calc(100vw - 40px), 1380px);
}
.lineupDetailsMain .secPlan a[data-lightbox] {
  pointer-events: none;
}

/* secComment */
.lineupDetailsMain .secComment {
  padding-top: 250px;
}
.lineupDetailsMain .secComment .inner {
  width: calc(100% - 40px);
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 80px 65px;
  position: relative;
  background: #fff;
  border: 1px solid #333;
}
.lineupDetailsMain .secComment .inner::before {
  content: "";
  background: url(./img/lineup/img3Dots.png) center / contain no-repeat;
  width: 20px;
  height: 100px;
  position: absolute;
  top: -260px;
  left: 0;
  right: 0;
  margin: auto;
}
.lineupDetailsMain .secComment .inner::after {
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid #333;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: -1;
}
.lineupDetailsMain .secComment .boxImg {
  width: 220px;
  height: 220px;
  margin: -80px auto 0;
  position: relative;
}
.lineupDetailsMain .secComment .boxImg .tit {
  width: 216px;
  height: 60px;
  position: absolute;
  top: -33px;
  left: 0;
  right: 0;
  z-index: -1;
  margin: auto;
}
.lineupDetailsMain .secComment .boxImg .boxPerson {
  border-radius: 50%;
  overflow: hidden;
}
.lineupDetailsMain .secComment .boxImg .name {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #ec6f98;
  text-shadow: 2px 2px 1px rgba(255, 255, 255), -2px 2px 1px rgba(255, 255, 255),
    2px -2px 1px rgba(255, 255, 255), -2px -2px 1px rgba(255, 255, 255),
    2px 0px 1px rgba(255, 255, 255), 0px 2px 1px rgba(255, 255, 255),
    -2px 0px 1px rgba(255, 255, 255), 0px -2px 1px rgba(255, 255, 255);
  text-align: center;
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: auto;
}
.lineupDetailsMain .secComment .boxTxt {
  font-size: 18px;
  font-weight: 500;
  line-height: 2.667;
  margin-top: 22px;
}

/* secBnrLink */
.lineupDetailsMain .secBnrLink {
  position: relative;
  margin-top: 219px;
  padding-top: 1px;
}
.lineupDetailsMain .secBnrLink::before {
  content: "";
  width: 1380px;
  max-width: calc(100% - 40px);
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: #f7f7f7;
}
.lineupDetailsMain .secBnrLink .txtMsg {
  font-size: 32px;
  font-weight: 700;
  line-height: 2.1875;
  letter-spacing: 4px;
  text-align: center;
  margin-top: -109px;
}
.lineupDetailsMain .secBnrLink .txtMsg .reverse {
  display: inline-block;
  line-height: 1.125;
  background: #00698c;
  color: #fff;
  padding: 1px 0 3px;
}
.lineupDetailsMain .secBnrLink .boxBnr {
  display: block;
  margin-top: 60px;
}

/* ----------------------------------------------------------------------
 reform page
---------------------------------------------------------------------- */
.reformTopTxt {
  font-size: 18px;
  line-height: 44px;
  text-align: center;
  font-weight: 600;
}

/*==============================
    230127
==============================*/
/*-----------------------------------------------
    formFv
-----------------------------------------------*/
.contactArticle {
  overflow: hidden;
}
.formFv {
  width: 100%;
  height: 560px;
  background: url(../monolith_tcd042/img/contact/contactBgFv.jpg) center / cover
    no-repeat;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 80px 0 0 0;
}
.formFv .txtBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.formFv .fvTxt {
  font-size: 22px;
  line-height: 22px;
  font-weight: bold;
  color: #08242d;
}
.formFv .lineTxt {
  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 5px;
}
.formFv .lineTxt.bgYellow {
  background: #fff100;
}
.formFv .lineTxt.bgBlack {
  background: #08242d;
}
.formFv .fvTit {
  font-size: 40px;
  font-weight: bold;
  line-height: 66px;
  color: #fff;
  margin-top: 30px;
}
.formFv .fvList {
  margin: 80px auto 0;
  width: calc(100% - 40px);
  max-width: 1200px;
}
.formFv .fvList ul {
  display: flex;
  justify-content: space-between;
}
.formFv .fvList ul li {
  width: 30%;
  height: 173px;
  border: 1px solid #fff;
  background-color: rgba(8, 36, 45, 60%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 45px;
}
.formFv .fvList ul li .icon {
  margin: -20px auto 0;
  width: 90px;
  height: 90px;
  border-radius: 100%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.formFv .fvList ul li .listTxt {
  font-size: 16px;
  line-height: 28px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .formFv {
    width: 100%;
    height: 440px;
    background: url(../monolith_tcd042/img/contact/contactBgFvSp.jpg) center /
      cover no-repeat;
    padding: 40px 0 0 0;
  }
  .formFv .txtBox {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .formFv .fvTxt {
    font-size: 12px;
    line-height: 25px;
  }
  .formFv .fvTit {
    font-size: 17px;
    line-height: 32px;
    margin-top: 5px;
  }
  .formFv .fvList {
    margin: 30px auto 0;
    width: 92%;
  }
  .formFv .fvList ul {
    flex-direction: column;
  }
  .formFv .fvList ul li {
    width: 100%;
    height: 70px;
    flex-direction: row;
    justify-content: flex-start;
    padding-bottom: 0;
  }
  .formFv .fvList ul li + li {
    margin-top: 10px;
  }
  .formFv .fvList ul li .icon {
    margin: 0;
    width: 40px;
    height: 43px;
    border-radius: 0;
    padding: 14px;
    margin-top: -2px;
  }
  .formFv .fvList ul li .icon img {
    width: 100%;
    height: auto;
  }
  .formFv .fvList ul li .listTxt {
    font-size: 12px;
    line-height: 18px;
    text-align: left;
    padding-left: 10px;
  }
}
@media only screen and (max-width: 360px) {
  .formFv .fvTit {
    font-size: 16px;
  }
  .formFv .fvList ul li .listTxt {
    font-size: 11px;
  }
}
/*-----------------------------------------------
    formTitBox
-----------------------------------------------*/
.formTitBox {
  text-align: center;
}
.formTitBox .txtmin {
  font-size: 20px;
  margin-top: 35px;
  color: #33373d;
}
.formTitBox .txtmin02 {
  position: relative;
  font-size: 14px;
  line-height: 28px;
  margin-top: 30px;
  padding-top: 26px;
}
.formTitBox .txtmin02::before {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.formTitBox .txtSub {
  font-size: 12px;
  margin-top: 10px;
}
.formTitBox .fRed {
  color: #cd2929;
}
@media only screen and (max-width: 767px) {
  .formTitBox .titImg {
    width: 164px;
    height: auto;
    margin: 0 auto;
  }
  .formTitBox .txtmin {
    font-size: 14px;
    margin-top: 20px;
  }
  .formTitBox .txtSub {
    font-size: 10px;
  }
  .formTitBox .txtmin02 {
    font-size: 12px;
    line-height: 20px;
    margin-top: 20px;
    padding-top: 16px;
  }
}

/*-----------------------------------------------
    catalogBox
-----------------------------------------------*/
.catalogBox {
  margin: 99px auto 0;
  width: calc(100% - 40px);
  max-width: 1200px;
}
.catalogBox .catalogSelect {
  margin: 50px auto 0;
}
.catalogBox .catalogSelect .txtError {
  display: none;
  color: #f00;
  font-size: 12px;
  background: url(../monolith_tcd042/img/common/iconError.png) left 2px
    no-repeat;
  background-size: 14px;
  padding: 0 0 0 17px;
  margin-bottom: 20px;
  line-height: 1.5;
  display: inline-block;
}
.catalogBox .catalogSelect ul {
  display: flex;
  flex-wrap: wrap;
}
.catalogBox .catalogSelect ul .selectItem {
  position: relative;
  border: 1px solid #000;
  width: 48%;
  margin-bottom: 59px;
  padding-bottom: 120px;
  background-color: #f5f5f5;
}
.catalogBox .catalogSelect ul .selectItem:nth-child(odd) {
  margin-right: 3.41%;
}
.catalogBox .catalogSelect ul .selectItem .imgBox {
  padding: 30px 0;
  background: #fff;
}
.catalogBox .catalogSelect ul .selectItem .img {
  height: 0;
  padding-top: 53.834%;
  width: 89.898%;
  margin: 0 auto;
}
.catalogBox .selectItem span {
  display: block;
}
.catalogBox .selectItem .item {
  transition: opacity 0.2s ease-out;
  cursor: pointer;
  height: 100%;
}
.catalogBox .selectItem .item:hover {
  opacity: 0.8;
}
.catalogBox .catalogSelect ul .selectItem .txtBox {
  padding: 30px 35px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.catalogBox .catalogSelect ul .selectItem .tit {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
  margin: 30px auto 25px;
}
.catalogBox .catalogSelect ul .selectItem .txt {
  font-size: 15px;
  line-height: 30px;
  color: #3f3b35;
}
.catalogBox .selectItem .btnOff,
.catalogBox .selectItem .btnOn {
  width: 400px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 2px;
  margin: 25px auto 0;
  color: #fff;
  box-shadow: 0 5px 0 rgb(0 0 0 / 4%);
  border-radius: 5px;
  position: absolute;
  bottom: 50px;
  left: calc(50% - 200px);
}
.catalogBox .btnOff {
  background: #3387a3;
}
.catalogBox .btnOn {
  background: #08242d;
  border: none;
}
.catalogBox input[type="checkbox"] {
  visibility: hidden;
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: -1;
}
.catalogBox input[type="checkbox"]:not(:checked) + .item .btnOn,
.catalogBox input[type="checkbox"]:checked + .item .btnOff {
  display: none;
}
@media only screen and (max-width: 767px) {
  .catalogBox {
    margin: 40px auto 0;
    width: 89.336%;
  }
  .catalogBox + .catalogBox .formTitBox .titImg {
    width: 283px;
  }
  .catalogBox .catalogSelect {
    margin: 20px auto 0;
  }
  .catalogBox .catalogSelect ul {
    flex-direction: column;
  }
  .catalogBox .catalogSelect ul .selectItem {
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 0;
  }
  .catalogBox .catalogSelect ul .selectItem:nth-child(odd) {
    margin-right: 0;
  }
  .catalogBox .catalogSelect ul .selectItem .imgBox {
    padding: 15px 0;
  }
  .catalogBox .catalogSelect ul .selectItem .img {
    height: 0;
    padding-top: 53.834%;
    width: 77.78%;
    margin: 0 auto;
  }
  .catalogBox .catalogSelect ul .selectItem .txtBox {
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .catalogBox .catalogSelect ul .selectItem .tit {
    font-size: 14px;
    line-height: 1.3;
    margin: 0 auto 10px;
  }
  .catalogBox .catalogSelect ul .selectItem .txt {
    font-size: 12px;
    line-height: 20px;
  }
  .catalogBox .selectItem .selectBtn {
    width: 74.58%;
  }
  .catalogBox .selectItem .btnOff,
  .catalogBox .selectItem .btnOn {
    width: 100%;
    height: 45px;
    font-size: 13px;
    margin: 15px auto 0;
    position: static;
    letter-spacing: 0.5px;
  }
}

.contactArticle .post_content {
  width: 850px;
  margin: 70px auto 0;
}
@media only screen and (max-width: 767px) {
  .contactArticle .post_content {
    width: 89.336%;
    margin: 30px auto 0;
  }
}

/*-----------------------------------------------
  event_col
-----------------------------------------------*/
#event_col {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 25px auto 0;
}
#event_col .eventTitBox {
  width: 100%;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 25px 0;
}
#event_col .eventTitBox .topBox {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
#event_col .eventTitBox .topBox .eventIcon .icon {
  width: 100px;
  height: 34px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  background-color: #08242d;
  letter-spacing: 1px;
}
#event_col .eventTitBox .topBox .eventIcon .icon a {
  color: inherit;
}
#event_col .eventTitBox .topBox .eventIcon .icon.iconBefore {
  background-color: #3387a3;
}
#event_col .eventTitBox .topBox .eventIcon .icon.iconNow {
  color: #08242d;
  background-color: #fff100;
}
#event_col .eventTitBox .topBox .eventIcon .icon.iconAfter {
  background-color: #aaaaaa;
}
#event_col .eventTitBox .topBox .dateBox {
  display: flex;
  align-items: center;
  margin-left: 19px;
}
#event_col .eventTitBox .topBox .dateBox p {
  font-size: 14px;
}
#event_col .eventTitBox .topBox .dateBox p + p {
  position: relative;
  padding-left: 16px;
  margin-left: 16px;
}
#event_col .eventTitBox .topBox .dateBox p + p::after {
  content: "";
  display: block;
  width: 1px;
  height: 34px;
  background-color: #ccc;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
#event_col .eventTitBox .btmBox .eventTit {
  font-size: 22px;
  font-weight: bold;
  line-height: 36px;
}
#event_col .aboutBox {
  padding-top: 80px;
  border-top: 1px solid #cccccc;
}
#event_col .boxInfo {
  position: relative;
}
#event_col .boxDateEnd {
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 90%);
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#event_col .boxDateEnd .endTxt {
  font-size: 17px;
  line-height: 32px;
  color: #fff;
  margin-top: 8px;
  text-align: center;
}
#event_col .boxInfo .boxBackBtn {
  /* width: 520px;
height: 70px;
margin: 100px auto 0; */
  border-top: 1px solid #ccc;
  padding: 100px 0 0 0;
  margin: 0 auto;
}
#event_col .boxInfo .boxBackBtn a {
  position: relative;
  border: 1px solid #000;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 340px;
  height: 70px;
  font-size: 15px;
  font-weight: bold;
  border-radius: 50px;
}
/* #event_col .boxInfo .boxBackBtn a::before{
content: "";
position: absolute;
top: 54%;
left: 10%;
width: 10px;
height: 10px;
border-top: 1px solid #000;
border-right: 1px solid #000;
transform: rotate(225deg);
margin-top: -5px;
} */
#event_col .boxDate .item {
  display: flex;
  width: 100%;
  border-bottom: 1px solid #d9d9d9;
}
#event_col .boxDate .item:last-child {
  border-bottom: none;
}
#event_col .boxDate {
  border: 1px solid #d9d9d9;
  overflow: hidden;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  background-color: #fff;
  margin-top: 50px;
}
#event_col .boxDate .tit {
  min-width: 220px;
  max-width: 220px;
  font-size: 16px;
  color: #fff;
  letter-spacing: 2px;
  text-align: center;
  background-color: #08242d;
  padding: 27px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  position: relative;
}
#event_col .boxDate .tit .innerTit {
  line-height: 1.6;
}
#event_col .boxDate .txt {
  padding: 22px 32px;
  font-size: 15px;
  letter-spacing: 1px;
  line-height: 1.5;
}
#event_col .boxDate .txt a {
  color: #005099;
  border-bottom: 1px solid #005099;
}
#event_col .boxMap {
  position: relative;
  width: 100%;
  height: 350px;
  font-size: 0;
  overflow: hidden;
  margin: 50px auto 0;
}
#event_col .boxMap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 1200px !important;
  height: 730px !important;
  height: 350px !important;
  border: none;
  /* margin-top: -150px; */
}
#event_col .eventEdit {
  margin: 60px 0;
}
@media only screen and (max-width: 767px) {
  #event_col .eventEdit {
    margin: 60px 0 30px;
  }
  #event_col {
    width: 89.336%;
    margin: 25px auto 0;
  }
  #event_col .eventTitBox {
    padding: 15px 0;
  }
  #event_col .eventTitBox .topBox {
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 5px;
  }
  #event_col .eventTitBox .topBox .eventIcon .icon {
    width: 70px;
    height: 24px;
    font-size: 10px;
  }
  #event_col .eventTitBox .topBox .eventIcon .icon + .icon {
    margin-left: 1px;
  }
  #event_col .eventTitBox .topBox .dateBox {
    display: block;
    width: 100%;
    margin: 19px 0 0 0;
  }
  #event_col .eventTitBox .topBox .dateBox p {
    font-size: 12px;
  }
  #event_col .eventTitBox .topBox .dateBox p + p {
    padding-left: 0;
    margin-left: 0;
    margin-top: 10px;
  }
  #event_col .eventTitBox .topBox .dateBox p + p::after {
    display: none;
  }
  #event_col .eventTitBox .btmBox .eventTit {
    font-size: 16px;
  }

  #event_col .aboutBox {
    padding-top: 30px;
  }
  #event_col .aboutBox .formTitBox .titImg {
    width: 124px;
  }
  #event_col .boxDate .item {
    display: flex;
    width: 100%;
    border-bottom: 1px solid #d9d9d9;
  }
  #event_col .boxDate .item:last-child {
    border-bottom: none;
  }
  #event_col .boxDateEnd {
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 90%);
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  #event_col .boxDateEnd .endTxt {
    font-size: 17px;
    line-height: 32px;
    color: #fff;
    margin-top: 8px;
    text-align: center;
  }
  #event_col .boxInfo .boxBackBtn {
    margin: 0 auto 0;
    padding: 30px 0 0;
  }
  #event_col .boxInfo .boxBackBtn a {
    width: 84.48%;
    height: 50px;
  }
  /* #event_col .boxInfo .boxBackBtn a::before{
    width: 8px;
    height: 8px;
  } */
  #event_col .boxDate {
    margin-top: 20px;
  }
  #event_col .boxDate .tit {
    min-width: 70px;
    max-width: none;
    width: 20.289%;
    font-size: 13px;
    letter-spacing: 0;
    padding: 16px 5px;
  }
  #event_col .boxDate .tit .innerTit {
    line-height: 1.6;
  }
  #event_col .boxDate .txt {
    padding: 14px 8px;
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 1.5;
    max-width: 300px;
    width: 79%;
  }
  #event_col .boxMap {
    height: 300px;
    margin: 20px auto 0;
  }
  #event_col .boxMap iframe {
    width: 100% !important;
    height: 650px !important;
    height: 300px !important;
  }
}

/*--イベント詳細--*/
#event_col_form .wpcf7 {
  border: none;
  background: none;
  margin: 0 !important;
  font-size: inherit;
}
#event_col_form .wpcf7 form {
  margin: 0;
}
#event_col_form .wpcf7-not-valid-tip {
  display: none !important;
  color: #f00 !important;
  font-size: 12px !important;
  background: url(../monolith_tcd042/img/common/iconError.png) left top
    no-repeat;
  background-size: 14px !important;
  padding: 0 0 0 17px;
  margin-top: 5px !important;
  line-height: 14px !important;
  font-weight: normal;
  display: block;
}
@media only screen and (max-width: 767px) {
  #event_col_form .wpcf7-form-control-wrap {
    display: inline-block;
    width: 100%;
  }
  #event_col_form .adrsBox.box {
    justify-content: flex-start;
  }
  #event_col_form .adrsBox .wpcf7-form-control-wrap {
    width: auto;
  }
  #event_col_form .boxZip .w150,
  #event_col_form .adrsBox .w150 {
    width: 130px;
  }

  #event_col_form .wpcf7-not-valid-tip {
    font-size: 10px !important;
    margin-top: 5px !important;
  }
}
/*-----------------------------------------------
  event_col_form
-----------------------------------------------*/
#event_col_form {
}
#event_col_form .formTopBox {
  width: 100%;
  height: 680px;
  background: url(../monolith_tcd042/img/event/bgEventForm.jpg) center / cover
    no-repeat;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 70px 0;
  margin: 100px auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
#event_col_form .wrapper1000 {
  width: 1000px;
  margin: 0 auto;
}
#event_col_form .titDeco,
#event_col_form .imgTit {
  position: relative;
}
#event_col_form .titDeco::before,
#event_col_form .titDeco::after,
#event_col_form .imgTit::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  margin: auto;
  display: block;
  top: -6px;
  left: 0;
  right: 0;
  width: 6px;
  height: 6px;
  background-color: #fff;
  border-radius: 6px;
}
#event_col_form .titDeco::before {
  left: 26px;
}
#event_col_form .imgTit::before {
  top: auto;
  bottom: -20px;
  right: 26px;
}
#event_col_form .formTopTit {
  font-size: 17px;
  text-align: center;
  line-height: 32px;
  color: #fff;
  margin: 20px 0;
}
#event_col_form .formTopTit.titDeco {
  padding-top: 20px;
}
#event_col_form .secTel {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAAXNSR0IArs4c6QAAABhJREFUGFdj/Pr1639ubm5GBgYGBkacHAAY7AwEERGT7QAAAABJRU5ErkJggg==)
    repeat;
  padding: 80px 0 65px;
}
#event_col_form .secTel .telBox {
  border: 1px solid #000;
  background-color: #fff;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 170px;
  margin: 0 auto;
}
#event_col_form .secTel .telBox .telTit {
  font-size: 14px;
  font-weight: bold;
}
#event_col_form .secTel .telBox a {
  position: relative;
  font-size: 40px;
  font-weight: 500;
  display: inline-block;
  margin: 20px 0 18px;
}
#event_col_form .secTel .telBox a::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  margin: auto;
  display: block;
  top: 0;
  bottom: 0;
  left: -50px;
  width: 38px;
  height: 37px;
  background-image: url(../monolith_tcd042/img/event/telIcon.gif);
}
#event_col_form .secTel .telBox .telDate {
  font-size: 13px;
  background-color: #f5f5f5;
  border-radius: 12px;
  width: 300px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#event_col_form .secTel .spTxt {
  display: none;
}
@media only screen and (max-width: 767px) {
  #event_col_form .formTitBox .titImg {
    width: 294px;
  }
  #event_col_form .formTopBox {
    height: 540px;
    background: url(../monolith_tcd042/img/event/bgEventFormSp.jpg) center /
      cover no-repeat;
    padding: 50px 0 50px;
    margin: 25px auto 0;
    justify-content: flex-start;
  }
  #event_col_form .wrapper1000 {
    width: 100%;
  }
  #event_col_form .imgTit {
    width: 232px;
    height: auto;
    margin: 0 auto;
  }
  #event_col_form .imgTit::before {
    bottom: -35px;
  }
  #event_col_form .formTopTit {
    font-size: 14px;
    line-height: 28px;
    margin: 20px 0;
  }
  #event_col_form .formTopTit.titDeco {
    padding-top: 20px;
    margin-top: 35px;
  }
  #event_col_form .imgR {
    width: 100%;
    height: auto;
  }
  #event_col_form .imgHowTo {
    width: 89.336%;
    margin: 60px auto 0;
  }
  #event_col_form .secTel {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAAXNSR0IArs4c6QAAABhJREFUGFdj/Pr1639ubm5GBgYGBkacHAAY7AwEERGT7QAAAABJRU5ErkJggg==)
      repeat;
    padding: 30px 0 25px;
    text-align: center;
  }
  #event_col_form .secTel .telBox {
    width: 89.336%;
    height: 130px;
    margin: 0 auto 10px;
  }
  #event_col_form .secTel .telBox .telTit {
    font-size: 12px;
  }
  #event_col_form .secTel .telBox a {
    font-size: 30px;
    margin: 20px 0 18px;
    padding-left: 20px;
  }
  #event_col_form .secTel .telBox a::before {
    top: 8px;
    left: -15px;
    width: 30px;
    height: 37px;
  }
  #event_col_form .secTel .telBox .telDate {
    font-size: 11px;
    width: 78.08%;
  }
  #event_col_form .secTel .spTxt {
    display: inline-block;
    font-size: 11px;
    text-align: center;
  }
}

#event_col_form .formBox {
  margin: 100px auto 0;
}
/*--secFormStep--*/
#event_col_form .formBox .secFormStep {
  margin: 50px auto 60px;
  font-size: 0;
  text-align: center;
  position: relative;
  counter-reset: number 0;
}

#event_col_form .formBox .secFormStep li {
  display: inline-block;
  vertical-align: top;
  text-align: center;
  margin-right: 20px;
  position: relative;
  z-index: 2;
  width: 80px;
  height: 80px;
  border-radius: 100%;
  z-index: 20;
  background-color: #fff;
  color: #aaa;
  border: 2px solid #cccccc;
}
#event_col_form .formBox .secFormStep li::before {
  position: absolute;
  counter-increment: number 1;
  content: "0" counter(number);
  font-size: 18px;
  margin: auto;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 19.98%;
  right: 0;
  left: 0;
}
#event_col_form .formBox .secFormStep li:last-child::after {
  display: none;
}
#event_col_form .formBox .secFormStep li:last-child {
  margin-right: 0px;
}
#event_col_form .formBox .secFormStep li.active {
  background-color: #08242d;
  color: #fff;
  border: 2px solid #08242d;
}
#event_col_form .formBox .secFormStep .stepTxt {
  font-size: 14px;
  line-height: 26px;
  padding-top: 0;
  margin-top: 10px;
  letter-spacing: 0.5px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#event_col_form .formBox .secFormStep li.active .stepTxt {
  color: #fff;
}

@media only screen and (max-width: 767px) {
  #event_col_form .formBox.formTitBox .titImg {
    width: 294px;
  }
  #event_col_form .formBox {
    margin: 40px auto 0;
  }
  /*--secFormStep--*/
  #event_col_form .formBox .secFormStep {
    margin: 20px auto;
  }
  #event_col_form .formBox .secFormStep li {
    margin-right: 8px;
    z-index: 2;
    width: 60px;
    height: 60px;
    border: 1px solid #cccccc;
  }
  #event_col_form .formBox .secFormStep li::before {
    font-size: 14px;
    top: 19.98%;
  }
  #event_col_form .formBox .secFormStep li.active {
    border: 1px solid #08242d;
  }
  #event_col_form .formBox .secFormStep .stepTxt {
    font-size: 12px;
    padding-top: 14px;
  }
}

/*--secFormTable--*/
#event_col_form .formBox .secFormTable,
#event_col_form .formBox .secCalendar {
  width: 100%;
  margin: 0 auto;
}
#event_col_form .formBox .secCalendar {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
}
#event_col_form .formBox .tableIn {
  margin-top: 50px;
  background: #fff;
}
.secFormTable tr {
  border-bottom: 1px solid #cccccc;
  display: flex;
  font-weight: bold;
}
.secFormTable tr:first-child {
  border-top: 1px solid #cccccc;
}
.secFormQuestionnaire .secFormTable tr:last-child {
  border-bottom: none;
}
.secFormTable tr th,
.secCalendar .titCalendar {
  width: 220px;
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: 0.5px;
  vertical-align: top;
  position: relative;
  font-weight: normal;
  position: relative;
}
.secFormTable tr th {
  display: block;
  padding: 45px 0;
  text-align: left;
  font-weight: bold;
}
.co .secFormTable tr th {
  padding: 31px 0;
}
.secCalendar .secFormCalendar {
  width: calc(100% - 210px);
  font-size: 15px;
  line-height: 32px;
  padding: 29px 0 0;
  vertical-align: top;
  position: relative;
}
.secFormTable tr th.pt01 {
  padding: 28px 0;
}
.secFormTable tr td.pt01 {
  padding: 28px 0;
}
.secCalendar .titCalendar .must {
  color: #fff;
  background: #e41818;
  font-size: 12px;
  padding: 1.5px 7.5px;
}
.secFormTable tr th .must {
  color: #e41818;
  font-size: 15px;
}
.secFormTable tr th .must01 {
  background: #959595;
}
.secFormTable .flowCalFlow {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 12px;
}
.secFormTable tr td {
  width: calc(100% - 215px);
  font-size: 16px;
  line-height: 1.75;
  padding: 31px 0px;
  vertical-align: middle;
  position: relative;
}
.co .secFormTable tr td {
  display: flex;
  align-items: center;
}
.secFormTable tr td.p27 .item:first-child {
  margin-top: 0;
  font-weight: normal;
}
.secFormTable tr td.p27 .item:nth-child(n + 2) {
  margin-top: 7px;
}
.secFormTable tr td.flexBox {
  display: flex;
  align-items: center;
}
.secFormTable tr td.privacy {
  padding-top: 26px;
  padding-bottom: 29px;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}
.secFormTable tr td.pt0 {
  padding-top: 0;
}
.secFormTable tr th.light26 {
  line-height: 26px;
}
.secFormTable .subTxt {
  font-size: 12px;
  line-height: 26px;
  display: inline-block;
  padding-left: 14px;
}
.secFormTable .subTxt.address {
  font-size: 15px;
  margin-right: 15px;
  padding-left: 2px;
  vertical-align: middle;
}
.secFormTable .subTxt.red {
  color: #ff0000;
}
.secFormTable .txtSubRight {
  font-size: 12px;
  padding-top: 5px;
  line-height: 20px;
  margin: 0;
}
.secFormTable .txtSubUnder {
  font-size: 12px;
  padding-left: 1px;
  padding-top: 8px;
  line-height: 1;
}
#event_col_form .formBox .carenderSub {
  font-size: 12px;
  line-height: 2.2;
  letter-spacing: -0.5px;
}
.secFormTable .txtNote {
  font-size: 12px;
  line-height: 26px;
  padding-top: 5px;
}
.secFormTable .txtNote.pt14 {
  padding-top: 14px;
}
.secFormTable .txtNote .fRed {
  color: #ff0000;
}
.secFormTable .otherTxt {
  color: #a2a2a2;
  padding-left: 10px;
}
#event_col_form .formBox .flBox {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  font-size: 14px;
}
#event_col_form .formBox .boxMore {
  display: none;
  padding-top: 20px;
}
.secFormTable .titMore {
  background: #fff100;
  padding: 10px 10px;
  font-weight: 700;
}
.secFormTable .txtMore {
  font-weight: 700;
  padding: 10px 0;
}
.secFormTable td a {
  color: #3897cd;
  display: inline-block;
  border-bottom: 1px solid #3897cd;
  padding-top: 1px;
}
.secFormTable td .label03 {
  font-size: 16px;
}
#event_col_form .formBox input[type="radio"] {
  margin: -3px 7px 0 0;
  width: 23px;
  height: 23px;
}

#event_col_form .formBox input[type="radio"] {
  appearance: none;
  outline: none;
  border: solid 1px #cd2929;
  margin: -3px 10px 0 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fffef7;
  visibility: inherit;
  position: relative;
  top: 6px;
}
#event_col_form .formBox input[type="radio"]:checked {
  background: none;
  border: solid 1px #cd2929;
  position: relative;
}
#event_col_form .formBox input[type="radio"]:checked::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #cd2929;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.secFormTable input[type="text"],
.secFormTable input[type="tel"],
.secFormTable input[type="email"],
.secFormTable input[type="number"],
.secFormTable input[type="password"],
.secFormTable select {
  height: 56px;
  border: 1px solid #adadad;
  font-size: 15px;
  letter-spacing: 0.5px;
  padding-left: 15px;
  padding-right: 15px;
  background: #fff;
  font-family: inherit;
}
_:-ms-lang(x)::-ms-backdrop,
.secFormTable select {
  padding-right: 0;
}
.secFormTable input[type="text"].inputRequired,
.secFormTable input[type="tel"].inputRequired,
.secFormTable input[type="email"].inputRequired,
.secFormTable input[type="number"].inputRequired,
.secFormTable input[type="password"].inputRequired,
.secFormTable select.inputRequired {
  background-color: #fffef7;
  border: 1px solid #cd2929;
}
#event_col_form .formBox .btnQuestionnaire {
  display: block;
  width: calc(100% - 40px);
  max-width: 1180px;
  margin: 40px auto 0;
  padding: 38px 0;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  background: #fff100;
  color: #dd293d;
  border-bottom: solid 4px #eadd00;
  border-radius: 10px;
  font-size: 22px;
  font-weight: 700;
  transition: 0.5s;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
#event_col_form .formBox .btnQuestionnaire.on .onBtn {
  display: none;
}
#event_col_form .formBox .btnQuestionnaire .noneBtn {
  display: none;
}
#event_col_form .formBox .btnQuestionnaire.on .noneBtn {
  display: block;
}
#event_col_form .formBox .boxQuestionnaire {
  display: none;
}
#event_col_form .formBox .none {
  display: none;
}
#event_col_form .formBox textarea {
  height: 140px;
  border: 1px solid #adadad;
  font-size: 15px;
  letter-spacing: 0px;
  padding: 12px 19px;
  background: #fff;
  font-family: inherit;
  width: 100%;
  resize: none;
}
@media only screen and (max-width: 767px) {
  .secFormTable tr th .must {
    right: 0;
    top: 22px;
    padding-bottom: 3px;
  }
  .secFormTable .txtSubRight {
    padding-top: 5px;
  }
  .secFormTable .txtSubUnder {
    padding-left: 0px;
    padding-top: 8px;
  }
  .secFormTable tr td.p30 {
    padding-top: 3px;
  }
  .secFormTable tr td.pb23 {
    padding-bottom: 23px;
  }
  .secFormTable tr th.p27 {
    padding-top: 18px;
    padding-bottom: 0px;
  }
  .secFormTable tr th .must.t31 {
    top: 22px;
  }
  #event_col_form .formBox input[type="radio"] {
    margin: -5px 8px 0 0;
  }
  .secFormTable tr td.p27 {
    padding-top: 10px;
    padding-bottom: 25px;
  }
  .secFormTable tr td.p27 .item:nth-child(n + 2) {
    margin-top: 11.6px;
  }
  .secFormTable tr td.pb22 {
    padding-bottom: 18px;
  }
  .secFormTable tr td.privacy {
    padding-top: 10px;
    padding-bottom: 23px;
  }
}
/*--zip--*/
.secFormTable .btnZip {
  display: inline-block;
  width: 120px;
  line-height: 40px;
  background: #1d1d1d;
  text-decoration: none;
  text-align: center;
  border-radius: 50px;
  margin-left: 10px;
  color: #fff;
  font-size: 12px;
  letter-spacing: 1px;
}
.secFormTable .boxZip {
  font-size: 0;
  margin-top: 0;
}
.secFormTable .subZip {
  width: calc(100% - 160px);
}

#event_col_form .formBox .txtForm {
  font-size: 18px;
  line-height: 32px;
  font-weight: 700;
  text-align: center;
  padding: 20px 0 30px;
  letter-spacing: 1px;
}
#event_col_form .formBox .titFormTable {
  font-size: 20px;
  line-height: 24px;
  font-weight: 700;
  text-align: center;
  background: #eeeeee;
  width: 100%;
  max-width: 1145px;
  margin: 0 auto;
  padding: 20px 0 15px;
  letter-spacing: 3px;
  margin-bottom: 16px;
}
.secFormTable .boxAreaList.margin10 li + li {
  margin-top: 10px;
}
.secFormTable .mt5 {
  margin-top: 5px;
}
.secFormTable .mt10 {
  margin-top: 10px;
}
.secFormTable .mr5 {
  margin-right: 5px;
}
.secFormTable .mr8 {
  margin-right: 8px;
}
.secFormTable .mr10 {
  margin-right: 10px;
}
.secFormTable .mr20 {
  margin-right: 20px;
}
.secFormTable .mr22 {
  margin-right: 22px;
}
.secFormTable .mr30 {
  margin-right: 30px;
}
.secFormTable .mr35 {
  margin-right: 35px;
}
.secFormTable .ml10 {
  margin-left: 10px;
}
.secFormTable .h100 {
  height: 100px !important;
}
.secFormTable .w100 {
  width: 100%;
}
.secFormTable .w100p {
  width: 100px;
}
.secFormTable .w120 {
  width: 120px;
}
.secFormTable .w130 {
  width: 130px;
}
.secFormTable .w150 {
  width: 150px;
}
.secFormTable .w180 {
  width: 180px;
}
.secFormTable .w200 {
  width: 200px;
}
.secFormTable .mw150 {
  min-width: 150px;
}
.secFormTable .mw200 {
  min-width: 200px;
}
.secFormTable .w180 {
  width: 180px;
}
.secFormTable .w260 {
  width: 260px;
}
.secFormTable .w300 {
  width: 300px;
}
.secFormTable .w360 {
  width: 360px;
}
.secFormTable .w400 {
  width: 400px;
}
.secFormTable .w620 {
  width: 620px;
}
.secFormTable .w650 {
  width: 650px;
}
.secFormTable .w710 {
  width: 710px;
}
.secFormTable .w800 {
  width: 800px;
}
.secFormTable .mx100 {
  max-width: 100%;
}
.secFormTable .loanBox {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  align-items: center;
  -webkit-align-items: center;
}
.secFormTable .txtError {
  color: #f00;
  font-size: 12px;
  background: url(../img/common/iconError.png) left top no-repeat;
  background-size: 14px;
  padding: 0 0 0 17px;
  margin-top: 10px;
  line-height: 14px;
  text-align: left;
}
.secFormTable .fRed {
  color: #ff0000;
}
/*--boxNote--*/
#event_col_form .formBox .boxNote {
  width: 94%;
  margin: 60px auto 0;
  background: #f5f5f5;
  padding: 30px;
}
#event_col_form .formBox .boxNote .boxTit {
  font-size: 13px;
  font-weight: bold;
  line-height: 30px;
}
#event_col_form .formBox .boxNote .boxTxt {
  font-size: 13px;
  padding-top: 8px;
  line-height: 28px;
}
#event_col_form .formBox .boxNote .boxTxt .color {
  color: #cd2929;
}

/*---checkBtn--*/
#event_col_form .formBox .boxAreaList:not(.like_radio) input[type="checkbox"] {
  margin: -3px 10px 0 0;
  width: 20px;
  height: 20px;
  border-radius: 5px;
}

/* datepicker */
.ui-widget.ui-widget-content {
  z-index: 1000 !important;
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .ui-widget.ui-widget-content {
    font-size: 17px;
  }
}
/*--checkBox--*/
#event_col_form .formBox .boxAreaList:not(.like_radio) input[type="checkbox"] {
  width: 20px;
  height: 20px;

  margin: -3px 10px 0 0;
  border-radius: 0px;
}
#event_col_form .formBox .spanInner {
  padding: 1.5px 0 1.5px 30px;
  position: relative;
}
#event_col_form .formBox input[type="checkbox"]:checked + .spanInner::before {
  background: url(../img/common/imgCheckbox.png) center center / 18px auto
    no-repeat #eb6700;
  border: solid 1px #eb6700;
}

@media only screen and (max-width: 767px) {
  .secFormBox {
    padding-top: 40px;
  }
  .secFormBox .bgBoxOut::after {
    display: none;
  }
  #event_col_form .formBox .bgBox {
    padding: 0;
    margin-top: 0;
    background: #fff;
  }
  #event_col_form .formBox .txtMain {
    text-align: left;
    font-size: 12px;
    line-height: 24px;
    padding-top: 16px;
  }
  .co #event_col_form .formBox .txtMain {
    font-size: 13px;
  }
  #event_col_form .formBox .secFormStep {
    margin: 30px auto 0;
    display: flex;
    justify-content: center;
  }
  #event_col_form .formBox .secFormStep li {
    margin-right: 10px;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #event_col_form .formBox .secFormStep li::before {
    font-size: 14px;
  }
  #event_col_form .formBox .secFormStep .stepTxt {
    font-size: 12px;
    padding-top: 9px;
  }
  #event_col_form .formBox .tableIn {
    width: 100%;
    margin: 26px auto 0;
    padding: 0;
    border: none;
  }
  /*--carender--*/
  .secFormTable .flowCalFlow {
    display: block;
    margin-bottom: 12px;
  }
  .secFormTable .calendarTxt {
    display: inline-block;
    margin-right: 3px;
    width: 85px;
  }
  .secFormTable .calendarRight {
    display: inline-block;
    margin-top: 10px;
  }
  #event_col_form .formBox .carenderSub {
    font-size: 11px;
    line-height: 20px;
    letter-spacing: normal;
  }
  #event_col_form .formBox .secFormTable,
  #event_col_form .formBox .secCalendar {
    width: 100%;
  }
  .secFormTable tbody,
  .secFormTable tr,
  .secCalendar .titCalendar,
  #event_col_form .formBox .secCalendar,
  .secCalendar .secFormCalendar,
  .secFormTable tr td {
    display: block;
    width: 100%;
  }
  .secFormTable tr th.height0 {
    height: 0;
    padding: 0;
  }
  .secCalendar .secFormCalendar {
    padding: 13px 4% 0;
  }
  .secFormTable tr th,
  .secFormTable tr th.pt01 {
    width: 92%;
    margin: 0 auto;
    font-size: 14px;
    letter-spacing: 0;
    padding: 19px 0 10px !important;
  }
  .co .secFormTable tr td {
    padding: 0 0 19px;
  }
  .secFormTable tr td {
    width: 92%;
    margin: 0 auto;
    font-size: 13px;
    padding: 0 0 20px;
  }
  #event_col_form .eventCo td {
    font-size: 13px;
  }
  .secFormTable tr td {
    line-height: 1.8;
  }
  .secFormTable input[type="text"],
  .secFormTable input[type="tel"],
  .secFormTable input[type="email"],
  .secFormTable input[type="number"],
  .secFormTable input[type="password"],
  .secFormTable select {
    height: 46px;
  }
  .secFormTable .subTxt {
    font-size: 11px;
    line-height: 20px;
    padding: 5px 0 0;
  }
  .secFormTable .txtNote {
    font-size: 11px;
    line-height: 19px;
    padding-top: 4px;
  }
  .secFormTable .mr30 {
    margin-right: 0;
  }
  .secFormTable .w200 {
    width: 43.48%;
  }
  .secFormTable .w360,
  .secFormTable .w400 {
    width: 100%;
  }
  .secFormTable .w650 {
    width: 100%;
  }
  .secFormTable .w710 {
    width: 100%;
  }
  .secFormTable .w800 {
    width: 100%;
  }
  .secFormTable .mts10 {
    margin-top: 10px;
  }
  .secFormTable .mts20 {
    margin-top: 20px;
  }
  .secFormTable .titMore,
  .secFormTable .txtMore {
    line-height: 20px;
  }
  .secFormTable .otherTxt {
    display: block;
    padding: 0 0 0;
  }
  #event_col_form .formBox .flBox {
    display: block;
  }

  /*--boxNote--*/
  #event_col_form .formBox .boxNote {
    width: 81.336%;
    margin: 20px auto 0;
    padding: 26px 20px 23px;
  }
  #event_col_form .formBox .boxNote .boxTit {
    font-size: 14px;
    line-height: 1.57;
  }
  #event_col_form .formBox .boxNote .boxTxt {
    font-size: 12px;
    padding-top: 8px;
    line-height: 1.8334;
    letter-spacing: 0;
  }
  /*--btn--*/
  .btnForm {
    font-size: 17px;
    width: 295px;
    padding: 26px 0 27px;
    margin: 30px auto 0;
    letter-spacing: 1px;
  }
  #event_col_form .formBox .btnPrevMain {
    margin-top: 30px;
    width: 298px;
  }
  .btnPrevMain {
    font-size: 17px;
    padding: 26px 0;
  }
  .secFormTable .w150 {
    width: 206px;
  }
  .secFormTable .w180 {
    width: 180px;
  }

  /*--zip--*/
  .secFormTable .btnZip {
    font-size: 12px;
    line-height: 38px;
    width: 120px;
    margin-left: 6px;
    display: inline-block;
  }
  .secFormTable .spanPlace {
    font-size: 12px;
    margin-right: 3px;
  }
  .secFormTable .subZip {
    width: 100%;
    margin-top: 10px;
  }
  #event_col_form .formBox .txtForm {
    font-size: 12px;
    line-height: 20px;
    padding: 10px 0 23px;
    letter-spacing: 1px;
  }
  #event_col_form .formBox .btnQuestionnaire {
    width: 92%;
    margin: 10px auto 0;
    border-bottom: solid 2px #eadd00;
    padding: 18px 0 13px;
    font-size: 13px;
    line-height: 20px;
  }
  .secFormTable input[type="text"],
  .secFormTable input[type="tel"],
  .secFormTable input[type="email"],
  .secFormTable input[type="number"],
  .secFormTable input[type="password"],
  .secFormTable select {
    font-size: 13px;
    padding-left: 10px;
  }
  #event_col_form .formBox .ws140 {
    width: 140px;
  }
  .secFormTable .mr10 {
    margin-right: 60px;
  }
  .secFormTable .mr90 {
    margin-right: 90px;
  }
  #event_col_form .formBox textarea {
    height: 120px;
  }
  #event_col_form .formBox textarea {
    font-size: 12px;
    padding: 8px 6px;
  }
  .secFormTable .txtNote.pb10 {
    padding-bottom: 0;
  }
  #event_col_form .formBox .titFormTable {
    /* display:none; */
    font-size: 14px;
    line-height: 1.8;
    padding: 10px;
  }
  .secFormTable td .label03 {
    font-size: 14px;
  }
  #event_col_form .formBox .boxAreaList,
  #event_col_form .formBox .boxAreaList .item:nth-child(n + 2) {
    margin-top: 6px !important;
  }
  #event_col_form .formBox .boxAreaList .item {
    position: relative;
    padding-left: 1%;
  }
  #event_col_form .formBox .boxAreaList .item input[type="checkbox"] {
    position: absolute;
    top: calc(50% - 10px);
    left: 0;
    margin-top: 0;
  }
  #event_col_form .formBox .boxAreaList .item input[type="checkbox"].inputTop {
    top: 2px;
  }
  #event_col_form .formBox .boxAreaList .fSmall {
    display: block;
    font-size: 11px;
  }
  .secFormTable td.privacy {
    padding: 7px 0 20px;
  }
  .secFormTable td a {
  }
}
@media only screen and (max-width: 374px) {
  .secFormTable .btnZip {
    font-size: 11px;
    line-height: 38px;
    width: 92px;
    margin-left: 2px;
  }
}
@media only screen and (max-width: 359px) {
  .secFormTable .w150 {
    width: 150px;
  }
  .secFormTable .w180 {
    width: 150px;
  }
  .secFormTable .mr90 {
    margin-right: 10px;
  }
  .btnForm {
    width: 100%;
    margin: 25px auto 0;
  }
  #event_col_form .formBox .secFormStep li {
    /* margin-right: 60px; */
  }
  #event_col_form .formBox .secFormStep::after {
    top: calc(50% - 4px);
    width: 200px;
    height: 1px;
  }
}
#event_col_form .formBox .boxAreaList:not(.like_radio) input[type="checkbox"] {
  width: 23px;
  height: 23px;
  margin: 0 3px 0 0;
  border-radius: 3px;
  visibility: hidden;
  position: absolute;
}
#event_col_form .privacy label {
  display: flex;
  align-items: center;
}
#event_col_form .privacy input[type="checkbox"] {
  appearance: none;
  outline: none;
  border: solid 1px #adadad;
  border-radius: 3px;
  margin: 0 10px 0 0;
  width: 23px;
  height: 23px;
}
#event_col_form .privacy input[type="checkbox"]:checked {
  background: none;
  border: solid 1px #adadad;
  position: relative;
}
#event_col_form .privacy input[type="checkbox"]:checked::before {
  content: "";
  display: block;
  position: absolute;
  top: 20%;
  right: 0;
  left: 0;
  margin: auto;
  width: 13px;
  height: 7px;
  border-left: 3px solid #cd2929;
  border-bottom: 3px solid #cd2929;
  transform: rotate(-45deg);
}
/*--co.ok--*/
#event_col_form .formBox .secCmnBack .abtn {
  width: 380px;
  margin: 30px auto 0;
  height: 80px;
  border: solid 1px #4c4541;
  display: flex;
  background-color: #fff;
  justify-content: center;
  align-items: center;
  color: #000;
  text-decoration: none;
  font-size: 18px;
  letter-spacing: 1.5px;
  font-weight: 700;
}
#event_col_form .formBox .okTxt {
  font-size: 15px;
  line-height: 30px;
  text-align: center;
  padding-top: 0;
}
.secFormBox.co .bgBoxOut,
.secFormBox.ok .bgBoxOut {
  margin-top: 48px;
}
@media only screen and (max-width: 767px) {
  .secFormBox.co .bgBoxOut,
  .secFormBox.ok .bgBoxOut {
    margin-top: 20px;
  }
  #event_col_form .formBox .secCmnBack .abtn {
    width: 280px;
    margin: 20px auto 0;
    height: 50px;
  }
  #event_col_form .formBox .secCmnBack .abtn {
    font-size: 14px;
    letter-spacing: normal;
  }
  #event_col_form .formBox .okTxt {
    font-size: 12px;
    line-height: 22px;
    text-align: left;
    padding-top: 0;
  }
  #event_col_form .privacy label {
    justify-content: center;
  }
}
@media only screen and (max-width: 359px) {
  #event_col_form .formBox .secCmnBack .abtn {
    width: 250px;
  }
}

/* secFormQuestionnaire */
.secFormQuestionnaire .btnQuestionnaire {
  width: 1100px;
  display: block;
  align-items: center;
  justify-content: center;
  height: auto;
  margin: 40px auto;
  text-align: center;
  text-decoration: none;
  background: #005099;
  color: #fff;
  border-bottom: none;
  border-radius: 7px;
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 1px;
  padding: 24px 0 28px;
  box-shadow: 0px 5px 0px 0px #bfbfbf;
}
.secFormQuestionnaire .btnQuestionnaire .txtQuestionnaireOff {
  color: #fff;
  font-size: 22px;
}
.secFormQuestionnaire .btnQuestionnaire .txtQuestionnaireOff .y_txt {
  font-size: 28px;
  color: #ffde00;
}
.secFormQuestionnaire .btnQuestionnaire .txtQuestionnaireOff .e_txt {
  font-size: 28px;
  position: relative;
  display: block;
  position: relative;
  margin-top: 13px;
  letter-spacing: 3.5px;
  text-indent: 45px;
}
.secFormQuestionnaire .btnQuestionnaire .txtQuestionnaireOn .e_txt {
  font-size: 28px;
  position: relative;
  display: block;
  position: relative;
  margin-top: 23px;
  letter-spacing: 3.5px;
  text-indent: 45px;
  margin-bottom: 18px;
  padding-right: 13px;
}
.secFormQuestionnaire .btnQuestionnaire .txtQuestionnaireOff .e_txt::after {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 0 0 5px 20px;
  border-bottom: 5px solid #fff;
  border-left: 5px solid #fff;
  transform: rotate(-45deg);
  content: "";
}
.secFormQuestionnaire .btnQuestionnaire .txtQuestionnaireOn .e_txt::after {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 0 0 -3px 14px;
  border-top: 5px solid #fff;
  border-right: 5px solid #fff;
  transform: rotate(-45deg);
  content: "";
}
.secFormQuestionnaire .btnQuestionnaire:not(.on) .txtQuestionnaireOn,
.secFormQuestionnaire .btnQuestionnaire.on .txtQuestionnaireOff,
.secFormQuestionnaire input[name="isQuestionnaire"],
.secFormQuestionnaire .boxQuestionnaire {
  display: none;
}
#boxQuestionnaire .secFormTable input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: -3px 10px 0 0;
  border-radius: 0px;
  display: inline-block;
  visibility: visible;
  position: static;
}
@media only screen and (max-width: 767px) {
  .secFormQuestionnaire .btnQuestionnaire {
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0px;
    height: auto;
    width: 100%;
    padding: 14px 0;
    margin: 20px 0;
    border-radius: 5px;
  }
  .secFormQuestionnaire .btnQuestionnaire .txtQuestionnaireOff {
    color: #fff;
    font-size: 16px;
    line-height: 22px;
  }
  .secFormQuestionnaire .btnQuestionnaire .txtQuestionnaireOff .y_txt {
    font-size: 16px;
    color: #ffde00;
  }
  .secFormQuestionnaire .btnQuestionnaire .txtQuestionnaireOff .e_txt {
    font-size: 18px;
    position: relative;
    display: block;
    position: relative;
    margin-top: 2px;
    letter-spacing: 0px;
    text-indent: -5px;
  }
  .secFormQuestionnaire .btnQuestionnaire .txtQuestionnaireOn .e_txt {
    font-size: 18px;
    display: block;
    position: relative;
    margin-top: 5px;
    letter-spacing: 0px;
    text-indent: 15px;
    margin-bottom: 5px;
  }
  .secFormQuestionnaire .btnQuestionnaire .txtQuestionnaireOff .e_txt::after {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0 0 5px 10px;
    border-bottom: 5px solid #fff;
    border-left: 5px solid #fff;
    transform: rotate(-45deg);
    content: "";
  }
  .secFormQuestionnaire .btnQuestionnaire .txtQuestionnaireOn .e_txt::after {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0 0 -3px 14px;
    border-top: 5px solid #fff;
    border-right: 5px solid #fff;
    transform: rotate(-45deg);
    content: "";
  }
}

/* .secFormTable .boxAreaList.margin10 li + li{ margin-top:10px;} */
/* .secFormTable .mt5{ margin-top:5px;} */
/* .secFormTable .mt10{ margin-top:10px;} */
.secFormTable .mt12 {
  margin-top: 12px;
}
/* .secFormTable .mr5{ margin-right:5px;} */
/* .secFormTable .mr10{ margin-right:10px;} */
/* .secFormTable .mr20{ margin-right:20px;} */
/* .secFormTable .mr22{ margin-right:22px;} */
.secFormTable .mr25 {
  margin-right: 14px;
  width: 45px;
}
/* .secFormTable .mr30{ margin-right:30px;} */
/* .secFormTable .mr40{margin-right: 29px;} */
/* .secFormTable .mr35{ margin-right:35px;} */
.secFormTable .ml5 {
  margin-left: 10px;
}
/* .secFormTable .ml10{ margin-left:10px;} */
/* .secFormTable .h100{ height:100px !important;} */
/* .secFormTable .w100{ width:100%;} */
/* .secFormTable .w100p{ width:100px;} */
/* .secFormTable .w120{ width:120px;} */
/* .secFormTable .w130{ width:130px;} */
.secFormTable .w150 {
  width: 150px;
}
/* .secFormTable .w200{ width:200px;} */
.secFormTable .w500 {
  width: 500px;
}
/* .secFormTable .mw150{ min-width:150px;} */
/* .secFormTable .mw200{ min-width:200px;} */
/* .secFormTable .w360{ width:360px;} */
/* .secFormTable .w400{ width:400px;} */
.secFormTable .loanBox {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  align-items: center;
  -webkit-align-items: center;
}
.secFormTable .money .item,
.secFormTable .loan .item {
  margin-top: 7px;
}
.secFormTable .money label {
  width: 100px;
  display: inline-block;
}
.secFormTable .loan label {
  width: 145px;
  display: inline-block;
}
.secFormTable.bt_no {
  border-top: none;
}
.secFormTable .item .others {
  font-size: 14px;
  color: #666;
  margin-left: 12px;
  letter-spacing: 0.75px;
}
@media only screen and (max-width: 767px) {
  .secFormTable .passIn {
    width: 100%;
    margin-right: 0 !important;
  }
  .secFormTable .w360,
  .secFormTable .w400 {
    width: 100%;
    margin-right: 0 !important;
  }
  .secFormTable .ws100p {
    width: 100%;
    margin-right: 0 !important;
  }
  #event_col_form .formBox .sw200 {
    width: 200px;
  }
  .secFormTable .mts10 {
    margin-top: 10px;
  }
  .secFormTable .mrs10 {
    margin-right: 10px;
  }
  .secFormTable .titMore,
  .secFormTable .txtMore {
    line-height: 20px;
  }
  .secFormTable .otherTxt {
    display: block;
    padding: 0 0 0;
  }
  .secFormTable #time.w260 {
    min-width: 252px;
  }
  #event_col_form .formBox .boxArea {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .secFormTable .loanBox {
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    align-items: center;
    -webkit-align-items: center;
  }
  .secFormTable .money label {
    width: 90px;
    display: inline-block;
  }
  .secFormTable .loan label {
    width: 120px;
    display: inline-block;
  }
  .secFormTable .item .others {
    display: block;
    margin-left: 0;
    font-size: 12px;
    line-height: 1.5;
  }
}
/*--btnForm--*/
.secCmnFormBtn {
  padding: 20px 0 60px;
  position: relative;
}
#event_col_form .btnForm {
  font-size: 18px;
  letter-spacing: 0.5px;
  color: #fff;
  background-color: #a40000;
  width: 100%;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 0;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
#event_col_form input[type="button"],
#event_col_form input[type="submit"] {
  transition: 0.5s;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
#event_col_form input[type="button"]:hover,
#event_col_form input[type="submit"]:hover {
  opacity: 0.8;
}
#event_col_form .btnForm.btnBack {
  width: 350px;
  background-color: #005ca2;
  color: #fff;
}

#event_col_form .secCmnFormBtn::after {
  content: "";
  position: absolute;
  top: 51%;
  right: 10%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(47deg);
  margin-top: -5px;
}
#event_col_form .boxBackBtn {
  border-top: 1px solid #ddd;
  padding: 80px 0 0 0;
}
#event_col_form .boxBackBtn a {
  position: relative;
  border: 1px solid #000;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 340px;
  height: 70px;
  font-size: 15px;
  font-weight: bold;
  border-radius: 50px;
}
@media only screen and (max-width: 767px) {
  .secCmnFormBtn {
    padding: 30px 0 20px;
    position: relative;
  }
  #event_col_form .btnForm {
    font-size: 15px;
    letter-spacing: 0;
    width: 92%;
    height: 60px;
    margin: 0 auto 0;
  }
  #event_col_form .secCmnFormBtn::after {
    content: "";
    position: absolute;
    top: 68%;
    right: 10%;
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(47deg);
    margin-top: -5px;
  }
  #event_col_form .btnForm.btnBack {
    width: 75%;
  }
  #event_col_form .boxBackBtn {
    padding: 30px 0 50px;
  }
  #event_col_form .boxBackBtn a {
    width: 75.47%;
    height: 50px;
  }
}

/* ラジオボックス */
.secFormTable input[type="radio"],
.secFormTable .txtRadio::before {
  width: 20px;
  height: 20px;
}
.secFormTable input[type="radio"] {
  visibility: hidden;
  position: absolute;
  margin: 0;
}
.secFormTable .labelRadio {
  position: relative;
  font-size: 15px;
  display: inline-block;
  height: 30px;
}
.secFormTable .itemRadio:nth-child(n + 2) {
  margin-top: 15px;
}
.secFormTable .txtRadio {
  display: inline-flex;
  align-items: center;
}
.secFormTable .txtRadio::before {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background: #fff;
  margin-right: 10px;
  border: 1px solid #cd2929;
}
.secFormTable input[type="radio"]:checked + .txtRadio::after {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 12px;
  background: #cd2929;
  position: absolute;
  top: 7px;
  left: 4px;
}

#event_col_form .wpcf7-list-item {
  margin: 0;
}
#event_col_form .like_radio label {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
#event_col_form .like_radio input[type="checkbox"] {
  appearance: none;
  outline: none;
  border: solid 1px #cd2929;
  margin: -3px 10px 0 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fffef7;
}
#event_col_form .like_radio input[type="checkbox"]:checked {
  background: none;
  border: solid 1px #cd2929;
  position: relative;
}
#event_col_form .like_radio input[type="checkbox"]:checked::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #cd2929;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

#event_col_form .box {
  display: flex;
  align-items: center;
}
#event_col_form .eventCo td {
  font-size: 15px;
  font-weight: 500;
  display: flex;
  align-items: center;
}
#event_col_form .eventCo .hidden {
  display: none;
}
#event_col_form .eventCo .secCmnFormBtn {
  padding-bottom: 0;
}
#event_col_form .eventCo .secCmnFormBtn::after {
  top: auto;
  bottom: 49%;
}
#event_col_form .eventCo .secCmnFormBtnBack .btnForm {
  width: 30%;
  height: 70px;
  background-color: #949494;
}
@media only screen and (max-width: 767px) {
  .secFormTable .calendarTxt {
    margin-right: 0;
    width: 85px;
  }
  #event_col_form .box {
    justify-content: space-between;
  }
  #event_col_form .secFormTable .calendarLeft,
  #event_col_form .secFormTable .calendarRight {
    width: 100%;
    max-width: 252px;
  }
  #event_col_form .eventCo .secCmnFormBtn::after {
    top: auto;
    bottom: 45%;
  }
  #event_col_form .eventCo .secCmnFormBtnBack .btnForm {
    height: 50px;
    width: 45%;
  }
}
.privacyBoxTr {
  flex-direction: column;
}
.secFormTable .privacyBoxTr th {
  padding-bottom: 0;
}
.secFormTable .privacyBoxTr td {
  padding-top: 0;
  width: 100%;
}
.privacyBox .tit {
  font-size: 15px;
  font-weight: bold;
}
.privacyBox .tit .must {
  color: #e41818;
  font-size: 15px;
}
.privacyBox .pBox {
  margin-top: 25px;
  width: 100%;
  height: 200px;
  background-color: #fffafa;
  overflow-y: scroll;
}
.privacyBox .pBox .inner {
  padding: 30px 30px 0;
}
.privacyBox .pBox .inner .inTit {
  font-size: 14px;
  font-weight: bold;
}
.privacyBox .pBox .inner .inTxt {
  font-size: 13px;
  line-height: 20px;
  margin-top: 15px;
}
.privacyBoxTr .box {
  text-align: center;
  margin-top: 40px;
  justify-content: center;
}
.privacyBox a {
  color: #000 !important;
  text-decoration: none;
  border-bottom: none !important;
}
@media only screen and (max-width: 767px) {
  .privacyBox {
    width: 92%;
    margin: -15px auto 0;
  }
  .privacyBox .tit {
    font-size: 14px;
  }
  .privacyBox .tit .must {
    font-size: 14px;
  }
  .privacyBox .pBox {
    margin-top: 25px;
    line-height: 1.5;
    width: 100%;
    height: 200px;
    background-color: #fffafa;
    overflow-y: scroll;
  }
  .privacyBox .pBox .inner {
    padding: 15px 15px 0;
  }
  .privacyBox .pBox .inner .inTit {
    font-size: 13px;
  }
  .privacyBox .pBox .inner .inTxt {
    font-size: 12px;
    line-height: 18px;
    margin-top: 15px;
  }
  .privacyBoxTr .box {
    margin-top: 20px;
  }
}

/*-----------------------------------------------
  230515TOPスライド機能追加
-----------------------------------------------*/
/* secHeroSlider */
.secHeroSlider {
  overflow: hidden;
  max-width: 1920px;
  margin: 0 auto;
}
.secHeroSlider .boxSlider {
  position: relative;
}
.secHeroSlider .swiper-container {
  width: 100%;
  overflow: visible;
}
.secHeroSlider .swiper-button-prev,
.secHeroSlider .swiper-button-next {
  width: 70px;
  height: 70px;
  margin-top: 0;
  top: calc(50% - 40px);
  border-radius: 40px;
  box-shadow: 0 0px 5px 0 rgba(0, 0, 0, 0.5);
}
.secHeroSlider .swiper-button-prev {
  left: 40px;
}
.secHeroSlider .swiper-button-next {
  right: 40px;
}
.secHeroSlider .swiper-button-prev::after,
.secHeroSlider .swiper-button-next::after {
  display: none;
}
.secHeroSlider .swiper-button-prev {
  background: url(./img/index/imgBtnPrev.png) center center / 13px 14px
    no-repeat #fff;
}
.secHeroSlider .swiper-button-next {
  background: url(./img/index/imgBtnNext.png) center center / 13px 14px
    no-repeat #fff;
}
.secHeroSlider .imgSlider {
  display: block;
  height: 0;
  padding-top: 41.667%;
}
.secHeroSlider .imgSlider.spOnly {
  display: none;
}
.secHeroSlider .imgSlider.spNone {
  display: block;
}
@media only screen and (max-width: 767px) {
  .secHeroSlider .swiper-container {
    width: 100%;
  }
  .secHeroSlider .swiper-button-prev,
  .secHeroSlider .swiper-button-next {
    width: 40px;
    height: 40px;
    margin-top: 0;
    top: calc(95% - -8px);
    border-radius: 40px;
  }
  .secHeroSlider .swiper-button-prev {
    left: unset;
    right: 70px;
  }
  .secHeroSlider .swiper-button-next {
    right: 20px;
  }
  .secHeroSlider .swiper-button-prev {
    background: url(./img/index/imgBtnPrev.png) center center / 8px 10px
      no-repeat #fff;
  }
  .secHeroSlider .swiper-button-next {
    background: url(./img/index/imgBtnNext.png) center center / 8px 10px
      no-repeat #fff;
  }
  .secHeroSlider .imgSlider {
    display: block;
    height: 0;
    padding-top: 154.667%;
  }
  .secHeroSlider .imgSlider.spNone {
    display: none;
  }
  .secHeroSlider .imgSlider.spOnly {
    display: block;
  }
  #header_panel {
    padding-bottom: 25px;
  }
  .home .secSpBnr {
    margin-top: 15px;
  }
}

/* お施工主さまインタビューボタン */
.project_catchphrase {
  margin: 0 0 40px 0 !important;
}
.interview_btn {
  max-width: 300px;
  width: 80%;
  margin: 50px auto;
}
.interview_btn a {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  height: 40px;
  align-items: center;
  color: #fff;
  background-color: #00698c;
  border: 1px solid #ccc;
}
.interview_btn a:hover {
  color: #fff;
}


/* スタッフプロフィール */

.profile_text {
  font-size: 13px;
  padding: 14px 15px;
}

.profile_text .dt_flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0 0 15px;
}
.profile_text .dt_flex:last-child {
  margin-bottom: 0;
}
.profile_text dl {
  margin: 0;
}
.profile_text dt {
  color: #00698c;
  flex-shrink: 0;
  width: 65px;
  margin: 0 10px 0 0;
  font-weight: bold;
}
.profile_text dd {
  margin: 0;
}

.tcd-pb-row.row3 .tcd-pb-col.col3 .tcd-pb-widget.widget3 { margin-bottom:30px!important;}

/* 採用情報 */
@media screen and (min-width: 1400px) {
    #logo_image_mobile img {
        width: 41%!important;
        height: 50%;
    }
}