@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; }
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration { display: none; }
input[type="submit"]::focus, input[type="button"]::focus { outline-offset: -2px; }

/*===============================
 Base
===============================*/
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box;-o-box-sizing: border-box;  -ms-box-sizing: border-box;box-sizing: border-box;}
.sp { display: none; }
body { color: #020202; }
a { color: #fff; text-decoration: none; transition: .5s; }
a:hover { color: #D7182A; }
img { width: 100%; height: auto; }
.slick-slide img.sp { display: none; }
@media screen and (max-width:1024px) {
	.pc-br { display: none; }
}
@media screen and (max-width:767px) {
	/* 画面サイズが 767px以下の場合に適用 */
	.pc { display: none; }
	.sp { display: block; width: 100%; }
}

/*===============================
 Clear
===============================*/
img { border: 0; vertical-align: top; font-size: 0; line-height: 0; }
ol, ul { list-style: none!important; }
* { margin: 0; padding: 0; }

/*===============================
 Font
===============================*/
html { font-size: 10px; }
body { font-family: noto-sans-cjk-jp, sans-serif; line-height: 1.875; font-size: 1.6rem; font-weight: 400; font-style: normal; letter-spacing: 0.05em; }
h1, h2, h3, h4, h5 { line-height: 1.538; }
p, li, dt, dd, th, td { line-height: 2; font-size: 1.6rem; letter-spacing: 0.05em; color: #020202; }
a { letter-spacing: 0.05em; }

/*===============================
 Layout
===============================*/
#wrapper { overflow: hidden; background-color: #F7F7F8; }
.container { width:90%; margin:0 auto; max-width: 1280px; position: relative; }
.container02 { width:90%; margin:0 auto; max-width: 1700px; position: relative; }
.left-container { width:95%; max-width: calc(1140px + ((100% - 1140px) / 2)); margin: 0 0 0 auto; position: relative; }
.right-container { width:95%; max-width: calc(1140px + ((100% - 1140px) / 2)); margin: 0 auto 0 0; position: relative; }
.linkbtn { display: flex; align-items: center; justify-content: center; background-color: #D7182A; border: 3px solid #D7182A; border-radius: 30px; color: #fff; width: 360px; min-height: 70px; font-weight: 500; }
.linkbtn:hover { background-color: #fff; color: #D7182A; }
.btn_arrow { position: relative; }
.btn_arrow:before { content: ""; position: absolute; bottom: 42%; right: 25px; width: 60px; height: 1px; background: #fff; transition: all .2s linear; }
.btn_arrow:after { content: ""; position: absolute; top: 39%; right: 30px; width: 1px; height: 12px; background: #fff; transform: skewX(45deg); transition: all .2s linear; }
.btn_arrow:hover::before { background: #01152A; width: 39px; }
.btn_arrow:hover::after { background: #01152A; }
.sectitle01 { font-family: futura-100, sans-serif; font-size: clamp(8.5rem, 6.4vw, 12.0rem); font-weight: 700; line-height: 1; font-style: normal; letter-spacing: 0.05em; }
.sectitle02 { font-family: futura-100, sans-serif; font-size: clamp(16.5rem, 15.4vw, 26rem); color: #fff; font-weight: 700; line-height: 1; font-style: normal; letter-spacing: 0.05em; }
.secsubtitle01 { font-family: times-new-roman, sans-serif; font-weight: 400; font-size: 1.6rem;}
.page_sectit_area { margin-bottom: 70px; }
.page_sectit { font-size: 2.0rem; font-weight: 500; text-align: center; }
.page_secsubtit { text-align: center; font-family: futura-100, sans-serif; font-size: clamp(6.5rem, 5.4vw, 10.0rem); font-weight: 700; line-height: 1; font-style: normal; letter-spacing: 0.05em; margin-bottom: 20px; }
.pagetit { font-size: clamp(1.6rem, 2.0vw, 2.4rem); line-height: 1.3; font-weight: 700; letter-spacing: 0.03em; color: #020202; font-family: kinuta-mincho-stdn, sans-serif; }
.pagesubtit { color: #020202; font-weight: 700; font-size: clamp(8.5rem, 7.4vw, 14.0rem); letter-spacing: 0.01em; line-height: 1; font-style: normal; font-family: futura-100, sans-serif; text-transform:uppercase; }
.pagetitle { position: relative; z-index: 1; }
.pagetitle_img { position: absolute; width: 400px; top: 20px; right: 5%; }
.cta {padding: 100px 0;}
.cta .linkbtn { margin: 0 auto; background-color: #FAC60E; color: #121212; border: 3px solid #FAC60E; width: 600px; min-height: 100px; font-size: 2.4rem; font-weight: 700; }
.cta .linkbtn:hover { background-color: #fff; color: #FAC60E; }
.cta.btm { padding-bottom: 200px; }
.clear { clear:both; }
section { padding:120px 0; position: relative; }
.clearfix:after { content: ""; display: block; clear: both; }
@media screen and (min-width: 1501px) {
section { padding:150px 0; position: relative; }
}
@media screen and (min-width: 1025px) and (max-width: 1500px) {
.container { max-width: 1100px; }
}

/*==================================================
ふわっ
===================================*/
/* その場で */
.fadeIn{ animation-name:fadeInAnime; animation-duration:2.0s; animation-fill-mode:forwards; opacity:0; }
@keyframes fadeInAnime{
	from { opacity: 0; }
	to { opacity: 1; }
}

/* 上から */
.fadeImg{ animation-name:fadeImgAnime; animation-duration:1.5s; animation-fill-mode:forwards; -moz-transition: all .6s ease; -o-transition: all .6s ease; -ms-transition: all .6s ease; -webkit-transition: all .6s ease; transition: all .6s ease; transition-delay: .5s; }
@keyframes fadeImgAnime{
	from { -webkit-transform: scale(1.0); -moz-transform: scale(1.0); -ms-transform: scale(1.0); -o-transform: scale(1.0); transform: scale(1.0); }
	to { -webkit-transform: scale(1.1); -moz-transform: scale(1.1); -ms-transform: scale(1.1); -o-transform: scale(1.1); transform: scale(1.1); }
}

/* 上から */
.fadeDown{ animation-name:fadeDownAnime; animation-duration:0.7s; animation-fill-mode:forwards; opacity:0; }
@keyframes fadeDownAnime{
	from { opacity: 0; transform: translateY(-100px); }
	to { opacity: 1; transform: translateY(0); }
}

/* 下から */
.fadeUp{ animation-name:fadeUpAnime; animation-duration:0.7s; animation-fill-mode:forwards; opacity:0; }
@keyframes fadeUpAnime{
	from { opacity: 0; transform: translateY(50px); }
	to { opacity: 1; transform: translateY(0); }
}

/* 左から */
.fadeLeft{ animation-name:fadeLeftAnime; animation-duration:1.0s; animation-fill-mode:forwards; opacity:0; }
@keyframes fadeLeftAnime{
	from { opacity: 0; transform: translateX(-100px); }
	to { opacity: 1; transform: translateX(0); }
}

/* 右から */
.fadeRight{ animation-name:fadeRightAnime; animation-duration:1.0s; animation-fill-mode:forwards; opacity:0; }
@keyframes fadeRightAnime{
	from { opacity: 0; transform: translateX(100px); }
	to { opacity: 1; transform: translateX(0); }
}
	
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeInTrigger, .fadeUpTrigger, .fadeDownTrigger, .fadeLeftTrigger, .fadeRightTrigger{ opacity: 0; }

/*===============================
 COMMON
===============================*/
/* btm_link */
.btm_link { padding: 70px 0 200px; }
.btm_link_inner { width: 960px; margin: 0 auto; position: relative; }
.btm_link_box { width: 100%; background-color: #FFFFFF; padding: 5%; position: relative; z-index: 1; transition: all .2s linear; }
.btm_link_box:hover { transform:translate3D(9px, 9px, 0); opacity: 1; }
.btm_link_box_tit { font-size: 2.6rem; font-weight: 700; margin-bottom: 15px; }
.btm_link_box_shadow { position: absolute; width: 100%; height: 100%; background-color: #020202; top: 10px; left: 10px; }
.red_circle { width: 70px; height: 70px; border: 1px solid #D7182A; border-radius: 50%; }
.btm_link_box .red_circle { position: absolute; right: 4%; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); }
.btm_link_box .red_circle:before { content: ""; position: absolute; bottom: 26px; right: 25px; width: 120px; height: 1px; background: #D7182A; transition: all .2s linear; }
.btm_link_box .red_circle:after { content: ""; position: absolute; bottom: 26px; right: 35px; width: 1px; height: 22px; background: #D7182A; transform: skewX(45deg); transition: all .2s linear; }
.btm_link_box:hover .red_circle:before { width: 90px; }

/* article */
.archive-article { position: relative; }
.archive-article:hover { cursor: pointer; }
.archive-article_img { overflow: hidden; border-radius: 10px; margin-bottom: 15px; }
.archive-article_img_inner { display: block; padding-top: 60%; background-position: center; background-size: cover; background-repeat: no-repeat; transition-duration: .5s; }
.archive-article:hover .archive-article_img_inner { transform: scale(1.1); }
.archive-article_info .corp_name { font-size: 1.6rem; color: #666; margin-bottom: 5px; transition-duration: .5s; }
.archive-article_info .tit { font-size: 1.9rem; line-height: 1.75; margin-bottom: 15px; transition-duration: .5s; }
.archive-article_info .category { display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; gap: 10px; }
.archive-article_info .category > li { font-size: 1.4rem; border: 1px solid #020202; border-radius: 6px; padding: 0 10px; transition-duration: .5s; }
.archive-article:hover .archive-article_info .corp_name { color: #D7182A; }
.archive-article:hover .archive-article_info .tit { color: #D7182A; }
.archive-article:hover .archive-article_info .category > li { color: #D7182A; border: 1px solid #D7182A; }
.top-two_cover { display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; text-indent: -9999px; z-index: 2; }

/* card-article（articleを元に） */
.archive-card-article .archive-article_img { border-radius: 10px 10px 0 0; margin-bottom: 0; }
.archive-card-article .archive-article_info { background-color: #D6D6D6; border-radius: 0 0 10px 10px; padding: 4% 6%; transition-duration: .5s; }
.archive-card-article .archive-article_info .date { font-family: futura-100, sans-serif; margin-bottom: 5px; transition-duration: .5s; }
.archive-card-article .archive-article_info .title { margin-bottom: 15px; transition-duration: .5s; }
.archive-card-article .archive-article_info .category span.item { font-size: 1.4rem; border: 1px solid #020202; border-radius: 6px; padding: 0 10px; transition-duration: .5s; }
.archive-card-article .top-two_cover { transition-duration: .5s; border: 1px solid rgba(0, 0, 0, 0); border-radius: 10px; }
.archive-card-article:hover .top-two_cover { border: 1px solid #D7182A; }
.archive-card-article:hover .archive-article_info { background-color: #FFFFFF; }
.archive-card-article:hover .archive-article_info .date { color: #D7182A; }
.archive-card-article:hover .archive-article_info .title { color: #D7182A; }
.archive-card-article:hover .archive-article_info .category span.item { color: #D7182A; border: 1px solid #D7182A; }

/* 支援用記事アイテム（articleを元に） */
.workArticle .company { font-size: 1.5rem; margin-bottom: 5px; transition: 0.5s; color: #666666; }
.workArticle .title { font-size: 1.9rem; margin-bottom: 10px; transition: 0.5s; }
.workArticle .service { line-height: 1.5; }
.workArticle .service span { margin-right: 15px; font-size: 1.4rem; color: #D7182A; display: inline-block; }
.workArticle:hover .company { color: #D7182A; }
.workArticle:hover .title { color: #D7182A; }

/*===============================
 header
===============================*/
#header { position: fixed; min-height: 80px; width: 100%; z-index: 999; display: flex; justify-content: flex-end; align-items: center; background: #020202; transition: 0.5s; padding-right: 20px; }
#header.change-color { background-color: #020202; }
#header .header_logo { position: absolute; top: 15%; left: 30px; width: 180px; }
#pc-nav ul.menu { list-style: none; display: flex; justify-content: center; align-items: center; margin: 0; }
#pc-nav ul.menu > li > a { display: block; text-decoration: none; margin: 0 25px; font-size: 1.5rem; line-height: 1; color: #FFFFFF; }
#pc-nav ul.menu > li > a:hover { color: #D7182A; }
#pc-nav ul.menu > li:last-of-type { margin-left: 30px; }
#header #pc-nav ul.menu .contact_btn { display: flex; align-items: center; justify-content: center; color: #FFFFFF; background-color: #D7182A; border: 1px solid #D7182A; min-width: 200px; min-height: 60px; margin: 0; border-radius: 5px; font-weight: 700; }
#header #pc-nav ul.menu .contact_btn:hover { background-color: #fff; color: #D7182A; opacity: 1; }

/* ドロップダウンメニュー */
.menu-item { position: relative; }
/* ドロップダウンメニューの初期状態（隠す） */
.dropdown-content { position: absolute; top: 100%; /* 親メニューのすぐ下に配置 */ left: 50%; transform: translateX(-50%); width: 800px; /* 必要に応じて調整 */ background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,0.3); padding: 20px; z-index: 100; /* アニメーションの準備 */ opacity: 0; visibility: hidden; transition: all 0.3s ease; margin-top: 25px; /* 少し浮かせておいて、ホバー時にせり上がる演出 */ border-radius: 10px; }
/* ホバー時の挙動 */
.menu-item.is-active .dropdown-content { opacity: 1; visibility: visible; margin-top: 15px; }
/* 下層メニュー内のレイアウト */
.dropdown-inner { display: block; width: 100%; }
.sub-menu { list-style: none; padding: 0; display: flex; gap: 20px; margin-bottom: 35px; }
.sub-menu li { width: 50%; }
.sub-menu li .title { text-align: center; margin-bottom: 20px; }
.sub-menu li .image_wrap { display: block; width: 100%; height: 200px; overflow: hidden; border-radius: 10px; }
.sub-menu li .image_wrap .image { background-size: cover; background-position: center; width: 100%; height: 100% !important; display: block; overflow: hidden; position: relative; z-index: 2; transition-duration: .5s; }
.sub-menu li:hover .image_wrap .image { transform: scale(1.1); }
.sub-menu a { text-decoration: none; color: #020202; }
.sub-menu a:hover { color: #D7182A; /* ホバー時に色を変える */ }
.dropdown-content .bcartbanner_area .title { text-align: center; margin-bottom: 10px; }
.dropdown-content .bcartbanner_area .bcartbanner_link { max-width: 500px; margin: 0 auto; }
.dropdown-content .bcartbanner_area .bcartbanner_link:hover { opacity: 0.8; }

/* パンくずリスト */
.breadcrumb { display: flex; white-space: nowrap; overflow-x: scroll; flex-wrap: nowrap; list-style: none; padding: 0; margin: 20px 0 10px; } 
.breadcrumb-item { font-size: 1.2rem; line-height: 1; }
.breadcrumb-item + .breadcrumb-item::before { content: ">"; padding: 0 10px; color: #999; } 
.breadcrumb-item a { color: #020202; text-decoration: none; } 
.breadcrumb-item a:hover { text-decoration: underline; } 
.breadcrumb-item[aria-current="page"] { color: #888; pointer-events: none; }
.mv01_inner .breadcrumb_nav, .mv02_inner .breadcrumb_nav { position: absolute; top: 0; width: 90%; max-width: 1280px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); z-index: 10; }
body.single .breadcrumb_nav { margin: 100px auto 0; max-width: 1280px; width: 90%; }
body.single.singlebody-news .breadcrumb_nav { max-width: 890px; }
.mv_privacy_inner .breadcrumb_nav { padding: 0 5%; position: absolute; top: 0; width: 90%; max-width: 1100px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); z-index: 10; }

@media screen and (min-width: 1025px) and (max-width: 1500px) {
.mv01_inner .breadcrumb_nav, .mv02_inner .breadcrumb_nav { max-width: 1100px; }
}
@media screen and (min-width: 1025px) and (max-width: 1140px) {
	
}
@media screen and (max-width: 1024px) {
	#pc-nav { display: none; }
}

/*===============================
 MV
===============================*/
#mv { width: 100%; position: relative; padding-top: 80px; }
.mv_Txtslide_item { font-size: 5.0rem; font-weight: 700; color: rgba(2, 2, 2, 0.32); line-height: 1.7; }
.mv_Workarea { position: relative; padding: 30px 0; }
.mv_Workarea:before { content: ''; position: absolute; width: 30%; height: calc(100% + 100px); background-color: #020202; top: 0; right: 0; }
.mv_Workarea:after { content: ''; position: absolute; width: 2%; height: calc(100% + 100px); background-color: #020202; top: 0; right: 32%; }
.mv_Workslide_item { position: relative; padding-top: 63vh; background-position: center; background-size: cover; background-repeat: no-repeat; width: 48vw; height: max-content; border-radius: 10px; box-shadow: 0 10px 20px rgba(0,0,0,0.2); }
ul.mv_Workslide li.mv_Workslide_item:nth-of-type(2n) { margin-top: 8vh; }
.mv_maintxt { position: absolute; padding: 20px 30px; background-color: rgba(255,255,255,0.75); bottom: 50px; left: 5vw; z-index: 10; }
.mv_maintxt .jp { font-size: 4.0rem; font-weight: 700; color: #D7182A; }
.mv_maintxt .en { font-size: 2.0rem; font-weight: 500; color: #D7182A; }
/* 1. アニメーション定義: 2倍の幅を持つトラックを半分の距離だけ流す */
@keyframes scroll {
  /* 開始: トラックの先頭から */
  from { transform: translateX(0); }
  /* 終了: トラックの幅の半分（オリジナルグループ分）だけ左に移動 */
  to { /* トラックの幅が 200% の場合、50% の移動でオリジナルグループの幅だけ移動する */
  transform: translateX(-50%); }
}

/* 2. ビューポート: 表示範囲を区切り、はみ出た部分を隠す */
.slider-viewport { width: 100%; overflow: hidden; /* **必須**：アニメーションの外枠 */ }

/* 3. トラック: 全アイテムを格納し、アニメーションを適用する要素 */
.slider-track { display: flex;  flex-wrap: nowrap;  will-change: transform; }

/* 4. グループ: 複製したオリジナルと複製を同じ幅にする */
.slider-group { display: flex; flex-shrink: 0; /* トラック内で縮まないようにする */ }

/* 5. アイテム: 可変幅とマージンの設定 */
.slide-item {/* **必須**：各アイテムの幅を明示的に設定する（HTMLの style 属性かクラスで） */ flex-shrink: 0; /* **必須**：アイテムが縮まないようにする */ display: inline-flex; gap: 0.5em; margin-right: 0.5em; }
.slide-item:after { content: '/'; }

/* 1. ビューポート: 表示範囲を区切り、はみ出た部分を隠す */
.slider-viewport-img { width: 100%; overflow: hidden; position: relative; z-index: 1; }

/* 2. トラックとグループ: 横並び設定 */
.slider-track-img { display: flex;  flex-wrap: nowrap; /* アニメーション適用 */ /* 【重要】アニメーションはJSで行うため、CSSではアニメーション設定は行いません */  will-change: transform; /* GPUアクセラレーションの強制 */ }
.slider-group-img { display: flex; flex-shrink: 0; }

/* 3. アイテム: 固定幅を設定 */
.slide-item-img { flex-shrink: 0; /* アイテム間の余白 */ margin-right: 2vw; }

/* @keyframes scroll は JavaScript によって動的に挿入されます */
.mv01 { position: relative; padding-top: 80px; background-size: cover; background-position: center; }
.mv02 { padding-top: 80px; background-size: cover; background-position: center; }
.mv01 .mv01_inner { position: relative; padding: 70px 0; }
.mv01 .mv01_inner::after { content: ''; position: absolute; top: 0; right: 0; width: 72vw; height: 100%; background-color: #EDEBEB; }
.mv01 .pagesubtit { margin-bottom: 15px; }
.mv02 { position: relative; }
.mv02 .mv02_inner { padding: 70px 0 0; position: relative; }
.mv02 .pagesubtit { font-size: 8.0rem; text-transform: capitalize; margin-bottom: 40px; line-height: 1.2; }
.mv02 .pagetit { font-size: 1.8rem; }

@media screen and (min-width: 1025px) and (max-width: 1500px) {

}

@media screen and (min-width: 1025px) and (max-width: 1220px) {

}

/*=== 9-1-4 矢印が動いてスクロールを促す  ====*/

/*スクロールダウン全体の場所*/
.scrolldown4{ /*描画位置※位置は適宜調整してください*/ position:absolute; bottom:1%; right:50%; /*矢印の動き1秒かけて永遠にループ*/ animation: arrowmove 1s ease-in-out infinite; }

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{ 0%{bottom:1%;} 50%{bottom:3%;} 100%{bottom:1%;} }

/*Scrollテキストの描写*/
.scrolldown4 span{ /*描画位置*/ position: absolute; left:-34px; bottom:10px; /*テキストの形状*/ color: #eee; font-size: 1.8rem; letter-spacing: 0.05em; /*縦書き設定*/ -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; text-shadow: 0px 1px 2px #909090; }

/* 矢印の描写 */
.scrolldown4:before { content: ""; /*描画位置*/ position: absolute; bottom: 0; right: -6px; /*矢印の形状*/ width: 2px; height: 20px; background: #eee; transform: skewX(-31deg); box-shadow: 0px 1px 2px #909090; }
.scrolldown4:after{ content:""; /*描画位置*/ position: absolute; bottom: 0; right:0; /*矢印の形状*/ width:2px; height: 82px; background:#eee; box-shadow: 0px 1px 2px #909090; }

/*===============================
 トップページ
===============================*/
.top_sectit { margin-bottom: 100px; text-align: center; position: relative; }

/* TOP-ABOUT */
#top_about { padding: 70px 0 150px; }
#top_about:before { content: ''; position: absolute; z-index: 1; width: 25px; height: calc(100% + 50px); background-color: #020202; top: 70px; left: 2.5vw; }
#top_about .top_sectit { text-align: left; margin-bottom: 50px; }
#top_about .catchcopy { font-size: 2.6rem; font-weight: 700; margin-bottom: 30px; }
#top_about .maintxt { margin-bottom: 50px; }

/* TOP-SERVICE */
#top_service { background-color: #D6D6D6; }
#top_service .container { position: static; }
#top_service .sectitle02 { position: absolute; top: -80px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); }
.top_servicelist { display: flex; justify-content: center; align-items: flex-start; gap: 50px; margin: 150px 0 80px; }
.top_servicelist_item { position: relative; width: calc((100% - 50px) / 2); background-color: #D7182A; border: 5px solid #fff; padding: 4% 0; min-height: 300px; transition-duration: .5s; }
.top_servicelist_item .en_tit { font-family: futura-100, sans-serif; color: #fff; font-size: 4.8rem; text-align: center; line-height: 1.3; font-weight: 700; margin-bottom: 20px; transition-duration: .5s; }
.top_servicelist_item .jp_tit { font-size: 1.8rem; text-align: center; color: #fff; transition-duration: .5s; }
.top_servicelist_item_arrow { width: 60px; position: absolute; bottom: 7%; right: 3%; }
.top_servicelist_item:hover { background-color: #fff; border: 5px solid #D7182A; }
.top_servicelist_item:hover .en_tit { color: #D7182A; }
.top_servicelist_item:hover .jp_tit { color: #D7182A; }
#top_service .linkbtn { margin: 0 auto; }
.bcartbanner_link { display: block; width: 100%; max-width: 800px; }
.bcartbanner_link:hover { opacity: 0.8; }
#top_service .bcartbanner_link { margin: 0 auto 50px; }

/* TOP-WORKS */
#top_works:after { content: ""; position: absolute; top: -100px; right: 0; width: 3.5vw; height: 140%; background-color: #020202; }
#top_works .container02 { z-index: 1; }
#top_works .top_sectit .sectitle01 span { position: relative; line-height: 1; display: inline-block; }
#top_works .top_sectit .sectitle01 span:after { content: ""; position: absolute; z-index: 2; width: 50vw; height: 1.0vw; background-color: #D7182A; bottom: 0.4vw; right: calc(-50vw - 20px); transform: scaleX(0); transform-origin: left; transition: transform 1.0s ease-out;}
#top_works .top_sectit .sectitle01.is-active span:after { transform: scaleX(1); }
.work_grid { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10rem 1.6447368421%; }
#top_works .work_grid { margin-bottom: 80px; }
.workArticle.-small { width: 32.2368421053%; }
.workArticle.-medium { width: 66.1184210526%; }
.workArticle.-large { width: 100%; }
#top_works .linkbtn { margin: 0 auto; }
.no-postarea { max-width: 1000px; margin: 0 auto 100px; }

/* TOP-NEWS */
#top_news .top_sectit .sectitle01 span { position: relative; line-height: 1; display: inline-block; padding-bottom: 30px; }
#top_news .top_sectit .sectitle01 span:after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%;           /* テキストと同じ幅 */ height: 1.0vw;         /* 線の太さ */ background-color: #D7182A; /* アニメーションの準備 */ transform: scaleX(0);       /* 横幅を0にする */ transform-origin: left;    /* 左端を起点にする */ transition: transform 0.5s ease-out; /* 0.5秒かけて変化 */ }
#top_news .top_sectit .sectitle01.is-active span::after { transform: scaleX(1);      /* 横幅を1倍に戻す（伸びる） */ }
.top_newslist { display: flex; flex-wrap: wrap; gap: 30px; margin-bottom: 80px; }
.top_newslist .archive-card-article { width: calc((100% - 60px) / 3); }
#top_news .linkbtn { margin: 0 auto; }

/* TOP-COLUMN */
#top_column:after { content: ""; position: absolute; top: 0px; left: 0; width: 3.5vw; height: 155%; background-color: #D6D6D6; z-index: 1; }
#top_column .container02 { z-index: 2; }
#top_column .top_sectit .sectitle01 span { position: relative; line-height: 1; display: inline-block; }
#top_column .top_sectit .sectitle01 span:after { content: ""; position: absolute; z-index: 2; width: 50vw; height: 1.0vw; background-color: #D7182A; bottom: 0.4vw; left: calc(-50vw - 20px); transform: scaleX(0); transform-origin: right; transition: transform 1.0s ease-out;}
#top_column .top_sectit .sectitle01.is-active span::after { transform: scaleX(1); /* 右から左へ伸びる */ }
.column_grid { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10rem 1.6447368421%; }
#top_column .column_grid { margin-bottom: 80px; }
.columnArticle.-small { width: 32.2368421053%; }
#top_column .linkbtn { margin: 0 auto; }

/*===============================
 事業紹介
===============================*/
#service_archive:after { content: ""; position: absolute; top: 0; right: 0; width: 18.5vw; height: 100%; background-color: #020202; }
#service_archive .container { z-index: 1; }
.service_list01 > li:nth-of-type(2n) { background-color: #D6D6D6; }
.service_list01 > li:not(:last-of-type) { margin-bottom: 50px; }
.service_list01_item { padding: 90px 80px; width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; border-radius: var(--SP-radius-small, 16px); background: var(--Primary, #D7182A);}
.service_list01_item .text-box { text-align: center; width: 100%; }
.service_list01_item .title { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; color: #fff; margin-bottom: 30px; }
.service_list01_item .title .number { font-family: futura-100, sans-serif; font-size: 3.0rem; font-weight: bold; }
.service_list01_item .title .eng { font-family: futura-100, sans-serif; font-size: 8.0rem; font-weight: bold; line-height: 1.2; margin-bottom: 20px; }
.service_list01_item .title .jpn { font-family: futura-100, sans-serif; font-size: 2.2rem; font-weight: bold; }
.service_list01_item .detail_list { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 40px; }
.service_list01_item .detail_list .detail_list_item { color: #fff; border: 1px solid #fff; border-radius: 6px; padding: 0px 10px 2px; }
.service_list01_item .linkbtn { background-color: #fff; color: #D7182A; border: 1px solid #fff; border-radius: 35px; margin: 0 auto; }
.service_list01_item .linkbtn:hover { background-color: #D7182A; color: #fff; }
#service_archive .bcartbanner_link { margin: 100px auto 0; max-width: 1000px; }
/* 偶数個目のアイテム */
.service_list01 > li:nth-of-type(2n) .title { color: #D7182A; }
.service_list01 > li:nth-of-type(2n) .detail_list .detail_list_item { color: #D7182A; border: 1px solid #D7182A; }
.service_list01 > li:nth-of-type(2n) .linkbtn { background-color: #D7182A; color: #fff; border: 1px solid #D7182A; }
.service_list01 > li:nth-of-type(2n) .linkbtn:hover { background-color: #fff; color: #D7182A; }

/*===============================
 事業紹介（下層）
===============================*/
/* service_detail_top */
.service_detail_top { padding: 100px 0 50px; }
.service_detail_top.creative { padding: 100px 0 0; }
.service_detail_top_inner { display: flex; justify-content: space-between; margin-bottom: -50px; }
.service_detail_top_inner .txt-box { width: 50%; }
.service_detail_top_inner .txt-box .catch { font-size: 2.4rem; margin-bottom: 30px; font-weight: 600; }
.service_detail_top_inner .img-box { width: 48%; margin-top: -5%; }
.service_detail_top.creative .service_detail_top_inner .img-box { margin-top: -13%; }

/* service_detail_introduction */
.service_detail_introduction::after { content: ""; position: absolute; top: 8.5%; right: 0; width: 18.5vw; height: 91%; background-color: #020202; }
.service_detail_introduction .container { z-index: 1; }
.service_detail_introduction .sectit { margin-bottom: 50px; }
.service_detail_introduction .sectit .subtit { font-family: futura-100, sans-serif; font-size: 5.0rem; margin-bottom: 15px; font-weight: 700; line-height: 1; }
.service_detail_introduction .sectit .tit { font-weight: 700; }

/* anchorlink */
.anchorlink { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 70px; }
.anchorlink .anchorlink_item a { padding: 3px 15px 5px; border: 1px solid #D7182A; color: #D7182A; border-radius: 13px; }
.anchorlink .anchorlink_item a:hover { background-color: #D7182A; color: #fff; }
/* service_list02 */
.service_list02 > li:not(:last-of-type) { margin-bottom: 50px; }
.service_list02_item { background-color: #D7182A; padding: 4% 5% 4% 160px; border: 5px solid #F7F7F8; position: relative; }
.service_list02_item:before { content: ''; position: absolute; top: 0; left: 0; width: 0px; height: 0px; border-top: 0px solid transparent; border-right: 0px solid transparent; border-left: 160px solid #F7F7F8; border-bottom: 140px solid transparent; }
.service_list02_item .number { position: absolute; top: 0; left: 0; font-family: futura-100, sans-serif; font-size: 5.4rem; font-weight: bold; line-height: 1; }
.service_list02_item .title { color: #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; margin-bottom: 40px; }
.service_list02_item .title .eng { font-family: futura-100, sans-serif; font-size: 5.0rem; font-weight: bold; margin-bottom: 25px; line-height: 1; }
.service_list02_item .catch { color: #fff; font-size: 2.0rem; font-weight: 700; margin-bottom: 10px; }
.service_list02_item .txt { color: #fff; }
.service_list02_item .linkbtn { background-color: #fff; color: #D7182A; border: 1px solid #fff; border-radius: 35px; margin-top: 40px; }
.service_list02_item .linkbtn:hover { background-color: #D7182A; color: #fff; }
/* 偶数個目のアイテム */
.service_list02 > li:nth-of-type(2n) { background-color: #D6D6D6; }
.service_list02 > li:nth-of-type(2n) .title { color: #D7182A; }
.service_list02 > li:nth-of-type(2n) .catch { color: #D7182A; }
.service_list02 > li:nth-of-type(2n) .txt { color: #D7182A; }
.service_list02 > li:nth-of-type(2n) .detail_list .detail_list_item { color: #D7182A; border: 1px solid #D7182A; }
.service_list02 > li:nth-of-type(2n) .linkbtn { background-color: #D7182A; color: #fff; border: 1px solid #D7182A; }
.service_list02 > li:nth-of-type(2n) .linkbtn:hover { background-color: #fff; color: #D7182A; }

/*===============================
 企業情報
===============================*/
#role::after { content: ""; position: absolute; top: 0; right: 0; width: 18.5vw; height: 430%; background-color: #020202; }
.role_inner { position: relative; z-index: 1; }
#role .page_sectit { font-size: 3.0rem; font-weight: 500; margin-bottom: 30px; text-align: left; }

/* 企業理念 */
#philosophy .page_sectit_area { margin-bottom: 100px; }
.philosophy_box { display: flex; flex-wrap: wrap; margin-bottom: 100px; }
.philosophy_box .left { width: 50%; }
.philosophy_box .right { width: 50%; }
.philosophy_box .left .titarea { margin-bottom: 50px; }
.philosophy_box .left .titarea .number { font-family: futura-100, sans-serif; font-size: 3.0rem; font-weight: bold; line-height: 1.7; }
.philosophy_box .left .titarea .tit_en { font-family: futura-100, sans-serif; font-size: 5.5rem; font-weight: bold; margin-bottom: 10px; line-height: 1; }
.philosophy_box .left .catch { font-size: 2.6rem; font-weight: bold; color: #D7182A; margin-bottom: 50px; }
.philosophy_box.philosophy_box02 .left { width: 100%; }
.philosophy_box.philosophy_box02 .right { width: 100%; }
.philosophy_box .valuelist { display: flex; flex-wrap: wrap; }
.philosophy_box .valuelist .valuelist_item { width: 50%; }
.philosophy_box .valuelist .valuelist_item .tit { font-weight: bold; margin-bottom: 5px; font-size: 2.0rem; }
.philosophy_box .valuelist .valuelist_item p { width: 80%; padding-bottom: 30px; border-bottom: 1px solid #707070; }
.philosophy_box .valuelist > li:not(:nth-last-of-type(-n+2)) { margin-bottom: 30px; }

/* 制作プロセス */
#process { background-color: #D6D6D6; }
#process .container { max-width: 1100px; }
.process_toptxt { text-align: center; margin-bottom: 70px; }
.processlist > li:not(:last-of-type) { margin-bottom: 70px; }
.processlist_item { display: flex; background-color: #fff; border: 3px solid #D7182A; position: relative; }
.processlist > li.processlist_item:not(:last-of-type):after  { content: ''; background-image: url(images/process_arrow.png); position: absolute; bottom: -79px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); width: 65px; height: 65px; background-size: contain; background-repeat: no-repeat; }
.processlist_item .titarea { background-color: #D7182A; color: #fff; width: 260px; text-align: center; padding: 2%; }
.processlist_item .titarea .tit_en { font-size: 3.2rem; font-weight: 700; line-height: 1.2; }
.processlist_item .titarea .tit_jp { font-size: 1.8rem; }
.processlist_item .txt { display: flex; align-items: center; padding-left: 5%; width: calc(100% - 260px); }

/* 会社概要 */
#company .container { max-width: 1000px; }
.about-list li { border-bottom: 1px solid #01152A; margin: 0 0 25px 0; padding: 0 0 25px 0; }
.about-list > li:last-of-type { margin-bottom: 0; }
.about-list dl { display: flex; justify-content: space-between; }
.about-list dt { width: 26%; padding: 0 0 0 50px; }
.about-list dd { width: 74%; }
.about-list .map { margin-top: 20px; }

/*===============================
 お問い合わせ
===============================*/
#page-contact { padding: 70px 0 150px; } 
#page-contact h2.sectitle02 { text-align: center; margin-bottom: 30px; } 
.contact_tit { text-align: center; font-size: 2.6rem; font-weight: 500; margin-bottom: 30px; }
.contact_txt { text-align: center; margin-bottom: 30px; } 
.contact-form { max-width: 900px; width: 90%; margin: 0px auto 30px; } 
.contact-form .required.required01 { margin-bottom: 13px; } 
.contact-form .required span { display: flex; justify-content: center; align-items: center; background-color: #D7182A; border-radius: 15px; width: 70px; min-height: 26px; font-size: 1.4rem; color: #fff; line-height: 1; padding-bottom: 1px; } 
.contact-form th { text-align: left; padding: 20px 0 20px; font-size: 1.6rem; line-height: 2; vertical-align: middle; border-bottom: 1px solid #020202; min-width: 175px; } 
.contact-form td { padding: 20px 0 20px; vertical-align: bottom; border-bottom: 1px solid #020202; } 
.contact-form textarea, .contact-form .inputtext { width: 100%; border: solid 1px #333333; border-radius: 14px; padding: 10px 20px; box-sizing: border-box; outline: none; font-family: inherit; font-size: inherit; line-height: 2; font-family: 'Noto Sans JP', sans-serif; display: block; } 
.inputtext_item, .inputtext_item p { min-height: 54px; } 
.inputtext_item p { display: flex; align-items: center; } 
.inputtextarea_item p { min-height: 182px; } 
#contact_txt_btm { text-align: center; font-size: 1.2rem; line-height: 2; font-weight: 400; margin-bottom: 50px; } 
.contact_txt_privacylink { text-decoration: underline; transition: 0.5s; color: #020202; } 
.contact_txt_privacylink:hover { text-decoration: none; color: #D7182A; } 
input[type="submit"].mainsubmit { background-color: transparent; width: 450px; background-color: #D7182A; border: 1px solid #D7182A; border-radius: 50px; margin: 0px auto; display: block; color: #fff; font-size: 2.0rem; line-height: 2; min-height: 80px; transition: 0.5s; } 
input[type="submit"].mainsubmit:hover { background-color: #fff; color: #D7182A; } 
input[type="submit"].mainback { background-color: transparent; width: 350px; border: 1px solid #333; border-radius: 50px; padding: 10px; margin: 0px auto; display: block; color: #333; font-size: 2.0rem; line-height: 2; min-height: 80px; transition: 0.5s; } 
input[type="submit"].mainback:hover { background-color: #fff; } 
#contact_item_junre th.inputtext_item { vertical-align: top; }
/* ラジオボタン */ 
.mwform-radio-field span.mwform-radio-field-text { cursor: pointer; padding-left: 35px; position: relative; } 
.mwform-radio-field span.mwform-radio-field-text::before, .mwform-radio-field span.mwform-radio-field-text::after { content: ""; display: block; border-radius: 50%; position: absolute; transform: translateY(-50%); top: 50%; } 
.mwform-radio-field span.mwform-radio-field-text::before { background-color: #fff; border: 1px solid #D7182A; height: 20px; width: 20px; left: 5px; margin-top: 1px; } 
.mwform-radio-field span.mwform-radio-field-text::after { background-color: #D7182A; opacity: 0; height: 16px; width: 16px; left: 7px; margin-top: 1px; } 
input:checked + span.mwform-radio-field-text::after { opacity: 1; } 
.visually-hidden { position: absolute; white-space: nowrap; border: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; height: 1px; width: 1px; margin: -1px; padding: 0; } 
.mw_wp_form .horizontal-item + .horizontal-item { margin-left: 30px !important; } 
/* 入力内容の確認 */ 
#page-contact.confirm { padding: 150px 0; }
#page-contact.confirm .contact-form td { width: 80%; padding: 20px; line-height: 2; } 
#page-contact.confirm .inputtext_item, #page-contact.confirm .inputtext_item p, #page-contact.confirm .inputtextarea_item p { min-height: auto; } 
#page-contact.confirm .required { margin-bottom: 13px; } 
#page-contact.confirm #content_textarea th { vertical-align: top; } 
#page-contact.confirm #content_textarea td { padding: 57px 20px 20px; } 
#page-contact.confirm .submit_area { display: flex; justify-content: center; } 
#page-contact.confirm input[type="submit"].mainsubmit { margin: 0px 30px 0 0; width: 350px; } 
#page-contact.confirm input[type="submit"].mainback { margin: 0; } 
/* 送信完了 */ 
#page-contact.thanks { padding: 200px 0; } 
#apply_head { text-align: center; font-size: 2.4rem; margin-bottom: 30px; } 
#apply_txt { text-align: center; margin-bottom: 50px; } 
#apply_btn_link { background-color: transparent; width: 350px; border: 1px solid #D7182A; background-color: #D7182A; border-radius: 50px; margin: 0px auto; color: #fff; font-size: 2.0rem; line-height: 2; min-height: 80px; transition: 0.5s; display: flex; align-items: center; justify-content: center; } 
#apply_btn_link:hover { background-color: transparent; color: #D7182A; }
/* 入力エラー */ 
#page-contact.error { padding: 150px 0; }
#page-contact.error .contact-form { margin-top: 0; } 
#page-contact.error .contact-form > tbody > tr:first-of-type th { padding-top: 0; } 
#page-contact.error .sectitle02, #page-contact.confirm .sectitle02 { text-align: center; padding: 50px 0; } 
#page-contact.error .contact_txt, #page-contact.confirm .contact_txt { margin-bottom: 50px; } 
@media screen and (min-width: 768px) and (max-width: 773px) { 
.mw_wp_form .horizontal-item + .horizontal-item { margin-left: 40px !important; } 
} 
@media screen and (min-width: 774px) and (max-width: 819px) { 
.mw_wp_form .horizontal-item + .horizontal-item { margin-left: 8px !important; } 
} 
@media screen and (min-width: 820px) and (max-width: 1024px) { 
.mw_wp_form .horizontal-item + .horizontal-item { margin-left: 20px !important; } 
}

/*===============================
 プライバシーポリシー
===============================*/
#mv_privacy { padding-top: 80px; }
.mv_privacy_inner { padding: 100px 0; position: relative; }
#mv_privacy .pagetitle { text-align: center; }
#mv_privacy .pagetitle .pagesubtit { font-size: 2.0rem; color: #020202; font-weight: 400; }
#mv_privacy .pagetitle .pagetit { font-size: 4.0rem; color: #020202; margin-bottom: 20px; font-weight: 400; }
.policy_content_inner { max-width: 1100px; padding: 0 5% 150px; margin-inline: auto; font-family: "Noto Serif", serif; }
.policy_content_inner .policy_txt { line-height: 2; }
.policy_content_inner .policy_item { padding-bottom: 50px; border-bottom: 1px solid #020202; }
.policy_content_inner .policy_item ol { list-style: decimal outside!important; padding-left: 60px; }
.policy_content_inner .policy_item_title { padding: 50px 0 30px 20px; position: relative; }
.policy_content_inner .policy_item_title::before { content: ""; position: absolute; width: 3px; height: 40px; background: #020202; top: 40px; left: 0; }
.policy_content_inner .policy_last_txt { text-align: right; margin-top: 30px; }
.policy_item > ul { padding-left: 55px; }
.policy_item ul > li:not(:last-of-type) { margin-bottom: 20px; } 
.policy_item > ul > li { position: relative; }
.privacy_num { position: absolute; font-size: 2.4rem; left: -35px; top: -8px; }
.policy_item > ul > ul { padding-left: 45px; }
.policy_item > ul > ul > li { position: relative; margin-bottom: 20px; }

/*===============================
 お知らせ一覧
===============================*/
/* categorylink */
.categorylink { display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 70px; }
.categorylink .categorylink_item a { padding: 3px 15px 5px; border: 1px solid #D7182A; color: #D7182A; border-radius: 13px; }
.categorylink .categorylink_item a:hover { background-color: #D7182A; color: #fff; }
.categorylink .categorylink_item.active a { background-color: #D7182A; color: #fff; }
/* お知らせ一覧 */
.news_archive_inner { padding: 70px 0 100px; }
.newslist { display: flex; flex-wrap: wrap; gap: 30px; margin-bottom: 80px; }
.newslist .archive-card-article { width: calc((100% - 60px) / 3); }

/*===============================
 記事詳細（お知らせ）
===============================*/
.single-page { padding: 20px 0 100px; margin-bottom: 100px; }
.single-main .container { max-width: 890px; }
.single-main .article_info { display: flex; justify-content: flex-start; gap: 20px; }
.single-main .article_date { font-family: futura-100, sans-serif; font-size: 1.8rem; font-weight: 400; letter-spacing: 0.1em; text-align: left; margin-bottom: 10px; }
.single-main .article_tit { font-size: 2.8rem; font-weight: 400; line-height: 1.5; letter-spacing: 0.02em; margin: 0 auto 50px; padding-bottom: 25px; border-bottom: 1px solid #01152A; }
.single-main .mainimg { max-width: 600px; margin: 0 auto 30px; }

/* news */
.single-news .article_cat span { padding: 5px 20px; background-color: #D7182A; border-radius: 10px; color: #fff; font-size: 1.4rem; }

/* content */
.article_content h2 { font-size: 2.4rem; font-weight: 600; letter-spacing: 0.2em; line-height: 1.7; padding-bottom: 15px; margin: 20px 0; position: relative; }
.article_content h3 { font-size: 2.0rem; font-weight: 600; letter-spacing: 0.1em; line-height: 1.5; padding: 3px 20px 5px; margin: 40px 0 20px; border-left: 7px solid #D7182A; position: relative; }
.article_content h4 { font-size: 1.6rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.125; padding-bottom: 5px; margin-bottom: 20px; position: relative; }
.article_content h5 { font-size: 1.5rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.125; padding-bottom: 5px; margin-bottom: 20px; position: relative; }
.article_content h6 { font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.125; padding-bottom: 5px; margin-bottom: 20px; position: relative; }
.article_content .opening span.red { color: #ff0000; }
.article_content .opening span.strong { font-weight: 700; }
.article_content span.under_marker { background: linear-gradient(transparent 70%, #fff599 70%); }
.aligncenter { clear: both; }
.article_content .alignleft { float: right; }
.article_content .alignright { float: right; }
.article_content .aligncenter { display: block; margin-left: auto; margin-right: auto; margin-bottom: 7px; }
.article_content img { border: none !important; }
.article_content img.alignleft { margin: 7px 24px 7px 0; }
.article_content img.alignright { margin: 7px 0 7px 24px; }
.article_content img.aligncenter { margin-top: 7px; margin-bottom: 7px; }
.article_content img.size-medium { width: 260px; }
.article_content p { font-weight: 400; margin-bottom: 20px; }
.article_content p strong { font-weight: 700; }
.article_content p em { font-style: italic; }
.article_content p a { color: #1a0dab; text-decoration: underline; word-wrap:break-word; }
.article_content p a:hover { text-decoration: none; }
.article_content ul { margin-bottom: 20px; }
.article_content ol { padding-left: 25px; }
.article_content ul > li { padding-left: 20px; position: relative; font-weight: 400; }
.article_content ul > li:before { content: '・'; position: absolute; left: 0; }
.article_content ul > li > p { margin-bottom: 5px; }
.article_btmlink { display: flex; margin-top: 70px; }
.article_btmlink > div { width: 50%; min-height: 130px; position: relative; }
.article_btmlink > div.back { border-right: 3px solid #020202; }
.article_btmlink > div > a { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); font-size: 2.4rem; font-weight: 200; color: #020202; }
.article_btmlink > div > a:hover { color: #D7182A; }
.single-main_btm { margin-top: 100px; }
.single-main_btm .linkbtn { margin: 0 auto;  background-color: #D7182A; color: #fff; }
.single-main_btm .linkbtn:hover { background-color: #fff; color: #D7182A; }
.gallery-columns-2 > dl.gallery-item { width: 49% !important; }
.gallery-columns-2 > dl.gallery-item:not(:nth-of-type(2n)) { margin-right: 2%; }
.gallery-columns-3 > dl.gallery-item { width: 32% !important; }
.gallery-columns-3 > dl.gallery-item:not(:nth-of-type(3n)) { margin-right: 2%; }
.gallery-columns-4 > dl.gallery-item { width: 24% !important; }
.gallery-columns-4 > dl.gallery-item:not(:nth-of-type(4n)) { margin-right: calc( 4% / 3 ); }
.gallery-columns-5 > dl.gallery-item { width: 19% !important; }
.gallery-columns-5 > dl.gallery-item:not(:nth-of-type(5n)) { margin-right: calc( 5% / 4 ); }
.gallery-columns-6 > dl.gallery-item { width: 16% !important; }
.gallery-columns-6 > dl.gallery-item:not(:nth-of-type(6n)) { margin-right: calc( 4% / 5 ); }
.gallery-columns-7 > dl.gallery-item { width: 14% !important; }
.gallery-columns-7 > dl.gallery-item:not(:nth-of-type(7n)) { margin-right: calc( 2% / 6 ); }
.gallery-columns-8 > dl.gallery-item { width: 12% !important; }
.gallery-columns-8 > dl.gallery-item:not(:nth-of-type(8n)) { margin-right: calc( 4% / 7 ); }
.gallery-columns-9 > dl.gallery-item { width: 10% !important; }
.gallery-columns-9 > dl.gallery-item:not(:nth-of-type(9n)) { margin-right: calc( 10% / 8 ); }

/*===============================
 コラム一覧
===============================*/
/* コラム一覧 */
.column_archive_inner { padding: 70px 0 100px; }
.columnlist { display: flex; flex-wrap: wrap; gap: 30px; margin-bottom: 80px; }
.columnlist .archive-article { width: calc((100% - 60px) / 3); }
.columnlist .archive-article .archive-article_info .tit { font-size: 1.6rem; }
.columnlist .archive-article .archive-article_info .category > li { font-size: 1.2rem; }

/* sidebar */
.r_sidebar section { padding: 0 0 100px; }
.r_sidebar section h2 { font-size: 2.2rem; letter-spacing: 0.1em; font-weight: 500; text-align: center; border-bottom: 2px solid #020202; padding-bottom: 10px; margin-bottom: 40px; color: #020202; }
.catlist li { text-align: center; }
.catlist > li:not(:last-of-type) { margin-bottom: 15px; }
.catlist li a { font-size: 1.8rem; }
.r_sidebar .archive-article h2 { font-size: 1.7rem; font-weight: 400; text-align: left; border: none; margin-bottom: 0; color: #333; }
.poplist > li:not(:last-of-type) { margin-bottom: 30px; }
.poplist .archive-article_tit { min-height: auto; }
.archive-article_top { display: none; }

/*===============================
 記事詳細（コラム）
===============================*/
.single-blog { display: flex; justify-content: space-between; padding: 100px 0; position: relative; }
.single-blog main { width: 72%; position: relative; z-index: 1; }
.single-blog .r_sidebar { width: 23%; position: relative; z-index: 1; }

/* single-column */
#single-column { padding: 20px 0 50px; margin-top: 0; }
#single-column .single-main .article_date { display: none; }
#single-column .single-main .article_tit { font-size: 2.8rem; font-weight: 700; line-height: 1.5; letter-spacing: 0.1em; margin: 0 auto 30px; padding-bottom: 0; color: #333; border-bottom: none; }
#single-column .article_content p { color: #333; }
#single-column .mainimg img { display: block; margin: 0 auto; }
#single-column .article_content h2 { font-size: 2.0rem; font-weight: 700; letter-spacing: 0.2em; line-height: 1.7; padding: 15px 30px; margin: 50px 0 25px; position: relative; border-radius: 10px; background-color: #D7182A; color: #fff; }

/* 目次 */
.toc__container { background: #F5EFEF; padding: 20px 40px 25px; border-radius: 15px; margin-bottom: 30px; }
.toc__container a { text-decoration: none; color: #333333; }
.toc__container li.toc__item { transition: 0.5s; margin: 5px 0; }
.toc__container li.toc__item--h2::marker { content: ''; }
.toc__container li.toc__item--h3::marker { content: '・'; }
.toc__container li.toc__item--h2 > a.toc__link:hover, .toc__container li.toc__item--h3 > a.toc__link:hover { color: #D7182A; }
.toc__container .toc__title { font-weight: 700; font-size: 2.0rem; margin-bottom: 5px; }
.article_content ol.toc__list { margin-bottom: 0; padding-left: 0; }
.article_content ol.toc__sublist { margin-bottom: 10px; }
.article_content ol.toc__list > li.toc__item--h2 > .toc__link { font-weight: 600; }
.article_content ol.toc__list > ol.toc__sublist { margin-bottom: 0; }

/* single-column-content */
#single-column .article_content .article_cta { background-color: #ecf2f4; padding: 30px 40px 40px; border-radius: 15px; }
#single-column .article_content h4 { text-align: center; font-size: 20px; color: #D7182A; font-weight: bold; border-bottom: solid 2px #D7182A; }
#single-column .article_content .wp-caption { max-width: 100%; }
.article_cta_btn { display: block; text-align: center; }
.article_cta_btn > a { display: inline-block; background-color: #FAC60E; padding: 17px 50px; line-height: 1.6; text-align: center; border-radius: 50px; font-weight: 700; border: 2px solid #FAC60E; }
.article_cta_btn > a:hover { background-color: #fff; color: #FAC60E; }

/*===============================
 支援実績一覧
===============================*/
.work_archive_inner { padding: 70px 0 100px; }

/*===============================
 支援実績詳細
===============================*/
.single-page.page-work { padding: 20px 0 100px; }
.single-page.page-work .btm_link { padding-top: 30px; }
.single-main.single-work { margin-bottom: 150px; }
.single-main.single-work .container { max-width: 1280px; }
.single-main.single-work .article_top { margin-bottom: 70px; }
.single-main.single-work .article_cat span { background-color: #D7182A; color: #fff; padding: 3px 20px 5px; border-radius: 20px; display: inline-block; font-size: 1.4rem; margin-right: 10px; }
.single-main.single-work .article_info { margin-bottom: 20px; }
.single-main.single-work .article_tit { border-bottom: none; padding-bottom: 0; margin: 0 auto 20px; }
.single-main.single-work .article_corp { font-size: 2.0rem; margin-bottom: 30px; color: #666666; }
.single-main.single-work .mainimg { max-width: 100%; padding-top: 40%; background-position: center; background-size: cover; margin: 0 auto; }
.work_exp { margin-bottom: 100px; }
.front_exp_item { display: flex; margin-bottom: 50px; padding-bottom: 50px; border-bottom: 1px solid #020202; }
.work_exp > div.front_exp_item:last-of-type { border-bottom: none; }
.front_exp_item .tit { width: 300px; }
.front_exp_item .tit .en { font-family: futura-100, sans-serif; font-weight: 700; color: #D7182A; font-size: 3.6rem; line-height: 1; margin-bottom: 8px; }
.front_exp_item .tit .jp { font-size: 2.0rem; font-weight: 600; }
.front_exp_item .txt { width: calc(100% - 300px); }
.results_box { margin-bottom: 150px; }
.results_box .titarea { padding-bottom: 30px; border-bottom: 1px solid #020202; margin-bottom: 50px; }
.results_box .titarea .en { font-family: futura-100, sans-serif; font-weight: 700; color: #D7182A; font-size: 3.6rem; line-height: 1; margin-bottom: 8px; }
.results_box .titarea .jp { font-size: 2.0rem; font-weight: 600; }
.results_box .results_content .web_img { max-width: 960px; padding-top: 38%; background-position: center; background-size: cover; margin: 0 auto; margin-bottom: 50px; }
.results_box .results_content .linkarea { text-align: center; margin-bottom: 80px; }
.results_box .results_content .linkarea .linkbtn { display: inline-flex; padding: 0 30px; border-radius: 30px; width: auto; }
.results_box .results_content .creator { max-width: 960px; margin: 0 auto; display: flex; justify-content: space-between; align-items: flex-start; }
.results_box .results_content .creator .info { width: 45%; }
.results_box .results_content .creator .info .tit { font-size: 2.4rem; font-weight: 500; margin-bottom: 20px; }
.results_box .results_content .creator .info .corp { font-size: 2.0rem; font-weight: 500; }
.results_box .results_content .creator .info .name { font-size: 2.0rem; font-weight: 500; margin-bottom: 10px; }
.results_box .results_content .creator .info .name span { font-weight: 400; margin-right: 20px; font-size: 1.6rem; }
.results_box .results_content .creator .img { width: 38%; padding-top: 37%; background-position: center; background-size: cover; }
.results_box .results_content .movie_area { max-width: 960px; margin: 0 auto; }
.results_box .results_content .movie_area iframe { width: 100%; height: 542px; }
.results_box .results_content .work_photolist { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; max-width: 960px; margin: 0 auto; }
.work_photolist_item div { padding-top: 80%; background-position: center; background-size: cover; background-repeat: no-repeat; transition: 0.5s; }
.work_contact_tit { width: 90%; max-width: 960px; margin: 0 auto; }
.work_contact_tit .en { font-family: futura-100, sans-serif; font-weight: 700; color: #D7182A; font-size: 3.6rem; line-height: 1; margin-bottom: 8px; }
.work_contact_tit .jp { font-size: 2.0rem; font-weight: 600; }
.work_photolist_item a { display: block; width: 100%; height: 100%; text-decoration: none; }
.work_photolist_item div:hover { opacity: 0.8; cursor: pointer; }

/* その他の実績 */
.case_other .titarea .en { font-family: futura-100, sans-serif; font-weight: 700; color: #D7182A; font-size: 3.6rem; line-height: 1; margin-bottom: 8px; }
.case_other .titarea .jp { font-size: 2.0rem; font-weight: 600; }
.workArticle._other { width: 22vw; margin-right: 1.5vw; }
.case_other .slick-list{-webkit-margin-before:clamp(2.9375rem,1.905rem + 4.234vw,5.875rem);margin-block-start:50px;overflow:visible}
.case_other .slick-track{margin-left:0}
.case_other .slick-prev, .case_other .slick-next { top: -19%; width: 40px; height: 40px; }
.case_other .slick-prev { left: auto; right: 110px; }
.case_other .slick-next { right: 30px; }
.case_other .slick-prev:before, .case_other .slick-next:before { font-size: 40px; color: #020202; }

/*===============================
 footer
===============================*/
#footer { position: relative; background-color: #020202; color: #fff; }
.openbtn { position: fixed; z-index: 9999; top: 0; right: 0; cursor: pointer; width: 70px; height: 67px; display: none; }
.openbtn span { display: inline-block; transition: all .4s; position: absolute; left: 20px; cursor: pointer; }
.openbtn span:nth-of-type(1), .openbtn span:nth-of-type(2) , .openbtn span:nth-of-type(3) { height: 1px; background: #fff; width: 40%; opacity: 1; }
.openbtn span:nth-of-type(1) { top: 30px; }
.openbtn span:nth-of-type(2) { top: 32px; opacity: 0; }
.openbtn span:nth-of-type(3) { top: 38px; }
.openbtn.active span:nth-of-type(1) { top: 26px; left: 28px; transform: translateY(6px) rotate(-45deg); width: 30%; opacity: 1; background: #fff; }
.openbtn.active span:nth-of-type(2) { opacity: 0; }
.openbtn.active span:nth-of-type(3){ top: 38px; left: 28px; transform: translateY(-6px) rotate(45deg); width: 30%; opacity: 1; background: #fff; }
.footer_inner01 { display: flex; justify-content: space-between; padding: 70px 0; }
.footer_logo { width: 165px; margin-bottom: 20px; }
.footer_menu > ul { padding-left: 0; display: flex; justify-content: flex-end; align-items: flex-start; margin-bottom: 60px; }
.footer_menu > ul > li > a { margin: 0 20px; font-size: 1.6rem; line-height: 1; font-weight: 400; }
.footer_menu .linkbtn { margin-left: auto; width: 400px; min-height: 100px; font-size: 2.4rem; }
.footer_bottom { display: flex; justify-content: space-between; align-items: center; padding: 30px 0; border-top: 1px solid #fff; }
.footer_privacylink { font-size: 1.4rem; }
.copyright { text-align: center; padding: 10px 0; }
.copyright small { font-size: 1.2rem; font-style: normal; font-weight: 400; letter-spacing: 0.12em; color: #E4F0FF; }
#page-top { position: fixed; right: 0; top: 200px; z-index: 100; }
#page-top a { color: #fff; display: inline-block; padding: 30px; background-color: rgb(90, 73, 87); text-align: center; border-radius: 50px 0 0 50px; }
#page-top a span { font-size: 2.6rem; font-weight: 600; }

/*========= グローバルナビゲーションのためのCSS ===============*/
#g-nav{ /*position:fixed;にし、z-indexの数値を大きくして前面へ*/ position:fixed; z-index: 999; /*ナビのスタート位置と形状*/ bottom:-120%; left:0; width:100%; height: 100vh;/*ナビの高さ*/ background:#020202; /*動き*/ transition: all 0.6s; }

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{ bottom: 0; }

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{ /*ナビの数が増えた場合縦スクロール*/ position: fixed; z-index: 999;  width: 100%; height: 100vh;/*表示する高さ*/ overflow: auto; -webkit-overflow-scrolling: touch; }

/*ナビゲーション*/
#g-nav ul { /*ナビゲーション天地中央揃え*/ position: absolute; z-index: 999; top:50%; left:50%; transform: translate(-50%,-50%); width: 80%; }

/*リストのレイアウト設定*/
#g-nav li{ list-style: none; text-align: center;  }
#g-nav li a{ color: #fff; text-decoration: none; padding:15px 0; display: block; letter-spacing: 0.1em; font-weight: bold; line-height: 1.85; }
#g-nav li:last-of-type { margin-top: 20px; }
#g-nav li:last-of-type .linkbtn { margin: 0 auto; }

/*===============================
 ページネーション
===============================*/
.pagination { margin: 100px 0 0; text-align: center; }
.nav-links { font-style: normal; font-size: 2.0rem; font-weight: 700; letter-spacing: 0.2em; }
.nav-links > span { margin: 0 15px 0; color: #D7182A; }
.nav-links > a { margin: 0 15px 0; color: #020202; }
.nav-links > a:hover { color: #D7182A; }
.page-numbers { font-weight: 300; }

/*===============================
 404
===============================*/
#mv_notfound { padding-top: 80px; }
#mv_notfound .mv02_inner .pagetitle { width: 100%; padding: 0; background-color: transparent; }
#notfound { padding: 50px 0 200px; }
#no-found_tit { font-size: 5.0rem; text-align: center; font-family: times-new-roman sans-serif; }
#notfound .container p { text-align: center; margin-bottom: 50px; }
#notfound .linkbtn { margin: 0 auto; }

@media screen and (max-width: 1024px) {
.openbtn { display: block; }

/*===============================
 トップページ
===============================*/
.top_news_article .news_item a { padding-right: 0; }

/*===============================
 弁護士紹介
===============================*/
#lowyers { padding: 0 0 70px; }
.lowyer_area { padding: 70px 5% 0; }
.lowyer_box { flex-wrap: wrap; padding: 6%; }
.lowyer_box_left { width: 100%; margin-bottom: 20px; }
.lowyer_box_left_top { margin-bottom: 10px; }
.lowyer_box_left_top .name { display: inline-block; margin-right: 10px; }
.lowyer_box_left_top .kana { display: inline-block; }
.lowyer_box_right { width: 100%; }
.lowyer_box_right .about-list dl { display: block; }
#lowyers .about-list dt { width: 100%; font-weight: 700; color: #133988; padding: 0;}
#lowyers .about-list dd { width: 100%; }

/*===============================
 よくある質問
===============================*/
.secFaq__icn { margin-right: 20px; }
.secFaq__item__q:before { right: 35px; }
.secFaq__item__q__ttl__txt { padding-right: 11%; }
.secFaq__item__a__box { padding: 0 11% 25px 12.5%; }

/*===============================
 footer
===============================*/
.footer_inner01 { flex-wrap: wrap; }
.copyright { line-height: 1.3; padding: 7px 0 15px; }
.copyright small { font-size: 1.0rem; letter-spacing: 0.1em; }
}

@media screen and (max-width: 767px) {
/*===============================
 Font
===============================*/
p, li, dt, dd, th, td { font-size: 1.5rem; line-height: 2; }

/*===============================
 Layout
===============================*/
.container { width:100%; padding: 0 5%; }
.left-container, .right-container { width: 93%; }
section {padding:50px 0; }
.pagetitle { padding: 117px 0 0 0; }
.pagetit {font-size: 1.6rem;}
.pagesubtit {font-size: 5.0rem;}
.sectitle01 {font-size: 2.4rem;}
.sectitle02 {font-size: 2.8rem;}
.secsubtitle01 { font-size: 1.5rem; }
.page_sectit_area { margin-bottom: 30px; }
.page_secsubtit { font-size: 3.8rem; margin-bottom: 15px; }
.page_sectit { font-size: 1.6rem; }
.linkbtn {width: 300px;min-height: 60px;}
.linkbtn.btn_arrow:before { width: 50px; }
.linkbtn.btn_arrow:after { top: 35%; }
.cta { padding: 20px 0 70px; }
.cta.btm { padding-bottom: 70px; }
.cta .linkbtn { width: 320px; min-height: 70px; font-size: 1.8rem; }

/*===============================
 COMMON
===============================*/
/* btm_link */
.btm_link { padding: 30px 0 80px; }
.btm_link_inner { flex-wrap: wrap; width: 90%; }
.btm_link_box { padding: 6%; min-height: 190px; }
.btm_link_box_tit { font-size: 2.0rem; }
.btm_link_box .red_circle { right: 6%; top: 78%; }
.red_circle { width: 40px; height: 40px; }
.btm_link_box .red_circle:before { bottom: 16px; right: 16px; width: 90px; }
.btm_link_box .red_circle:after { bottom: 16px; right: 21px; height: 10px; }
.btm_link_box_shadow { top: 7px; left: 7px; }

/* article */
.archive-article_info .tit { font-size: 1.6rem; }
.archive-article_info .category > li { font-size: 1.2rem; }

/* card-article（articleを元に） */
.archive-card-article .archive-article_info .category span.item { font-size: 1.2rem; }

/*===============================
 header
===============================*/
#header { min-height: 67px; }
#header .header_logo { top: 50%; left: 15px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); width: 140px; }

/* パンくずリスト */
.breadcrumb { margin: 15px 0 0; }
.breadcrumb-item { font-size: 1.1rem; }
.breadcrumb-item.home img { width: 13px; }
body.single .breadcrumb_nav { margin: 82px auto 0; }
.mv_privacy_inner .breadcrumb_nav { padding: 0; }

/*===============================
 MV
===============================*/
#mv { height: auto; padding-top: 67px; }
#mv .container { height: 100vh; }
.mv_Txtslide_item { font-size: 3rem; }
.mv_Workarea { padding: 15px 0; }
.slide-item { gap: 0.3em; margin-right: 0.3em; }
.mv_Workslide_item { width: 300px; padding-top: 200px; }
.slide-item-img { margin-right: 20px; }
ul.mv_Workslide li.mv_Workslide_item:nth-of-type(2n) { margin-top: 30px; }
.mv_Workarea:before { height: calc(100% + 20px); }
.mv_Workarea:after { height: calc(100% + 20px); }
.mv_maintxt { position: relative; padding: 13px 20px; bottom: 50px; left: 5vw; width: 85%; }
.mv_maintxt .jp { font-size: 2.0rem; }
.mv_maintxt .en { font-size: 1.4rem; }
.mv01 { padding-top: 67px; }
.mv01 .mv01_inner { padding: 40px 5%; }
.mv01 .mv01_inner::after { width: 83vw; }
.mv01 .pagetitle { padding: 0; }
.mv02 { padding-top: 67px; }
.mv02 .pagesubtit { font-size: 3.4rem; margin-bottom: 20px; }
.mv02 .pagetit { font-size: 1.6rem; }
.mv02 .pagetitle { padding: 45px 5% 20px; }
.mv02 .mv02_inner { padding: 0; }


/*===============================
 トップページ
===============================*/
.top_sectit {  margin-bottom: 50px; }
.top_sectit h2 { font-size: 3.6rem; }

/* ABOUT */
#top_about:before { width: 7px; top: -90px; left: 0; height: calc(100% + 160px); }
#top_about { padding: 0 0 50px; }
#top_about .top_sectit { margin-bottom: 30px; }
#top_about .catchcopy { font-size: 2.0rem; margin-bottom: 20px; }
#top_about .maintxt { margin-bottom: 30px; }
#top_about .linkbtn { margin: 0 auto; }

/* SERVICE */
#top_service .sectitle02 { font-size: 7.3rem; top: -21px; }
.top_servicelist { flex-wrap: wrap; gap: 30px; margin: 50px 0 50px; }
.top_servicelist_item { width: 100%; min-height: 230px; padding: 5% 0; }
.top_servicelist_item .en_tit { font-size: 3.2rem; }
.top_servicelist_item .jp_tit { font-size: 1.6rem; }
.top_servicelist_item_arrow { width: 40px; right: auto; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); bottom: 10%; }
#top_service .bcartbanner_link { margin: 0 auto 20px; }

/* WORKS */
#top_works:after { width: 7px; }
.work_grid { gap: 4rem 0; }
#top_works .work_grid { margin-bottom: 50px; }
.workArticle.-small, .workArticle.-medium, .workArticle.-large { width: 100%; }
#top_works .top_sectit .sectitle01 span:after { height: 5px; bottom: 3px; }
.workArticle .company { font-size: 1.4rem; }
.workArticle .title { font-size: 1.7rem; margin-bottom: 7px; }
.workArticle .service span { font-size: 1.3rem; }
.no-postarea { margin: 0 auto 50px; }

/* NEWS */
#top_news .top_sectit .sectitle01 span { padding-bottom: 15px; }
.top_newslist .archive-card-article { width: 100%; }
.top_newslist { margin-bottom: 50px; gap: 20px; }

/* COLUMN */
#top_column:after { width: 7px; height: 130%; }
.columnArticle.-small { width: 100%; }
.column_grid { gap: 5rem 0; }
#top_column .column_grid { margin-bottom: 50px; }

/*===============================
 事業紹介
===============================*/
.service_list01_item { padding: 30px 5% 40px; }
.service_list01_item .title { margin-bottom: 20px; }
.service_list01_item .title .number { font-size: 2.0rem; }
.service_list01_item .title .eng { font-size: 3rem; margin-bottom: 15px; }
.service_list01_item .title .jpn { font-size: 1.4rem; }
.service_list01_item .detail_list { margin-bottom: 30px; }
.service_list01_item .detail_list .detail_list_item { font-size: 1.3rem; }
#service_archive .bcartbanner_link { margin: 50px auto 0; }

/*===============================
 事業紹介（下層）
===============================*/
.service_detail_top { padding: 20px 0; }
.service_detail_top_inner { flex-wrap: wrap; margin-bottom: 0; }
.service_detail_top_inner .txt-box { width: 100%; margin-bottom: 10px; }
.service_detail_top_inner .img-box { width: 100%; margin-top: 0; }
.service_detail_top_inner .txt-box .catch { font-size: 2.0rem; }

/* サービス紹介 */
.service_detail_introduction .sectit { margin-bottom: 30px; }
.service_detail_introduction .sectit .subtit { font-size: 4rem; }
.anchorlink { margin-bottom: 50px; }
.service_list02_item { padding: 16% 10%; border: 2px solid #F7F7F8; }
.service_list02_item:before { border-left: 70px solid #F7F7F8; border-bottom: 60px solid transparent; }
.service_list02_item .number { font-size: 2.4rem; }
.service_list02_item .title { margin-bottom: 30px; }
.service_list02_item .title .eng { font-size: 2.4rem; line-height: 1.3; margin-bottom: 15px; }
.service_list02_item .catch { font-size: 1.7rem; }
.service_list02_item .linkbtn { margin-top: 30px; width: 100%; }
.service_detail_top.creative { padding: 20px 0; }
.service_detail_top.creative .service_detail_top_inner .img-box { margin-top: 0; }

/*===============================
 企業情報
===============================*/
#role { padding: 50px 0 20px; }
#role::after { width: 3.5vw; height: 590%; }
#role .page_sectit { font-size: 2.0rem; }

/* 企業理念 */
#philosophy .page_sectit_area { margin-bottom: 30px; }
.philosophy_box { margin-bottom: 70px; }
.philosophy_box .left { width: 100%; margin-bottom: 30px; }
.philosophy_box .right { width: 100%; }
.philosophy_box .left .titarea { margin-bottom: 30px; }
.philosophy_box .left .titarea .number { font-size: 2rem; }
.philosophy_box .left .titarea .tit_en { font-size: 3.4rem; margin-bottom: 5px; }
.philosophy_box .left .catch { font-size: 1.8rem; margin-bottom: 30px; }
.philosophy_box .valuelist .valuelist_item { width: 100%; }
.philosophy_box .valuelist .valuelist_item .tit { font-size: 1.6rem; }
.philosophy_box .valuelist .valuelist_item p { width: 100%; padding-bottom: 20px; }
.philosophy_box .valuelist > li:not(:nth-last-of-type(-n+2)) { margin-bottom: auto; }
.philosophy_box .valuelist > li:not(:last-of-type) { margin-bottom: 30px; }
.philosophy_box#value { margin-bottom: 0; }
.philosophy_box#value .left { margin-bottom: 0; }

/* 制作プロセス */
.process_toptxt { padding: 0 5%; font-size: 1.4rem; margin-bottom: 50px; }
.processlist_item { flex-wrap: wrap; }
.processlist_item .titarea { width: 100%; }
.processlist_item .titarea .tit_en { font-size: 2.6rem; }
.processlist_item .titarea .tit_jp { font-size: 1.6rem; }
.processlist_item .txt { width: 100%; padding: 5%; }
.processlist > li.processlist_item:not(:last-of-type):after { bottom: -68px; width: 55px; height: 55px; }
.processlist > li:not(:last-of-type) { margin-bottom: 60px; }

/* 会社概要 */
.about-list dl { display: block; }
.about-list li { margin: 0 0 20px 0; padding: 0 0 20px 0; }
.about-list dt { width: 100%; padding: 0; font-weight: 700; }
.about-list dd { width: 100%; }
.about-list .map { height: 300px; }

/*===============================
 お問い合わせ
===============================*/
#page-contact { padding: 30px 0; } 
#page-contact .container { padding: 0 5vw; }
.contact_tit { font-size: 2.0rem; margin-bottom: 20px; }
.contact-form { margin: 0 auto 30px; width: 88%; } 
#page-contact h2.sectitle02 { margin-bottom: 15px; } 
.contact_txt { text-align: center; font-size: 1.5rem; line-height: 2; margin-bottom: 10px; } 
#contact-area { padding: 10px 0 30px; } 
.contact-form th, .contact-form td { display: block; } 
.contact-form th { padding: 15px 0; border-bottom: none; display: flex; align-items: center; font-size: 1.5rem; } 
.contact-form td { padding: 0 0 20px; } 
.inputtext_item, .inputtext_item p { min-height: auto; } 
.contact-form .required { margin-right: 15px; } 
.contact-form .required.required01 { margin-bottom: 0; } 
span.mwform-radio-field.horizontal-item { display: block; } 
.mw_wp_form .horizontal-item + .horizontal-item { margin-left: 0 !important; margin-top: 8px; } 
.inputtextarea_item p { min-height: auto; } 
.contact-form textarea, .contact-form .inputtext { padding: 7px 15px; } 
#contact_txt_btm { letter-spacing: 0; margin-bottom: 30px; } 
input[type="submit"].mainsubmit { width: 300px; min-height: 60px; } 
input[type="submit"].mainback { width: 300px; min-height: 60px; }

/* 入力内容確認 */
#page-contact.confirm { padding: 97px 0 50px; } 
#page-contact.confirm .required { margin-bottom: 0; } 
#page-contact.confirm .contact-form td { width: 100%; padding: 0 0 20px; } 
#page-contact.confirm #content_textarea td { padding: 0 0 20px; } 
#page-contact.confirm .submit_area { flex-wrap: wrap; } 
#page-contact.confirm input[type="submit"].mainsubmit { margin: 0 0 20px; width: 300px; min-height: 60px; } 
#page-contact.error .sectitle02, #page-contact.confirm .sectitle02 { padding: 50px 0 40px; }

/* 送信完了 */
#page-contact.thanks { padding: 130px 0 100px; } 
#apply_head { font-size: 2.2rem; margin-bottom: 20px; } 
#apply_txt { font-size: 1.3rem; margin-bottom: 40px; } 
#apply_btn_link { width: 300px; min-height: 60px; font-size: 1.8rem; }

/* 入力内容エラー */
#page-contact.error { padding: 97px 0 50px; }
#page-contact.error .contact_txt, #page-contact.confirm .contact_txt { margin-bottom: 0px; }
#page-contact.error .contact-form > tbody > tr:first-of-type th { padding-top: 20px; }

/*===============================
 お知らせ一覧
===============================*/
.news_archive_inner { padding: 30px 5% 50px; }
.newslist { gap: 40px; margin-bottom: 0; }
.newslist .archive-card-article { width: 100%; }

/*===============================
 支援実績一覧
===============================*/
.work_archive_inner { padding: 30px 0 50px; }
.categorylink { margin-bottom: 40px; }
.workArticle .title { font-size: 1.6rem; }

/*===============================
 コラム一覧
===============================*/
.column_archive_inner { padding: 30px 5% 50px; }
.columnlist { gap: 40px; margin-bottom: 0; }

/*===============================
 SINGLE
===============================*/
.single-page { padding: 0 0 50px; margin-bottom: 0; }
.single-main .container { padding: 20px 6vw; }
.single-works .article_tit_area { margin-bottom: 30px; }
.single-main .article_info { align-items: center; margin-bottom: 7px; }
.single-main .article_date { font-size: 1.4rem; text-align: left; margin-bottom: 0; }
.single-main .article_tit { font-size: 2.0rem; line-height: 1.666; margin: 0 auto 30px; padding-bottom: 15px; }
.single-main .mainimg { margin-bottom: 30px; }
.cta.cta_works .linkbtn { font-size: 1.7rem; width: 320px; min-height: 70px; }
.single-main_btm { margin-top: 0; }

/* content */
.article_content h2 { font-size: 2.0rem; padding-bottom: 15px; margin: 40px auto 15px; line-height: 1.5; }
.article_content h3 { font-size: 1.5rem; line-height: 1.73; }
.article_content h4 { font-size: 1.4rem; line-height: 1.66; }
.article_content h5 { font-size: 1.4rem; line-height: 1.66; }
.article_content h6 { font-size: 1.4rem; line-height: 1.66; }
.article_content p { margin-bottom: 10px; } 
.article_btmlink { margin: 50px 0; } 
.article_btmlink > div { min-height: 100px; } 
.article_btmlink > div.back { border-right: 1px solid #020202; } 
.article_btmlink > div > a { font-size: 1.6rem; width: 70%; } 
.article_btmlink > div.next > a { text-align: right; }

/*===============================
 SINGLE-COLUMN
===============================*/
.single-blog { padding: 50px 5% 0; flex-wrap: wrap; margin-bottom: 0; }
.single-blog main { width: 100%; }
#single-column .single-main .article_tit { font-size: 2.2rem; margin: 0 auto 15px; }
#single-column .single-main .mainimg { margin-bottom: 15px; }
#single-column .single-main .article_content ol.toc__sublist { padding-left: 15px; }
#single-column .article_content h2 { font-size: 1.9rem; padding: 10px 20px 12px; letter-spacing: 0.03em; margin: 40px auto 15px; line-height: 1.5; }
#single-column .article_content h3 { font-size: 1.7rem; padding: 2px 13px 3px; border-left: 5px solid #D7182A; margin: 25px 0 15px; }
#single-column .article_content h4 { font-size: 1.7rem; }
#single-column .article_content p { margin-bottom: 1em; }
#single-column .article_content .article_cta { padding: 20px 20px 25px; }
.article_cta_btn > a { border-radius: 25px; }
.single-blog .r_sidebar { width: 100%; margin-top: 100px; } 
#single-column { padding: 15px 5% 0; margin-top: 0; } 
#single-column .mainimg img { width: 100%; }

/* sidebar */
.r_sidebar section.side_popular { padding: 0 0 10px; }

/* 目次 */
.toc__container { padding: 15px 23px 20px; margin-bottom: 30px; } 
.toc__container .toc__title { font-size: 1.8rem; }

/*===============================
 支援実績詳細
===============================*/
.single-page.page-work { padding: 0 0 50px; margin-bottom: 0; }
.single-main.single-work { margin-bottom: 70px; }
.single-main.single-work .article_corp { font-size: 1.4rem; margin-bottom: 15px; line-height: 1.6; }
.single-main.single-work .article_cat span { padding: 2px 20px 2px; font-size: 1.2rem; margin-right: 5px; }
.single-main.single-work .article_info { margin-bottom: 10px; }
.single-main.single-work .article_tit { margin: 0 auto 10px; }
.single-main.single-work .mainimg { padding-top: 67%; }
.single-main.single-work .article_top { margin-bottom: 0; }
.front_exp_item { flex-wrap: wrap; border-bottom: none; margin-bottom: 0; }
.front_exp_item .tit { width: 100%; margin-bottom: 10px; }
.front_exp_item .tit .en { font-size: 2.6rem; margin-bottom: 5px; }
.front_exp_item .tit .jp { font-size: 1.4rem; }
.front_exp_item .txt { width: 100%; }
.work_exp { margin-bottom: 30px; }
.results_box { margin-bottom: 40px; }
.results_box .titarea { padding-bottom: 13px; }
.results_box .titarea .en { font-size: 2.6rem; margin-bottom: 7px; }
.results_box .titarea .jp { font-size: 1.4rem; }
.results_box .results_content .web_img { padding-top: 49%; margin-bottom: 30px; }
.results_box .titarea { margin-bottom: 30px; }
.results_box .results_content .linkarea { margin-bottom: 50px; }
.results_box .results_content .linkarea .linkbtn { padding: 10px 30px; }
.results_box .results_content .creator { flex-wrap: wrap;  }
.results_box .results_content .creator .info { width: 100%; margin-bottom: 20px; }
.results_box .results_content .creator .info .tit { font-size: 2.0rem; margin-bottom: 10px; }
.results_box .results_content .creator .info .corp { font-size: 1.6rem; }
.results_box .results_content .creator .img { width: 100%; padding-top: 80%; }
.results_box .results_content .movie_area iframe { height: 193px; }
.results_box .results_content .work_photolist { grid-template-columns: 1fr; }
.work_contact_tit .en { font-size: 2.6rem; margin-bottom: 5px; }
.work_contact_tit .jp { font-size: 1.4rem; }
.case_other .titarea .en { font-size: 2.6rem; margin-bottom: 5px; }
.case_other .titarea .jp { font-size: 1.4rem; }
.case_other .slick-list { margin-block: 30px; }
.workArticle._other { width: 270px; margin: 0 10px; }

/* その他の実績 */
.case_other .slick-prev, .case_other .slick-next { top: -12%; width: 30px; height: 30px; }
.case_other .slick-prev { left: auto; right: 60px; }
.case_other .slick-next { right: 0; }
.case_other .slick-prev:before, .case_other .slick-next:before { font-size: 30px; color: #020202; }

/*===============================
 お知らせ詳細
===============================*/
.single-news .article_cat span { padding: 4px 17px; font-size: 1.3rem; }

/*===============================
 ページネーション
===============================*/
.pagination { margin: 50px 0 20px; }
.nav-links > span { margin: 0 10px 0; }
.nav-links > a { margin: 0 10px 0; }

/*===============================
 404
===============================*/
#mv_notfound { padding-top: 67px; }
#mv_notfound .mv02_inner { padding: 50px 0 0; }
#mv_notfound .pagetitle { padding: 30px 0; }
#notfound { padding: 50px 0; }
#no-found_tit { font-size: 2.6rem; }
#notfound .container p { margin-bottom: 30px; }

/*===============================
 page-privacy-policy
===============================*/
#mv_privacy { padding-top: 67px; }
#mv_privacy .pagetitle { padding: 0; }
#mv_privacy .pagetitle .pagesubtit { font-size: 1.6rem; }
#mv_privacy .pagetitle .pagetit { font-size: 2.6rem; margin-bottom: 10px; }
.mv_privacy_inner { padding: 50px 0; }
.policy_content_inner { padding: 0 5% 50px; }
.policy_content_inner .policy_item { padding: 0 0 40px; }
.policy_item h2 { font-size: 2.0rem; margin-bottom: 20px; }
.policy_item > ul { padding-left: 36px; }
.policy_item > ul > ul { padding-left: 35px; }
.policy_item ul > li:not(:last-of-type) { margin-bottom: 15px; }
.privacy_num { top: -11px; }
#privacy_btm { margin-top: 20px; }

/*===============================
 footer
===============================*/
.footer_inner01 { padding: 50px 0; justify-content: center; }
.footer_inner_left { margin-bottom: 40px; }
.footer_logo { width: 128px; margin: 0 0 20px 0; }
.footer_corpname { font-size: 1.2rem; }
.footer_menu { flex-wrap: wrap; padding: 0; width: 100%; justify-content: center; display: flex; }
.footer_menu .linkbtn { width: 100%; }
.footer_menu > ul { display: grid; grid-auto-flow: column; grid-template-rows: repeat(3, auto); gap: 25px 70px; margin-bottom: 40px; }
.footer_menu > ul > li > a { margin: 0; }
.footer_menu .linkbtn { width: 260px; margin: 0 auto; min-height: 60px; font-size: 1.6rem; }
.footer_bottom { flex-wrap: wrap; padding: 15px 0; }
.footer_bottom_left { width: 100%; text-align: center; order: 2; }
.footer_bottom_right { width: 100%; text-align: center; }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
/*===============================
 Layout
===============================*/
p, li, dt, dd, th, td { font-size: 1.4rem; line-height: 2; }
section { padding: 70px 0; }
.container02 { width: 95%; }
.pagesubtit {font-size: 6.0rem;}
.pagetit {font-size: 2.0rem;}
.sectitle01 {font-size: 2.7rem;}
.sectitle02 { font-size: 19vw; }
.page_sectit {font-size: 2.2rem;}
.secsubtitle01 { font-size: 1.5rem; }
.linkbtn {width: 280px; min-height: 60px; font-size: 1.4rem;}
.btn_arrow:before { width: 40px; }
.btn_arrow:hover::before { width: 20px; }
.btn_arrow:after { top: 37%; }

/*===============================
 COMMON
===============================*/
/* btm_link */
.btm_link { padding: 30px 0 80px; }
.btm_link_inner { flex-wrap: wrap; width: 72%; }
.btm_link_box { padding: 6%; min-height: 190px; }
.btm_link_box_tit { font-size: 2.0rem; }
.btm_link_box .red_circle { right: 6%; top: 78%; }
.red_circle { width: 40px; height: 40px; }
.btm_link_box .red_circle:before { bottom: 16px; right: 16px; width: 90px; }
.btm_link_box .red_circle:after { bottom: 16px; right: 21px; height: 10px; }
.btm_link_box_shadow { top: 9px; left: 9px; }

/* article */
.archive-article_info .tit { font-size: 1.6rem; }
.archive-article_info .category { gap: 5px; }
.archive-article_info .category > li { font-size: 1.2rem; }

/* card-article（articleを元に） */
.archive-card-article .archive-article_info { padding: 5% 7%; }

/*===============================
 header
===============================*/
#header { min-height: 70px; }
#header .header_logo { top: 16%; left: 15px; width: 150px; }

/* パンくずリスト */
body.single .breadcrumb_nav { margin: 90px auto 0; }
.mv_privacy_inner .breadcrumb_nav { padding: 0; }

/*===============================
 MV
===============================*/
#mv { padding-top: 70px; }
.mv_maintxt .jp { font-size: 2.6rem; }
.mv_maintxt .en { font-size: 1.6rem; }
.mv_Workslide_item { width: 70vw; padding-top: 50vw; }
ul.mv_Workslide li.mv_Workslide_item:nth-of-type(2n) { margin-top: 40px; }
.mv_Workarea:before { height: calc(100% + 20px); }
.mv_Workarea:after { height: calc(100% + 20px); }
.mv01 { padding-top: 70px; }
.mv01 .mv01_inner::after { width: 82vw; }
.mv02 { padding-top: 70px; }
.mv02 .mv02_inner { padding: 50px 0 0; }
.mv02_inner .pagetitle { padding: 0; width: 90%; }
.mv02 .pagetit { font-size: 2.0rem; }
.mv02 .pagesubtit { font-size: 5.0rem; margin-bottom: 25px; }

/*===============================
 トップページ
===============================*/
.top_sectit { margin-bottom: 50px; }
.top_sectit h2 { font-size: 6.0rem; }

/* ABOUT */
#top_about { padding: 30px 0 70px;}
#top_about:before { width: 20px; left: 0; top: 30px; }
#top_about .top_sectit { margin-bottom: 40px }
#top_about .sectitle01 { font-size: 6.0rem; }
#top_about .maintxt { margin-bottom: 40px; }

/* SERVICE */
#top_service .sectitle02 { top: -43px; }
.top_servicelist { gap: 20px; margin: 100px 0 60px; }
.top_servicelist_item { width: calc((100% - 20px) / 2); min-height: 380px; }
.top_servicelist_item_arrow { right: 7%; }
#top_service .bcartbanner_link { margin: 0 auto 20px; }

/* WORK */
#top_works:after { width: 1.0vw; }
.work_grid { gap: 5rem 1.6447368421%; }
.workArticle .company { font-size: 1.4rem; }
.workArticle .title { font-size: 1.6rem; }
.workArticle .service span { font-size: 1.2rem; }
.no-postarea { max-width: 600px; margin: 0 auto 50px; }

/* NEWS */
.top_newslist { gap: 20px; }
.top_newslist .archive-card-article { width: calc((100% - 40px) / 3); }

/*===============================
 事業紹介
===============================*/
.service_list01_item { padding: 50px; }
.service_list01_item .title .eng { font-size: 5.0rem; }
.service_list01_item .title .jpn { font-size: 2.0rem; }
#service_archive .bcartbanner_link { margin: 70px auto 0; }

/*===============================
 事業紹介（下層）
===============================*/
.service_detail_top { padding: 50px 0; }
.service_detail_top.creative { padding: 50px 0; }
.service_detail_top_inner { flex-wrap: wrap; }
.service_detail_top_inner .txt-box { width: 100%; }
.service_detail_top_inner .img-box { width: 70%; margin: 10px auto; }
.service_detail_introduction .sectit { margin-bottom: 40px; }
.anchorlink { margin-bottom: 50px; }
.service_list02_item { padding: 5% 5% 5% 130px; }
.service_list02_item:before { top: -6px; left: -6px; border-left: 140px solid #F7F7F8; border-bottom: 130px solid transparent; }
.service_list02_item .number { font-size: 4.5rem; }
.service_list02_item .title .eng { font-size: 4rem; line-height: 1.2; margin-bottom: 20px; }
.service_list02_item .title .jpn { font-size: 1.8rem; }
.service_detail_top.creative .service_detail_top_inner .img-box { margin-top: 30px; }

/*===============================
 企業情報
===============================*/
#philosophy .page_sectit_area { margin-bottom: 50px; }
.philosophy_box { margin-bottom: 70px; justify-content: space-between; }
.philosophy_box .left .titarea { margin-bottom: 40px; }
.philosophy_box .left .catch { font-size: 2.0rem; margin-bottom: 40px; line-height: 1.5; }
.philosophy_box .right { width: 47%; margin-top: 30px; }
.philosophy_box .valuelist .valuelist_item p { width: 95%; }
.processlist_item .titarea { width: 170px; }
.processlist_item .titarea .tit_en { font-size: 2.6rem; }
.processlist_item .titarea .tit_jp { font-size: 1.6rem; }
.processlist_item .txt { width: calc(100% - 170px); padding-left: 3%; }
.page_sectit_area { margin-bottom: 50px; }
.process_toptxt { margin-bottom: 50px; }

/* 会社概要 */
.about-list li { margin: 0 0 20px 0; padding: 0 0 20px 0; }
.about-list dt { width: 25%; padding: 0 0 0 20px; }
.about-list dd { width: 75%; }

/*===============================
 お知らせ一覧
===============================*/
.news_archive_inner { padding: 50px 0; width: 95%; }
.categorylink { margin-bottom: 50px; }
.newslist { gap: 10px; }
.newslist .archive-card-article { width: calc((100% - 20px) / 3); }

/*===============================
 コラム一覧
===============================*/
.column_archive_inner { padding: 50px 0; width: 95%; }
.columnlist { gap: 15px; }
.columnlist .archive-article { width: calc((100% - 30px) / 3); }

/*===============================
 支援実績一覧
===============================*/
.work_archive_inner { padding: 50px 0; }

/*===============================
 SINGLE
===============================*/
.single-page { padding: 20px 0 50px; margin-bottom: 0; } 
.single-main .article_tit { font-size: 2.6rem; margin: 0 auto 40px; padding-bottom: 20px; } 
.single-main_btm { margin-top: 70px; }

/*===============================
 SINGLE-COLUMN
===============================*/
#single-column { padding: 20px 0 50px; margin-top: 0; }
.single-blog main { width: 66%; }
.single-blog .r_sidebar { width: 30%; }
#single-column .single-main .article_tit { font-size: 2.3rem; margin: 0 auto 20px; }
#single-column .single-main .mainimg { margin: 0 auto 20px; }
#single-column .article_content p { margin-bottom: 20px; }
.toc__container { padding: 15px 25px 20px; }
.toc__container .toc__title { margin-bottom: 5px; }
.article_content ol.toc__sublist { padding-left: 15px; }
#single-column .article_content h2 { font-size: 1.8rem; padding: 12px 22px; }
#single-column .article_content h3 { font-size: 1.6rem; padding: 3px 0 5px 13px; margin: 25px 0 15px; }
#single-column .article_content h4 { font-size: 1.7rem; line-height: 1.666; padding-bottom: 13px; margin-bottom: 17px; }
#single-column .article_content .article_cta { padding: 25px 28px 30px; }
.article_cta_btn > a { display: block; padding: 15px 0; line-height: 1.7; font-size: 1.5rem; border-radius: 25px; }
.article_btmlink { margin-top: 50px; }
.article_btmlink > div > a { font-size: 1.9rem; }
.single-main_btm { margin-top: 50px; }
.r_sidebar .archive-article h2 { font-size: 1.4rem; }

/*===============================
 支援実績詳細
===============================*/
.single-page.page-work { padding: 20px 0 60px; }
.front_exp_item { margin-bottom: 30px; padding-bottom: 30px; }
.front_exp_item .tit { width: 260px; }
.front_exp_item .txt { width: calc(100% - 260px); }
.work_exp { margin-bottom: 70px; }
.results_box { margin-bottom: 100px; }
.results_box .results_content .creator .info { width: 48%; }
.results_box .results_content .creator .info .tit { font-size: 2.2rem; }
.results_box .results_content .creator .img { width: 48%; padding-top: 40%; }
.results_box .results_content .linkarea { margin-bottom: 60px; }
.results_box .results_content .movie_area iframe { height: 415px; }
.workArticle._other { width: 29vw; }

/*===============================
 お問い合わせ
===============================*/
#page-contact { padding: 50px 0; }
#page-contact h2.sectitle02 { margin-bottom: 30px; } 
.contact_txt { margin-bottom: 30px; } 
#contact-area { padding: 0px 0 50px; } 
.contact-form th { min-width: 160px; padding: 20px 0; font-size: 1.4rem; } 
.contact-form td { padding: 20px 0; } 
.inputtextarea_item p { min-height: 160px; } 
.inputtext_item, .inputtext_item p { min-height: 50px; } 
#contact_txt_btm { margin-bottom: 40px; } 
input[type="submit"].mainsubmit { width: 420px; min-height: 80px; }

/* 入力内容確認 */
#page-contact.confirm { padding: 130px 0 50px; }
#page-contact.confirm #content_textarea td { padding: 78px 20px 20px; } 
#page-contact.confirm input[type="submit"].mainsubmit { margin: 0px 20px 0 0; width: 300px; } 
input[type="submit"].mainback { width: 300px; }

/* 完了画面 */
#page-contact.thanks { padding: 150px 0 290px; }

/* 入力エラー */
#page-contact.error { padding: 130px 0 50px; }
#page-contact.error .sectitle02, #page-contact.confirm .sectitle02 { padding: 40px 0; } 
#page-contact.error .contact-form > tbody > tr:first-of-type th { padding-top: 40px; }

/*===============================
 ページネーション
===============================*/
.pagination { margin: 70px 0 0; }

/*===============================
 footer
===============================*/
.footer_inner01 { padding: 50px 0; }
.footer_logo { margin: 0 20px 10px 0; }
#g-nav li a { font-size: 1.8rem; padding: 20px 0; }
#g-nav.panelactive { bottom: 0; }
.openbtn { right: 15px; height: 70px; }
.copyright small { font-size: 1.0rem; }
.footer_menu .linkbtn { width: 330px; min-height: 80px; font-size: 2.0rem; }
.footer_menu > ul { margin-bottom: 50px; }

/*===============================
 page-privacy-policy
===============================*/
#mv_privacy { padding-top: 70px; }
.mv_privacy_inner { padding: 70px 0; }
#mv_privacy .pagetitle .pagetit { font-size: 3.0rem; margin-bottom: 10px; }
#mv_privacy .pagetitle .pagesubtit { font-size: 2.0rem; }
.policy_content_inner { padding: 0 5% 70px; }

/*===============================
 404
===============================*/
#no-found_tit { font-size: 4.0rem; }
#mv_notfound .pagetitle { padding: 70px 0; }
}

@media screen and (min-width: 800px) and (max-width: 990px) {
#g-nav-inner { top: 30%; }
}


@media screen and (min-width: 991px) and (max-width: 1024px) {
/*===============================
 footer
===============================*/
.footer_menu { padding: 0 10%; }
.openbtn { width: 100px; height: 70px; right: 20px; }
#g-nav-inner { top: 27%; }
}


@media screen and (min-width: 1025px) and (max-width: 1300px) {
#top_works .businesslist { flex-wrap: nowrap; }
#top_works .businesslist li { width: 460px; }
}

@media screen and (min-width: 1025px) and (max-width: 1140px) {
.sec_top_lowyers_list > li { width: 280px; }
}
