.h1_left .headding_wrap,.h1_left .headding{font-size:3.5rem}.h1_left .subtitle_wrap{letter-spacing:0.15em;margin-top:.5rem}.h1_left .subtitle{font-size:inherit}.h1_left .editable_wrap{margin-top:2rem}
.h2_center_generic01 .text-side{color:#fff;text-align:center}.h2_center_generic01 .subtitle{letter-spacing:0px}.h2_center_generic01 .headding_wrap{font-size:2rem}.h2_center_generic01 .subtitle_wrap,.h2_center_generic01 .editable_wrap{font-size:1.2rem}.h2_center_generic01 .spacer-item_wrap:nth-child(1) .editable_wrap{font-size:2rem}@media only screen and (min-width: 768px){.h2_center_generic01 .headding_wrap{font-size:3.5rem}.h2_center_generic01 .subtitle_wrap,.h2_center_generic01 .editable_wrap{font-size:1.5rem}.h2_center_generic01 .spacer-item_wrap:nth-child(1) .editable_wrap{font-size:3.5rem}}
.table_light_generic{font-size:1.2rem}.table_light_generic .duplicatable-container{border-top:1px solid rgba(0,0,0,0.5)}.table_light_generic .table_wrap{text-align:left}.table_light_generic .table_wrap .duplicatable-content{width:100%}.table_light_generic .table_wrap .tr{width:100%;border-bottom:1px solid rgba(0,0,0,0.5)}.table_light_generic .table_wrap .tr .th,.table_light_generic .table_wrap .tr .td{padding:2rem 1rem;vertical-align:middle;white-space:normal}.table_light_generic .table_wrap .tr .th{background-color:rgba(0,0,0,0.1)}@media only screen and (min-width: 768px){.table_light_generic{font-size:1.5rem}.table_light_generic .table_wrap{width:100%}.table_light_generic .table_wrap .duplicatable-content{display:table}.table_light_generic .table_wrap .tr{display:table}.table_light_generic .table_wrap .tr .th,.table_light_generic .table_wrap .tr .td{display:table-cell}.table_light_generic .table_wrap .tr .th{width:30%}.table_light_generic .table_wrap .tr .td{width:70%;max-width:350px}}
.title_sub{font-family:"YakuHanMP, Vollkorn, 'Hiragino Mincho ProN', eatYuM, 'Sawarabi Mincho', Meiryo, sans-serif"}.title_sub .section_h3{font-family:YakuHanMP, Vollkorn, "Hiragino Mincho ProN", eatYuM, "Sawarabi Mincho", Meiryo, sans-serif}.title_sub .text-side{max-width:850px;margin:auto;text-align:center}.title_sub .subtitle{letter-spacing:0px}.title_sub .headding_wrap,.title_sub .editable_wrap{font-size:2.5rem}.title_sub .subtitle_wrap{font-size:1.1rem}@media only screen and (min-width: 768px){.title_sub .headding_wrap,.title_sub .editable_wrap{font-size:3rem}.title_sub .subtitle_wrap{font-size:1.6rem}}
#content-wrapper #section-wrapper .table_separated_border .th{border-bottom:1px solid #ccc}#content-wrapper #section-wrapper .table_separated_border .td{border-bottom:2px dotted #ccc;padding:48px}#content-wrapper #section-wrapper .table_separated_border .duplicatable-content:nth-child(1) .th{border-top:1px solid #ccc}#content-wrapper #section-wrapper .table_separated_border .duplicatable-content:nth-child(1) .td{border-top:2px dotted #ccc}.table_separated_border{font-size:1.2rem}.table_separated_border .section_inner{max-width:880px;margin:0 auto;padding:80px 0 180px}.table_separated_border .duplicatable{padding:0 40px}.table_separated_border .table_wrap{text-align:left}.table_separated_border .duplicatable-content{width:100%}.table_separated_border .duplicatable-content:nth-child(n+2){padding:0}.table_separated_border .tr{display:flex;width:100%;font-size:16px;gap:3%}.table_separated_border .th,.table_separated_border .td{padding:2rem 1rem;vertical-align:middle;width:100%;width:calc(100% - 200px);letter-spacing:2px}.table_separated_border .th{padding:48px 0;width:200px;font-weight:bold;letter-spacing:2px;text-align:center}@media only screen and (max-width: 1024px){.table_separated_border{font-size:1.5rem}.table_separated_border .table_wrap{width:100%}.table_separated_border .duplicatable-content{display:table;padding:0}.table_separated_border .th,.table_separated_border .td{white-space:normal}}@media only screen and (max-width: 767px){.table_separated_border .section_inner{padding:0}#section-wrapper .duplicatable-content:last-child .td{border-bottom:1px solid #ccc}#content-wrapper #section-wrapper .table_separated_border .td{border:none}#content-wrapper #section-wrapper .table_separated_border .th{text-align:center;border-top:1px solid #ccc;border-bottom:none}#content-wrapper #section-wrapper .table_separated_border .duplicatable-content:nth-child(1) .td{border-top:none}#content-wrapper #section-wrapper .table_separated_border .duplicatable{padding:14px 20px 20px}#content-wrapper #section-wrapper .table_separated_border .tr{flex-direction:column;display:grid;font-size:14px}#content-wrapper #section-wrapper .table_separated_border .th{width:100%;padding:32px 0 20px 0;text-align:left}#content-wrapper #section-wrapper .table_separated_border .td{width:100%;padding:0 0 32px 0}}
.h2_center_generic02 .text-side{color:#fff;text-align:center}.h2_center_generic02 .subtitle{letter-spacing:0px}.h2_center_generic02 .headding_wrap{font-size:2rem}.h2_center_generic02 .subtitle_wrap,.h2_center_generic02 .editable_wrap{font-size:1.2rem}.h2_center_generic02 .spacer-item_wrap:nth-child(1) .editable_wrap{font-size:2rem}@media only screen and (min-width: 768px){.h2_center_generic02 .headding_wrap{font-size:3.5rem}.h2_center_generic02 .subtitle_wrap,.h2_center_generic02 .editable_wrap{font-size:1.5rem}.h2_center_generic02 .spacer-item_wrap:nth-child(1) .editable_wrap{font-size:3.5rem}}
.title_text_generic01 .text-side{max-width:850px;margin:auto;text-align:center}@media only screen and (min-width: 768px){.title_text_generic01 .text-side .text{text-align:center}}
.api_map .map_area{position:relative;overflow:hidden;padding-top:57%}.api_map .map_area iframe{position:absolute;top:0;left:0}.api_map .image-side{position:relative}.api_map .overlay{display:none}@media only screen and (min-width:768px){.api_map .map_area{padding-top:50%}.api_map_wide .map_area{padding-top:27%}}
@charset "UTF-8";#footer-section {z-index: 3;} @media only screen and (max-width:768px) {.jobs #footer-section .detail-side {display: none;}}.footer-block .footer_menu .detail-side{bottom:0;transition:bottom .5s}.footer_menu{font-size:1.4rem}.footer_menu .logo-side{padding:4rem 0;text-align:center}.footer_menu .logo{width:200px;margin:0 auto 2rem}.footer_menu .logo img{width:auto;max-width:100%}.footer_menu .logo div{display:inline}.footer_menu .menu-side{display:none}.footer_menu .detail-side{text-align:center;font-size:1.4rem;display:-ms-flexbox;display:flex;-ms-flex-direction:row-reverse;flex-direction:row-reverse;background-color:#fff;position:fixed;bottom:-100%;left:0;width:100%;transition:bottom .8s .2s}.footer_menu .detail-side_first{width:80px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;position:relative}.footer_menu .detail-side_first .tel{line-height:1.4;letter-spacing:0}.footer_menu .detail-side_first .tel a{position:absolute;width:100%;height:100%;top:0;left:0}.footer_menu .detail-side_first .tel:after{content:"phone";font-family:"Material Icons";font-size:3.6rem;font-weight:400;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"liga";font-feature-settings:"liga"}.footer_menu .detail-side_first .hour{font-size:1.2rem;display:none}.footer_menu .detail-side_second{-ms-flex-positive:1;flex-grow:1}.footer_menu .letter{letter-spacing:.1em}.footer_menu .copy{border-top:1px solid #ccc;font-size:1.2rem;padding:2rem 0;text-align:center}.footer_menu .sns-side{margin-bottom:2rem}.footer_menu .sns-side .duplicatable-container{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.footer_menu .sns-side .duplicatable-content{max-width:70px;padding:0 1rem}.footer_menu .section_btn a{white-space:nowrap}.footer_menu .back-top{cursor:pointer;width:40px;height:40px;border-radius:20px;border:1px solid #f44336;position:absolute;bottom:10px;right:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.footer_menu .back-top .arrow:before{content:"▲";color:#f44336}@media only screen and (min-width:768px){.footer_menu .footer-company{padding:3.5rem 0 5.5rem}.footer_menu .logo-side{padding:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:4rem}.footer_menu .logo{margin:0 2rem 0 0}.footer_menu .menu-side{width:80%;display:block}.footer_menu .menu-side .duplicatable-container{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;text-align:center;-ms-flex-pack:end;justify-content:flex-end}.footer_menu .menu-side .duplicatable-content{width:auto;padding:0 0 0 4rem;font-size:1.4rem}.footer_menu .detail-side{-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between;text-align:left;width:50%;margin:auto 0 auto auto;position:static;background-color:transparent}.footer_menu .detail-side_first{margin-bottom:4rem;font-size:1.8rem;display:block}.footer_menu .detail-side_first .tel{font-size:2.2rem}.footer_menu .detail-side_first .tel:after{content:none}.footer_menu .detail-side_first .tel a{position:relative;pointer-events:none}.footer_menu .detail-side_first .hour{display:block}.footer_menu .detail-side_second{margin-bottom:3rem}.footer_menu .detail-side>div{margin-bottom:0;width:100%}.footer_menu .copy{padding:1.5rem 0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.footer_menu .sns-side{margin-bottom:0}.footer_menu .sns-side .duplicatable-content{width:60px}.footer_menu .section_btn{margin:auto 0 auto auto}.footer_menu .back-top{bottom:80px}}@media only screen and (max-width:768px){.footer_menu .detail-side_first .tel{font-size:0!important}.footer_menu .detail-side_second .section_btn{max-width:none}.footer_menu .detail-side_second .section_btn a{border-radius:0}}@media only screen and (max-width: 768px){_::-webkit-full-page-media,_:future,:root .detail-side_first{text-align:center}_::-webkit-full-page-media,_:future,:root .tel.letter.editable{display:grid}}
@charset "UTF-8";#section-wrapper{background-color:#fff}#section-wrapper .headding{    font-family: YakuHanMP, 'Noto Serif', 'Hiragino Mincho ProN', eatYuM, 'Sawarabi Mincho', Meiryo, serif;
    line-height: ;
    letter-spacing: em;
}#section-wrapper .subtitle{    font-family: YakuHanJP, "Noto Sans", "Droid Sans", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Noto Sans Japanese", eatYuG, Meiryo, sans-serif;
    line-height: ;
    letter-spacing: em;
}#section-wrapper .letter{    font-family: YakuHanJP, "Noto Sans", "Droid Sans", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Noto Sans Japanese", eatYuG, Meiryo, sans-serif;
    line-height: ;
    letter-spacing: em;
}@media only screen and (min-width:769px){}#loading{position:fixed;top:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:9999;display:none}#loading .loading_inner{width:100%;height:90px;position:absolute;top:50%}#loading .loading_inner .loader_animation,#loading .loading_inner .loader_animation:before,#loading .loading_inner .loader_animation:after{border-radius:50%;width:2.4rem;height:2.4rem;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation:load7 1.3s infinite ease-in-out;animation:load7 1.3s infinite ease-in-out}#loading .loading_inner .loader_animation{color:#fff;font-size:12px;margin:10px auto;position:relative;top:-30px;text-indent:-9999rem;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation-delay:-0.16s;animation-delay:-0.16s}#loading .loading_inner .loader_animation:before,#loading .loading_inner .loader_animation:after{content:'';position:absolute;top:0}#loading .loading_inner .loader_animation:before{left:-3.4rem;-webkit-animation-delay:-0.32s;animation-delay:-0.32s}#loading .loading_inner .loader_animation:after{left:3.4rem}@-webkit-keyframes load7{0%,80%,100%{box-shadow:0 2.45rem 0 -1.25rem}40%{box-shadow:0 2.45rem 0 0}}@keyframes load7{0%,80%,100%{box-shadow:0 2.45rem 0 -1.25rem}40%{box-shadow:0 2.45rem 0 0}}#loading .circle{position:fixed;top:50%;left:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;border:8px solid #f00;border-right-color:transparent;-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:.2}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg);opacity:1.0}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg);opacity:.2}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:.2}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg);opacity:1.0}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg);opacity:.2}}

@charset "utf-8";


/* Safariのみパララックス無効 */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  _::-webkit-full-page-media, _:future, .image-bg {
    background-attachment: inherit !important;
  }
}

.thanks_page .thanks_contents{text-align: center !important;}
.thanks_page .thanks_contents h3 span{ padding: unset !important;}

/*固定gnavi回避*/
html {
  scroll-padding-top: 70px; 
}
@media only screen and (max-width: 768px){
html {
  scroll-padding-top: 50px; 
}
}

/*ブログレイアウト*/
@media only screen and (min-width: 1025px){
.page-blog section:first-of-type .content,
.page-portfolio section:first-of-type .content {
    padding: 0;
}
}

/* フォント指定 */
#section-wrapper h1,
#section-wrapper h2,
#section-wrapper h3,
#section-wrapper h4 {
    letter-spacing: 0.1em;
    word-break: break-word;
    font-weight: bold;
    color: #1a1918;
    font-family: "Shippori Mincho", serif!important;
}
.subtitle {
    font-weight: bold;
    letter-spacing: 0.1em!important;
    word-break: break-word;
    font-family: "Shippori Mincho", serif!important;
}
.letter {
    font-size: 15px!important;
    word-break: break-word;
    color: #1a1918;
}

#section-wrapper .headding,
#section-wrapper .title_line_wide .text-box .editable_wrap_title .letter {
    font-family: "Shippori Mincho", serif;
}

/*gnavi*/
.gnav_pc .gnav_items li {
    padding: 0 8px!important;
}
.gnav_pc .gnav_items li a {
    position: relative;
    letter-spacing: 0.1em;
    padding: 0 1rem;
}
.gnav_items .active > a, 
.gnav_items .visit > a,
.gnav_items li a:hover {
    opacity: 1;
}
.gnav_pc .gnav_items li:not(:last-child) a::before {
  content: "";
  transform: scale(0, 1);
  transition: transform .35s;
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #fff;
  bottom: 10%;
  left: 0;
  margin-left:0 !important;
}
.gnav_pc .gnav_items  > li.active:not(:last-child) a::before,
.gnav_pc .gnav_items li:not(:last-child) a:hover::before {
	transform: scale(1, 1);
}
.gnav_pc .gnav_items li.gnav-submenu a::before {
  display: none;
}
.gnav_pc .gnav_items li:not(.gnav-submenu):last-child {
    background: #666!important;
    transition: .3s;
}
.gnav_pc .gnav_items li:not(.gnav-submenu):last-child:hover{
    background: #999!important;
}
/*gnaviアコーディオン*/
#global-nav .gnav_accordion_wide .gnav_pc .gnav_items li:hover .dropdownSubMenu {
    border-top: none;
}
#global-nav .gnav_accordion_wide .gnav_pc .gnav_items li .dropdownSubMenu li a {
    text-align: center;
}
#global-nav .gnav_accordion_wide .gnav_pc .gnav_items li ul li:hover {
    background: #666;
}

/*gnavi sp*/
#global-nav .gnav_accordion_wide .gnav_sp {
    left: 0;
    top: 0;
    width: 100%;
}
#global-nav .gnav_accordion_wide .gnav_sp .hamburger-box .gnav_bg {
    border-radius: 0;
}
#global-nav .gnav_accordion_wide .gnav_sp .open-icon::after {
    color: #fff;
}

/* ボタンホバーアクション */
.section_btn a {
   background: transparent !important;
    border: none !important;
    color: #333 !important;
    border-bottom: 1px solid #333 !important;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    outline: none;
    position: relative;
    z-index: 2;
    overflow: hidden;
    border-radius: 0 !important;
}
.section_btn a:hover {
  opacity: 1;
}
/* ボタン 矢印 */
.section_btn a::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    position: absolute;
    top: 50%;
    top: calc(50% - 2px);
    right: 20px;
    transform-origin: center center;
    transform: rotate(45deg) translateY(-50%);
    transition: .4s;
}
.section_btn a:hover::after {
    right: 15px;
}

/*blog worksホバー*/
.banner_text .banner_link {
   background: transparent !important;
    border: none !important;
    color: #333 !important;
    border-bottom: 1px solid #333 !important;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    outline: none;
    position: relative;
    z-index: 2;
    overflow: hidden;
    border-radius: 0 !important;
}
.banner_text .banner_link:hover {
  opacity: 1;
}
/* ボタン 矢印 */
.banner_text .banner_link::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    position: absolute;
    top: 50%;
    top: calc(50% - 2px);
    right: 10px;
    transform-origin: center center;
    transform: rotate(45deg) translateY(-50%);
    transition: .4s;
}
.banner_text .banner_link:hover::after {
    right: 5px;
}

.banner_text ._color_ {
    color: #1a1918!important;
}

/* フォーム送信ボタン */
.form_area .send_btn .section_btn input {
   background: transparent !important;
    border: none !important;
    color: #333 !important;
    border-bottom: 1px solid #333 !important;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    outline: none;
    position: relative;
    z-index: 2;
    overflow: hidden;
    border-radius: 0 !important;
    transition: .4s;
}
.form_area .send_btn .section_btn input:hover {
  opacity: .7;
}

/*footer text*/
#footer-section .menu-side a {
  letter-spacing: 0.1em;
  color: #fff;
  font-weight: 400;
}
#footer-section .tel a {
  font-size: 25px!important;
  letter-spacing: 0.05em;
  font-weight: bold;
  color: #fff!important;
}
#footer-section .hour {
  color: #fff!important;
  font-size: 12px!important;
}
@media only screen and (max-width: 768px) {
  #footer-section .footer-company_inner .tel,
  #footer-section .footer-company_inner .tel a,
  #footer-section .footer-company_inner .hour  {
    font-size: 0!important;
    color: #333!important
  }
#footer-section .section_btn a {
  border-radius: 0px!important;
}
#footer-section .section_btn .linker a::before,
#footer-section .section_btn .linker a::after {
    display: none;
}
}
/*footer line*/
#footer-section .copy .letter {
    font-size: 12px!important;
}
#footer-section .footer-company::before {
    display: none;
}

/*topに戻る*/
#footer-section .back-top {
    border: 1px solid #ccc;
}
#footer-section .back-top .arrow:before {
    color: #ccc;
}

#footer-section .copyright {
    color: #ccc;
}

/*sitemap*/
.title_text_generic02 a {
  line-height: 6rem;
  color: #1a1918!important;
  font-weight: 400;
}
.title_text_generic02 .text {
  text-align: center;
}

/*contact*/
.formapps .form_area .form-item_title label  {
  font-weight: bold;
  color: #333;
}

/*kv*/
.h1_left .section-image_bg {
  background-color: rgba(0, 0, 0, .5);
}
.h1_left .section-image_bg::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-image: radial-gradient(#000 20%, transparent 20%);
  background-size: 3px 3px;
  background-repeat: repeat;
  position: absolute;
  top: 0;
  left: 0;
}
.h1_left h1 {
  font-size:  clamp(30px, 6vw, 40px) !important;
  color: #fff!important;
}
.h1_left .subtitle {
  font-size: 20px!important;
  color: #fff!important;
}
@media only screen and (max-width: 768px){
.h1_left .subtitle {
  font-size:18px!important;
}
}

/*見出しtitle_sub*/
.title_sub {
    padding: 6rem 0!important;
}
.title_sub h3 {
  position: relative;
  display: inline-block;
  padding: 0 80px;
  font-size:  clamp(30px, 6vw, 35px) !important;
}
.title_sub h3::after,
.title_sub h3::before {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: #666;
}
.title_sub h3::before {
	left: 0;
}
.title_sub h3::after {
	right: 0;
}
.title_sub .subtitle {
  font-size: 20px!important;
  color: #9d9d9d!important;
}
@media only screen and (max-width: 767px) {
.title_sub {
    padding: 4rem 0!important;
}
.title_sub h3 {
   padding: 0 40px;
}
.title_sub h3::after,
.title_sub h3::before {
	width: 30px;
}
.title_sub .subtitle {
  font-size: 18px;
}
}

#section_516068 .title_sub h3,
#section_516107 .title_sub h3,
#section_516201 .title_sub h3,
#section_516236 .title_sub h3,
#section_516258 .title_sub h3 {
    font-size: clamp(25px, 6vw, 30px) !important;
    letter-spacing: 0 !important;
}

#section_516159 .title_sub h3 {
    font-size: clamp(25px, 6vw, 30px) !important;
    letter-spacing: 0 !important;
}
#section_516159 .title_sub .subtitle {
  font-size: 15px!important;
  margin-top: 20px;
}

/* infomation_all_generic*/
.infomation_all_generic .section-image_bg {
    background-color: #666;
    opacity: 1 !important;
}
.infomation_all_generic h3 {
    font-size: clamp(30px, 6vw, 35px) !important;
    color: #fff!important;
}
.infomation_all_generic .subtitle {
    font-size: 18px;!important;
}
.infomation_all_generic .letter {
    color: #fff!important;
}
.infomation_all_generic .tel-linker a {
    font-size:  clamp(25px,6vw, 30px) !important;
    color: #fff!important;
    font-weight: bold;
}

/*文字白ボタン */
#footer-section .section_btn a{
    color: #fff !important;
    border-bottom: 1px solid #fff!important;
    background: #333!important;
}
.infomation_all_generic .section_btn a {
    color: #fff !important;
    border-bottom: 1px solid #fff!important;
}
#footer-section .section_btn a::after,
.infomation_all_generic .section_btn a::after {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
}
@media only screen and (min-width: 768px) {
#footer-section .section_btn {
    max-width: 200px;
}
}

/*square_four_images_with_text */
.square_four_images_with_text .image-frame-bg .frame-image::after {
    content: "";
    background: #000;
    opacity: 0.5;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.square_four_images_with_text .duplicatable-content .frame-image {
  transition: .3s;
}
.square_four_images_with_text .duplicatable-content:hover .frame-image {
  transform: scale(1.2);
}
.square_four_images_with_text .duplicatable-content {
  overflow: hidden;
}
.square_four_images_with_text a:hover {
    opacity: 1;
}
.square_four_images_with_text h3 {
    color: #fff!important;
    font-size:  clamp(20px,6vw, 25px) !important;
}
@media only screen and (max-width: 420px){
.square_four_images_with_text.width-limit .section_inner {
    padding: 0;
}
.square_four_images_with_text .text-side {
    padding: 0 5px;
}
.square_four_images_with_text h3 {
    font-size:  18px!important;
}
}

/*kv*/
.h2_text .section-image_bg {
  background-color: rgba(0, 0, 0, .4);
}
.h2_text .section-image_bg::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-image: radial-gradient(#000 20%, transparent 20%);
  background-size: 3px 3px;
  background-repeat: repeat;
  position: absolute;
  top: 0;
  left: 0;
}
.h2_text h2 {
  font-size:  clamp(40px, 6vw, 45px) !important;
  color: #fff!important;
}
.h2_text .subtitle {
  font-size: 20px!important;
  color: #fff!important;
}
@media only screen and (max-width: 768px){
.h2_text .subtitle {
  font-size:18px!important;
}
}

/*見出し sub_title*/
.sub_title  {
    padding: 6rem 0;
}
#section_516077 .sub_title {
    padding: 6rem 0 0;
}
.sub_title h3 {
    font-size:  clamp(30px,6vw, 35px) !important;
   position: relative;
    display: inline-block;
    padding: .5em 2rem;
}
.sub_title h3::after {
    position: absolute;
    content: " ";
    display: block;
    width: 100%;
    height: 3px;
    bottom: -3px;
    left: 0;
    background: linear-gradient(90deg, #333 50px, #ccc 50px);
}
.sub_title .subtitle {
   font-size:  20px!important;
   padding-top: 10px;
   color: #9d9d9d;
}
@media only screen and (max-width: 768px){
.sub_title  {
    padding: 4rem 0;
}
#section_516077 .sub_title {
    padding: 4rem 0 0;
}
}

/*見出し 会社概要*/
.h2_center_generic01 h2,
.h2_center_generic02 h2 {
    font-size:  clamp(30px,6vw, 35px) !important;
}
.h2_center_generic01 .subtitle,
.h2_center_generic02 .subtitle {
   font-size:  20px!important;
   color: #9d9d9d;
}

/*テーブル02*/
.table_separated_border .section_inner {
    padding: 0;
}

/*テーブル*/
.table_light_generic .table_wrap .tr .th {
    background-color: #666;
    color: #fff!important;
    font-weight: bold;
}
.table_light_generic .table_wrap .tr {
    border-bottom: 1px solid #fff;
}
.table_light_generic .duplicatable-container {
    border-top: 1px solid  #666;
}
.table_light_generic .table_wrap .td {
    border-bottom: 1px solid #666;
}


/*vertical_icon_dup */
.vertical_icon_dup .image-frame-bg::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    pointer-events: none;
    opacity: .4;
}
.vertical_icon_dup .duplicatable-content_inner {
    padding-top: 150%;
}
.vertical_icon_dup .duplicatable-container {
  display: flex;
  justify-content: center;
  gap: 2%;
}
.vertical_icon_dup .duplicatable-container .duplicatable-content {
  width: 25%;
  margin-bottom: 30px;
  overflow: hidden;
}
.vertical_icon_dup .text-side_inner {
  width: 100%;
  height: 10%;
  padding: 0;
}
.vertical_icon_dup .text-side_image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -100%);
}
.vertical_icon_dup .editable_wrap {
  height: 100%;
}
.vertical_icon_dup .section_h3 {
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0!important;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff!important;
}
.vertical_icon_dup .letter {
    color: #fff!important;
}
.vertical_icon_dup .text-side {
    padding: 15px;
}
@media screen and (max-width:768px) {
.vertical_icon_dup .duplicatable-container {
    flex-wrap: wrap;
  }
.vertical_icon_dup .duplicatable-container .duplicatable-content {
    width: 48%;
  }
.vertical_icon_dup .section_h3 {
    font-size: 18px;
}
.vertical_icon_dup .text-side {
    padding: 5px;
}
}

/*circle-box_link*/
.circle-box_link .image_wrap .image-frame div:before {
    content: "";
    background-color: #000;
    opacity: .3;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    z-index: 2;
}
#section_516244 .circle-box_link .image_wrap .image-frame div:before {
    background-color: #333;
    opacity: 1;
}
.circle-box_link .circle_wrap:hover .image-frame {
  box-shadow: none;
}
.circle-box_link .image_text {
  font-size: 22px!important;
  font-weight: bold!important;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
.circle-box_link .image_text {
  font-size: 18px!important;
}
}

/*card_icon*/
.card_icon .card_icon-bg {
background: #333 !important;
}
.card_icon .card_icon-item {
    border: none;
}
.card_icon h3 {
   color: #fff!important;
    font-size: 25px!important;
}
.card_icon .letter {
   color: #fff;
    font-size: 15px!important;
}
.card_icon .text-side {
    margin: auto;
}
@media only screen and (max-width: 768px){
.card_icon h3 {
    font-size: 20px!important;
}
}
.card_icon .duplicatable-content:hover {
    transform: translateY(-5px);
}
.card_icon .duplicatable-content {
    transition: .3s all;
}
.card_icon a:hover {
    opacity: 1;
}
.card_icon .card_icon-item {
    box-shadow: none;
}

/*見出し title_all*/
.title_all  {
    padding: 6rem 0;
}
.title_all h3 {
   position: relative;
    display: inline-block;
    padding: .5em 2rem;
}
.title_all h3::after {
    position: absolute;
    content: " ";
    display: block;
    width: 100%;
    height: 3px;
    bottom: -3px;
    left: 0;
    background: linear-gradient(90deg, #333 50px, #ccc 50px);
}
.title_all .subtitle {
   padding-top: 10px;
}
@media only screen and (max-width: 768px){
.title_all  {
    padding: 4rem 0;
}
}

/*simple_text_content*/
.simple_text_content .simple_text_title.editable.headding::before {
    background-color: #ccc;
}
.simple_text_content .simple_text_title.editable.headding {
    padding: 0 0 0 2rem;
  font-size:  clamp(25px, 6vw, 30px) !important;
}

/*title_line_wide*/
@media only screen and (min-width: 768px) {
.title_line_wide_reversible .title-box {
    width: 45%;
}
.title_line_wide_reversible .text-box {
    width: 55%;
}
}
.title_line_wide_reversible h3 {
  font-size:  clamp(35px, 6vw, 40px) !important;
  background: linear-gradient(0deg, rgba(0, 0, 0, .1) 30%, transparent 30%);;
  display: inline;
  padding: 0.5rem;
}
.title_line_wide_reversible .subtitle {
  font-size: 20px!important;
  color: #9d9d9d!important;
text-align: center;
}
.title_line_wide_reversible .editable_wrap_title .letter {
  font-size: 20px!important;
  font-weight: bold;
}
.title_line_wide_reversible .headding_wrap {
    text-align: center;
}
@media only screen and (max-width: 768px) {
.title_line_wide_reversible .editable_wrap_title .letter {
  font-size: 18px!important;
}
}
/* 網 */
.title_line_wide_reversible .section-image_bg:before {
    content: "";
    position: absolute;
    z-index: -1;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(https://s3-ap-northeast-1.amazonaws.com/flamingo-production/uploads/storage/image/file/242249/optimized_N6QMeJEzc9N33QclgdZDDg.png) repeat 50% 50%/16px 16px !important;
    opacity: .5;
}

/*title_line_wide_light
@media only screen and (max-width: 768px) {
.title_line_wide_light .section-animation-wrap .element-1,
.title_line_wide_light.reverse .section-animation-wrap .element-1 {
    left: 30%;
}
.title_line_wide_light .section-animation-wrap .element-2,
.title_line_wide_light.reverse .section-animation-wrap .element-2  {
    left: 44%;
}
.title_line_wide_light .section-animation-wrap .element-3,
.title_line_wide_light.reverse .section-animation-wrap .element-3 {
    display: none;
}
.title_line_wide_light .section-animation-wrap .element-4,
.title_line_wide_light.reverse .section-animation-wrap .element-4 {
    left: 44%;
}
.title_line_wide_light .section-animation-wrap .element-5,
.title_line_wide_light.reverse .section-animation-wrap .element-5 {
    left: calc(41% + 3px);
}
}
*/

.title_line_wide .editable_wrap_title .letter {
  font-size: 20px!important;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
.title_line_wide .editable_wrap_title .letter {
  font-size: 18px!important;
}
}

/*alternating-backcolor*/
.alternating-backcolor .duplicatable-content:nth-child(odd) .dc-inner_bg .frame-image {
    background-color: #f1f1f1;
}
.alternating-backcolor h3 {
  font-size:  clamp(20px, 6vw, 25px) !important;
}

/*mv*/
.mainvisual_standard .section-image_bg {
    background: rgba(0, 0, 0, .4);
}
.mainvisual_standard .section-image_bg::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-image: radial-gradient(#000 20%, transparent 20%);
  background-size: 3px 3px;
  background-repeat: repeat;
  position: absolute;
  top: 0;
  left: 0;
}
.mainvisual_standard h1 {
  font-size:  clamp(35px, 6vw, 45px) !important;
  color: #fff!Important;
}
.mainvisual_standard .subtitle {
  font-size:  20px!important;
}
@media only screen and (max-width: 420px) {
.mainvisual_standard .subtitle {
  font-size:  18px!important;
}
}

/*h2_bgfix*/
.h2_bgfix .section-image_bg {
    background: rgba(0, 0, 0, .8);
}
.h2_bgfix h2 {
  font-size:  clamp(30px, 6vw, 35px) !important;
    color: #fff!important;
}
.h2_bgfix .subtitle {
  font-size: 15px!important;
}

/*title_simple_wide_reversible*/
.title_simple_wide_reversible h3 {
  font-size:  clamp(30px, 6vw, 35px) !important;
  background: linear-gradient(0deg, rgba(0, 0, 0, .1) 30%, transparent 30%);;
  display: inline;
  padding: 0.5rem;
}
.title_simple_wide_reversible .subtitle {
  font-size: 20px!important;
  color: #9d9d9d!important;
}
.title_simple_wide_reversible .editable_wrap_title .letter {
  font-size: 20px!important;
  font-weight: bold;
}
.title_simple_wide_reversible .headding_wrap {
  line-height: 1;
}
@media only screen and (max-width: 768px) {
.title_simple_wide_reversible .editable_wrap_title .letter {
  font-size: 18px!important;
}
}

/*half_two_image_misaligned*/
.half_two_image_misaligned .frame-image::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .3;
}
.half_two_image_misaligned h3 {
    color: #fff!important;
  font-size:  clamp(30px, 6vw, 35px) !important;
}
.half_two_image_misaligned .text-side_inner {
    max-width: 350px;
    text-align: center;
}
.half_two_image_misaligned .section_btn a{
    background: #fff!important;
}

/*font*/
.half_wide_limited_height .subtitle,
.api_map_text .subtitle {
 font-size: 15px;
 color: #9d9d9d;
}

.new_standard_content_two h3,
.standard_content_one h3 {
  font-size:  clamp(25px, 6vw, 30px) !important;
}

/*20241016修正*/
.title_line_vertical_writing {
    padding: 5% 0;
}

.title_line_wide .text-box .letter {
    line-height: 2.5;
}

@media only screen and (min-width: 768px) {
.footer_menu .detail-side>div {
    width: initial;
}

.footer_menu .detail-side {
    -ms-flex-pack: flex-end;
    justify-content: flex-end;
    width: 100%;
}

.footer_menu .detail-side .detail-side_second {
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 250px;
    margin-left: 2rem;
}
}

@media only screen and (min-width: 1025px) and (max-width:1220px){
.gnav_pc .gnav_items li {padding: 0 .4rem !important;font-size: 1.2rem;}
}
@media only screen and (max-width: 767px) {
.title_line_wide .spaceable-top,.title_line_wide .spaceable-top{padding-bottom:20px;}
}


.title_line_wide.title_line_wide_light.title_line_wide.reverse.section_name .section-animation-wrap .element-1 {
        left: auto;
        right: 0;
    }

    .title_line_wide.title_line_wide_light.title_line_wide.reverse.section_name .section-animation-wrap .element-3 {
        left: auto;
        right: 98px;
        width: calc(100% - 200px);
    }

    .title_line_wide.title_line_wide_light.title_line_wide.reverse.section_name .section-animation-wrap .element-4 {
        left: 100px;
    }

.title_line_wide.title_line_wide_light.title_line_wide.reverse.section_name .section-animation-wrap .element-5 {
        left: calc(100px + -19px);
    }


@media (max-width:767.9px) {
.title_line_wide_light .section-animation-wrap .element-3 {
    width: calc(100% - 200px);
}

.title_line_wide_light .section-animation-wrap .element-4 {
    left: calc(100% - 100px);
}

.title_line_wide_light .section-animation-wrap .element-5 {
    left: calc(100% - 119px);
}
}

