@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
/* CSS Document */

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

	リセット

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

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: 500;
	vertical-align: baseline;
	background: transparent;
}
body { line-height: 1;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
ul { list-style: none;}
blockquote, q { quotes: none;}
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none;}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
/*table { border-collapse: collapse; border-spacing: 0;}*/
hr {
	display: block;
	height: 0px;
	border: 0;
	border-bottom: 1px solid #4d4d4d;
	margin: 0;
	padding: 0;
}
input, select { vertical-align: middle;}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: top;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}
*, *:before, *:after { box-sizing: border-box;}

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

	グローバル

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

body {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #333333;
	font-size: 1em;
	line-height: 1.8;
	position: relative;
	min-width: 1030px;
}

p { margin-bottom: 25px;}
p:last-child { margin-bottom: 0px;}

a { color: #333333; text-decoration: none;}
a:hover, a:active { color: #0074d6;}

table{
  text-align: center;
  margin: auto;
  width: 50%;
}

caption {
  font-weight: bold;
  caption-side: bottom; /* 下 */
  text-align: left; /* 左 */
}

figcaption {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: bold;
}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo0875 { font-size: 0.875em !important;}
.fo09 { font-size: 0.9em !important;}
.fo0938 { font-size: 0.938em !important;}
.fo11 { font-size: 1.1em !important;}
.fo1125 { font-size: 1.125em !important;}
.fo115 { font-size: 1.15em !important;}
.fo1188 { font-size: 1.188em !important;}
.fo12 { font-size: 1.2em !important;}
.fo125 { font-size: 1.25em !important;}
.fo13 { font-size: 1.3em !important;}
.fo1375 { font-size: 1.375em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo18 { font-size: 1.8em !important;}
.fo1875 { font-size: 1.875em !important;}
.fo20 { font-size: 2.0em !important;}
.fo2125 { font-size: 2.125em !important;}
.fo25 { font-size: 2.5em !important;}

/* 文字装飾(ピクセル指定) */
.pxfo10 {font-size: 10px!important;}
.pxfo11 {font-size: 11px!important;}
.pxfo12 {font-size: 12px!important;}
.pxfo13 {font-size: 13px!important;}
.pxfo14 {font-size: 14px!important;}
.pxfo15 {font-size: 15px!important;}
.pxfo16 {font-size: 16px!important;}
.pxfo17 {font-size: 17px!important;}
.pxfo18 {font-size: 18px!important;}
.pxfo22 {font-size: 22px!important;}
.pxfo28 {font-size: 28px!important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}
.lh23 { line-height: 2.3;}

.ls02 { letter-spacing: 0.2em;}

.fo_noto { font-family: 'Noto Sans JP', sans-serif;}
.fo_bebas_neue{font-family: "Bebas Neue", sans-serif;}

.fo_white { color: #FFFFFF;}
.fo_blue { color: #0074d6;}
.fo_red { color: #ff0000;}

/* ボックス */
.container { max-width: 1230px; padding: 0px 15px; margin: 0px auto;}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}
.ta_right-s_center { text-align: right;}
.ta_left-s_center { text-align: left;}
.ta_center-s_left { text-align: center;}

.back_white { background-color: #fff !important;}

@media (min-width: 861px) {
	.hidden_l { display: none !important;}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

.hide { display: none;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb29_63 { margin-bottom: 29.63px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb38 { margin-bottom: 38px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb42 { margin-bottom: 42px !important;}
.mb46 { margin-bottom: 46px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb53 { margin-bottom: 53px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb80 { margin-bottom: 80px !important;}
.mb90 { margin-bottom: 90px !important;}
.mb140 { margin-bottom: 140px !important;}

.mb40-20 { margin-bottom: 40px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-60 { margin-bottom: 100px !important;}
.mb120-60 { margin-bottom: 120px !important;}
.mb140-40 { margin-bottom: 140px !important;}
.mb160-80 { margin-bottom: 160px !important;}

.mt9 {margin-top: 9px !important;}
.mt10 {margin-top: 10px !important;}
.mt13 {margin-top: 13px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt28 {margin-top: 28px !important;}
.mt33 {margin-top: 33px !important;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.mt52 {margin-top: 52px !important;}
.mt100 {margin-top: 100px !important;}
.mt120 {margin-top: 120px !important;}
.mt-271{margin-top: -413px !important;}

.ml10{margin-left: 10px !important;}
.ml20{margin-left: 20px !important;}
.ml45{margin-left: 45px !important;}
.ml60{margin-left: 60px !important;}
.ml140{margin-left: 140px !important;}
.mr280{margin-right: 280px !important;}

/* padding */
.pb20 {padding-bottom: 20px!important;}
.pb40 {padding-bottom: 40px!important;}
.pb50 {padding-bottom: 50px!important;}
.pb99 {padding-bottom: 99px!important;}
.pb120 {padding-bottom: 120px!important;}

.pt10 {padding-top: 10px!important;}
.pt13 {padding-top: 13px!important;}
.pt20 {padding-top: 20px!important;}
.pt30 {padding-top: 30px!important;}
.pt33 {padding-top: 33px!important;}
.pt40 {padding-top: 40px!important;}
.pt50 {padding-top: 50px!important;}
.pt52 {padding-top: 52px!important;}

.pl05{padding-left: 5px!important;}
.pl20{padding-left: 20px!important;}
.pl2em{padding-left: 2em!important;}

.pr100{padding-right: 100px!important;}
.pr300{padding-right: 300px!important;}

.left50{left: 50px}

/* ==========================
	ヘッダー 
   ========================== */
.header{
    display: flex;
    position: relative; /* 初期状態はrelative */
    width: 100%;
    z-index: 999999999; /* 他の要素より手前に表示 */
    transition: transform 0.3s ease-out, background-color 0.3s ease-out, box-shadow 0.3s ease-out, padding 0.3s ease-out, height 0.3s ease-out; /* 全てのプロパティの変化をアニメーション */
    transform: translateY(0%); /* 初期状態は表示 */
}

/* スクロールして固定されるときに適用されるクラス */
.header.fixed_active {
    position: fixed; /* 画面に固定 */
    top: 0; /* 画面の上部に配置 */
    left: 0; /* 画面の左端に配置 */
    background-color: #FFFFFF; /* 固定時の背景色 */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2); /* 影を追加 */
    padding-top: 0; /* 固定時に不要な余白を削除 */
    padding-bottom: 0; /* 固定時に不要な余白を削除 */
    height: 90px; /* 固定時の高さを調整（適宜調整してください） */
    transform: translateY(0%); /* 隠れていた状態から表示 */
}

.header.fixed_active.top_page h1 {margin-left: 0 !important;}
.header .top_logo{
    position: absolute;
    z-index: 10000;
}

.top_page h1{
    margin-left: 200px;
    padding: 35px 0 0px 28px;
    font-size: 1.25em;
}
.header ul{display: flex;margin-left: auto;}
.header ul li{font-weight: bold;padding: 42px 40px 0 0;}
.header ul li a{transition: all 0.3s 0s ease-in-out;}
.header ul li a:hover{color: #C7000D;}

.header .hedder_contact{background-color: #B0966C;transition: all 0.3s 0s ease-in-out;}
.header .hedder_contact:hover{background-color: #C7000D;}
.header .hedder_contact a{display: block;width: 100%;padding: 26px 37px 34px;}
.header .hedder_logo{padding: 20px 0 20px 50px;}
.header .hedder_logo a{display: block;width: 100%;}

@media (max-width: 1150px) {
    .header .top_logo{width: 150px;}
    .top_page h1{margin-left: 140px;padding: 35px 0 0px 28px;font-size: 1.1em;}
    .header ul li{font-size: 0.9em; padding: 42px 30px 0 0;}
}

/* ==========================
	フッター
   ========================== */
.footer_line{padding-bottom: 8px;background-color: #4D4D4D;margin-bottom: 15px;}
.footer .box01{background-color: #4D4D4D;padding: 50px 0 60px;overflow:hidden;}
.footer .box01 figure{max-width: 300px;margin: 0 auto 30px;}
.footer .box01 ul{display: flex;justify-content: center;margin-bottom: 60px;}
.footer .box01 ul li:not(:first-child){margin-left: 3em;}
.footer .box01 ul li a{color: white;transition: all 0.3s 0s ease-in-out;}
.footer .box01 ul li a:hover{text-decoration-line: underline;}
.footer .box01 p{margin-bottom: 0;}
.footer .copyright{background-color: #E2DDD4;text-align: center;padding: 10px 0 5px;}
.footer .copyright p{line-height: 1em;font-size: 0.9em;}


/* ==========================
	共通部品
   ========================== */
.btn_read_more{background-color: black;width: 250px;}
.btn_read_more a{
    color: white;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.25em;
    display: block;
    width: 100%;
    padding: 18px 0 18px 20px;
    line-height: 1em;
    position: relative;
    transition: all 0.3s 0s ease-in-out;
}

.btn_read_more a:hover{background-color: #C7000D;}
.btn_read_more a::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    border: 9px solid transparent;
    border-left: 14px solid #FFF;
}

.box_contact{
    width: 820px;
    margin: 0 auto;
    padding: 60px 90px;
    border-radius: 10px;
}

.box_contact > p{margin-bottom: 20px;}
.btn_contact_area{display: flex;justify-content: center;}
.btn_contact_area .btn_mail{margin-left: 40px;}
.btn_contact_area div{border-radius: 5px;transition: all 0.3s 0s ease-in-out;}
.btn_contact_area div a{
    display: block;
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.5em;
    padding-top: 15px;
    padding-right: 40px;
    padding-bottom: 15px;
    transition: all 0.3s 0s ease-in-out;
}
.btn_contact_area .btn_tel a{padding-left: 87px;position: relative;}
.btn_contact_area .btn_tel a::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 2em;
    transform: translateY(-50%);
    width: 22px;
    height: 28px;
    background-size: contain;
    background-repeat: no-repeat;
    transition: all 0.3s 0s ease-in-out;
}
.btn_contact_area .btn_mail a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 2em;
    transform: translateY(-50%);
    width: 31px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    transition: all 0.3s 0s ease-in-out;
}

.btn_contact_area .btn_mail a{padding-left: 96px;position: relative;}
.page_under_heading_contact{font-size: 3.125em;line-height: 0.6em;}

.page_heading{
    background-image: url("../images/common/heading_back.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    position:relative; 
    padding: 90px 0 50px;
}

.page_heading h2{
    position:absolute;
    left: 50%;
    top: 44%;
    transform: translate(-50%, -50%);
    font-size: 5.25em;
    color: #FFFFFF;
    opacity: 0.3;
}

.page_heading h3{
    color: #FFFFFF;
    font-size: 1.5em;
    margin-bottom: 24px;
    line-height: 1em;
}

.page_heading h4{
    color: #C7000D;
    font-size: 1.5em;
    text-shadow: 0px 0px 5px #FFFFFF;
    line-height: 1em;
}

.page_heading .red_line{
    width: 30px;
    padding-bottom: 2px;
    background-color: #C7000D;
    margin: 0 auto 10px;
}

.back_grey{background-color: #F4F4F4;padding-top: 20px;padding-bottom: 140px;}
.page_under_contact h2{color: #C7000D;}
.page_under_contact .box_contact{background-image: linear-gradient(180deg, rgba(199, 0, 13, 1), rgba(172, 2, 13, 1));}
.page_under_contact .btn_contact_area div{ background-color: white;}
.page_under_contact .btn_contact_area div a{color: #333333;}
.page_under_contact .btn_contact_area .btn_tel a::before{background-image: url("../images/common/tel_icon_black.svg");}
.page_under_contact .btn_contact_area .btn_mail a::before{background-image: url("../images/common/mail_icon_black.svg");}
@media (hover: hover) and (pointer: fine) {
    .page_under_contact .btn_contact_area div:hover {background-color: black;border-color: black;}
    .page_under_contact .btn_contact_area div:hover a {color: white;}
    .page_under_contact .btn_contact_area .btn_tel:hover a::before {background-image: url("../images/common/tel_icon_white.svg");}
    .page_under_contact .btn_contact_area .btn_mail:hover a::before {background-image: url("../images/common/mail_icon_white.svg");}    
}

/* ==========================
	top
   ========================== */
.top_sec_01{position: relative;z-index: 9997;}
.top_sec_01 figure{
    width: 94.8%;
    margin-left: auto;
    position: relative;
    z-index: 9998;
}

.top_sec_01 h2{
    position: absolute;
    z-index: 9999;
    left: 28%;
    top: 70%;
    transform: translate(-50%, -50%);
    font-size: 3em;
}

@media (max-width: 1300px) {.top_sec_01 h2{font-size: 2.5em;}}
@media (max-width: 1100px) {.top_sec_01 h2{font-size: 2.0em;}}


.top_sec_02{
    background-color: #F4F4F4;
    padding: 160px 0 120px;
    position: relative;
}

.top_sec_02 .container{
    display: flex;
    position: relative;
}

.top_sec_02 .container > figure{
    width: 50%;
    position: relative;
    z-index: 10000;
}

.top_sec_02 .container:nth-of-type(2) > figure{margin-left: auto;}
.top_sec_02 .container > figure::before{
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 100px 100px 0 0;
    border-color: #C7000D transparent transparent transparent;
}

.top_sec_02 .container .box01{width: 47%;}
.top_sec_02 .container:nth-of-type(1) > .box01{margin-left: auto;margin-top: 120px;}
.top_sec_02 .container:nth-of-type(1) > .box01 h3{font-size: 1.5em;}
.top_sec_02 .heading{
    background-color: white;
    width: 300px;
    padding: 14px 0;
}
.top_sec_02 .container:nth-of-type(1) .heading{
    position: absolute;
    z-index: 9999;
    left: 58%;
    top: 5%;
    transform: translate(-50%, -50%);
}
.top_sec_02 .container:nth-of-type(2) .heading{position: relative;}
.top_sec_02 .heading h2 span:nth-of-type(1){font-size: 2.5em;color: #E2DDD4;line-height: 1em;}
.top_sec_02 .heading h2 span:nth-of-type(2){font-size: 1.25em;color: #B0966C;}
.top_sec_02 .container:nth-of-type(2) .heading{margin-bottom: 40px;}
.top_sec_02 .container .heading::before{
    content: "";
    position: absolute;
    top: 0;
    left: 23px;
    width: 32px; /* 線の長さ */
    height: 3px;  /* 線の太さ */
    background-color: #F4F4F4;
    transform: rotate(135deg); /* 斜めに回転 */
    transform-origin: top left; /* 回転の基準点 */
}

.top_sec_02 .container:nth-of-type(1) .heading h2{margin-left: 80px;}
.top_sec_02 .container:nth-of-type(2) .heading h2{margin-left: 39px;}
.top_sec_02 .container:nth-of-type(2) .box01 p{
    width: 89%;
    margin-left: 40px;
    margin-bottom: 140px;
}

.top_sec_02 .container:nth-of-type(2) .box01 .btn_read_more{margin-left: 40px;}
.top_sec_03{
    background-color: #F4F4F4;
    margin-bottom: 140px;
    position: relative;
    overflow: hidden;
}

.top_sec_03 .red_polygon{
    background-color: #C7000D;
    padding: 80px; 
    box-shadow: 0px 0px 15px #00000066;
    clip-path: polygon(115px 0%, 100% 0, 100% calc(100% - 115px), calc(100% - 115px) 100%, 0 100%, 0 115px);
}

.top_sec_03::after{
    position: absolute;
    content: "";
    right: -65px;
    bottom: -12px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 80px 80px 0px 80px;
    border-color: #B0966C transparent transparent transparent;
    transform: rotate(315deg)
}
.top_sec_03 .box_contact{background-color: white;}
.top_sec_03 .btn_contact_area div{ background-color: black; border: 3px solid black;}
.top_sec_03 .btn_contact_area div a{color: white;}
.top_sec_03 .btn_contact_area .btn_tel a::before{background-image: url("../images/common/tel_icon_white.svg");}
.top_sec_03 .btn_contact_area .btn_mail a::before{background-image: url("../images/common/mail_icon_white.svg");}
.top_sec_03 .btn_contact_area div:hover {background-color: white;border-color: black;}
.top_sec_03 .btn_contact_area div:hover a {color: black;}
.top_sec_03 .btn_contact_area .btn_tel:hover a::before {background-image: url("../images/common/tel_icon_black.svg");}
.top_sec_03 .btn_contact_area .btn_mail:hover a::before {background-image: url("../images/common/mail_icon_black.svg");}

/* ==========================
	advantage
   ========================== */
.advantage_sec_02 h2,
.advantage_sec_03 h2{font-size: 3em;line-height: 0.5em;}
.advantage_sec_02 .box01,
.advantage_sec_03 .box01{background-color: white;border-radius: 10px;padding: 40px;}
.advantage_sec_02 .box01 h3,
.advantage_sec_03 .box01 h3{
    color: #B0966C;
    font-size: 1.625em;
    margin-bottom: 20px;
    line-height: 1em;
}
.advantage_sec_02 .box01 p:nth-of-type(1){margin-bottom: 20px;}
.advantage_sec_02 .box01 p:nth-of-type(2){margin-bottom: 0;text-align: right;}
.advantage_sec_03 .box01 p{margin-bottom: 60px;}
.advantage_sec_04 ul{display: flex;justify-content: space-between;margin-bottom: 180px;}
.advantage_sec_04 ul li{width: 32%;}

/* ==========================
	business
   ========================== */
.business_sec_02 div{background-color: #F4F4F4;padding: 25px 50px;border-radius: 10px;}
.business_sec_03 h2{
    color: #B0966C;
    font-size: 1.625em;
    padding-bottom: 10px;
    border-bottom: 2px solid #B0966C;
    margin-bottom: 40px;
}
.business_sec_03 > div{display: flex;}
.business_sec_03 > div > section{width: 49%;}
.business_sec_03 > div > .right_panel{margin-left: auto;}
.business_sec_03 .box01{
    background-color: #F4F4F4;
    border-radius: 10px;
    padding: 20px;
}
.business_sec_03 .box01 h3{
    position: relative;
    font-size: 1.375em;
    margin-bottom: 10px;
    padding-left: 0.5em;
}
.business_sec_03 .box01 h3::before{
    position: absolute;
    content: '';
    background-color: #C7000D;
    width: 5px;
    height: 1em;
    left: 0;
    top: 0.5em;
}

.business_sec_03 .box02{background-color: #FFFFFF;padding: 20px 15px;}
.business_sec_03 .box02 h4{
    background-color: #4D4D4D;
    width: 3.5em;
    padding: 5px 12px;
    line-height: 1em;
    margin-bottom: 15px;
    color: white;
}
.business_sec_03 .box02 ul{margin-bottom: 20px;margin-left: 1.5em;}
.business_sec_03 .box02 ul li{list-style: disc;}
.business_sec_04 ul{
    display: flex;
    flex-wrap : wrap;
    justify-content:space-between;
}
.business_sec_04 ul li{width: 33%;margin-bottom: 5px;}
/* ==========================
	woks
   ========================== */
.works_sec_02 > div{background-color: #F4F4F4;padding: 25px 50px;border-radius: 10px;}
.works_sec_03 h2{
    color: #B0966C;
    font-size: 1.625em;
    padding-bottom: 10px;
    border-bottom: 2px solid #B0966C;
    margin-bottom: 40px;
}

.works_sec_03 h3{
    color: #333333;
    font-size: 1.625em;
    margin-bottom: 10px;
    line-height: 1em;
}
.works_sec_04 ul{display: flex;justify-content: space-between;margin-bottom: 180px;}
.works_sec_04 ul li{width: 32%;}

.sp_hidden{
    display: none;
}

.works_table_wrap {overflow-x: auto;}
.works_table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  background-color: #fff;
}

.works_table thead {
    background-color: #B0966C;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.25em;
}

.works_table thead tr th{padding: 16px;}
.works_table thead tr th:not(:first-of-type){border-left: 2px solid white;}
.works_table thead tr th:first-of-type{border-left: 2px solid #B0966C;}
.works_table thead tr th:last-of-type{border-right: 2px solid #B0966C;}
.works_table tbody th, 
.works_table tbody td {border: 2px solid #B0966C;padding: 23px 16px;}

/* ==========================
	company
   ========================== */
.company_sec_02 h2,.company_sec_03 h2,.company_sec_04 h2{
    font-size: 2.375em;
    color: #B0966C;
    margin-bottom: 60px;
}

.company_sec_02 div{
    background-color: white;
    box-shadow: 0px 0px 10px #00000029;
    border-radius: 20px;
    padding: 60px 6em;
    width: 80%;
    margin: 0 auto;
}
.company_sec_02 table{width: 80%;margin: 0 auto;}
.company_sec_02 table tr th{
    text-align: left;
    font-size: 1.125em;
    font-weight: bold;
    line-height: 1.722em;
}

.company_sec_02 table tr td{
    text-align: left;
    padding-left: 5em;
    line-height: 1.688em;
}


.company_sec_02 table tr:not(:last-of-type) td{
    padding-bottom: 40px;
}

.company_sec_03 > div{display: flex;width: 53%;margin: 0 auto;}
.company_sec_03 > div > figure{width: 28%;}
.company_sec_03 > div > div{width: 68%;margin-left: auto;padding-top: 34px;}
.company_sec_03 > div > div > p:first-of-type{margin-bottom: 60px;}
.company_sec_03 .btn_download{background-color: black;width: 300px;}
.company_sec_03 .btn_download a{
    color: white;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.25em;
    display: block;
    width: 100%;
    padding: 18px 0 18px 20px;
    line-height: 1em;
    position: relative;
    background: url("../images/company/company_sec03_02.svg") no-repeat calc(100% - 20px) center;
    background-size: 20px auto;
    transition: 0.3s;
}
.company_sec_03 .btn_download a:hover{
    background-color: #C7000D;
}

.company_sec_04 p{line-height: 1em;}

/* Google Mapを囲う要素 */
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 25%; /* 比率を4:3に固定 */
}
 
/* Google Mapのiframe */
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ==========================
	recruit
   ========================== */
.recruit_sec_02{margin-bottom: 140px;}
.recruit_sec_02 h2{font-size: 2.375em;color: #B0966C;margin-bottom: 60px;}
.recruit_sec_02 .tab{display: flex; justify-content: center; margin-bottom: 40px;}
.recruit_sec_02 .tab li{
	cursor: pointer;
	text-align: center;
	font-size: 1.75em;
	padding: 0.5em 1.2em;;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
    background-image: linear-gradient(180deg, rgba(77, 77, 77, 1), rgba(33, 33, 33, 1));
    color: white;
    border-radius: 31px;
    line-height: 1em;
}
.recruit_sec_02 .tab li.select,
.recruit_sec_02 .tab li:hover{background-image: linear-gradient(180deg, rgba(240, 0, 16, 1), rgba(199, 0, 13, 1));}
.recruit_sec_02 .tab li:nth-of-type(2){margin-left: 40px;}
.recruit_sec_02 .content h3{
	font-size: 1.75em;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
    color: #C7000D;
    line-height: 1em;
    margin-bottom: 40px;
}
.recruit_sec_02 .content > li section{background-color: white; padding: 60px 80px;border: 3px solid #C7000D;border-radius: 20px;box-shadow: 0px 0px 10px #00000029;}
.recruit_sec_02 .content .content_list{list-style: disc;margin-left: 1.4em;}
.recruit_sec_02 .content .contet_image_list{display: flex;justify-content: center;}
.recruit_sec_02 .content .contet_image_list li{max-width: 390px;}
.recruit_sec_02 .content .contet_image_list li:last-of-type{margin-left: 15px;}
.recruit_sec_02 table{width: 100%;margin: 0 auto;}
.recruit_sec_02 table tr th{text-align: left;font-size: 1.125em;font-weight: bold;line-height: 1.722em;width: 4em;}
.recruit_sec_02 table tr td{text-align: left;line-height: 1.688em;padding-bottom: 40px;padding-left: 5em;}

/* ==========================
	contact
   ========================== */
.contact_sec_02 h2{font-size: 2.375em;color: #B0966C;margin-bottom: 60px;}
.contact_sec_02 .list01 { display: flex; justify-content: center;margin-bottom: 80px;}
.contact_sec_02 .list01 li:first-child { margin-right: 10%;}
.contact_sec_02 .list01 .tel { font-size: 2.3em;}
.contact_sec_02 .black_line{border-bottom: 1px solid #707070;}
.contact_sec_03 a:hover { text-decoration: underline;}

.contact_sec dl { display: table; width: 100%;padding: 1.3em 0px;}
/*.contact_sec dl:first-of-type { border-top: solid 1px #808080;}*/
.contact_sec dl > * { display: table-cell; vertical-align: middle;}
.contact_sec dt { width: 15em; padding-right: 1em; font-size: 1.1em;}
.contact_sec dt .hissu { float: right; margin-top: 0.4em; font-size: 0.8em;}
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea, select {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 17px;
	padding: 0.5em 0.7em;
	background-color: #f2f2f2;
	border: none;
	vertical-align: bottom;
	max-width: 100%;
}
.contact_sec input[type="text"], .contact_sec input[type="email"], .contact_sec textarea { width: 100%;}
.contact_sec .width_auto input[type="text"] { width: auto;}

.contact_sec .btn_area input {
	display: inline-block;
	width: 250px;
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
	color: #fff;
	font-size: 1.25em;
	text-decoration: none;
	text-align: center;
    background: url("../images/contact/arrow_white_triangle.svg") no-repeat calc(100% - 20px) center, black;
    background-size: 12px auto, auto;
	border: none;
	padding: 0.8em 3em 0.8em 1em; /* 矢印のための右側のパディングを確保 */
	outline: none;
	cursor: pointer;
	margin: 0px 10px 15px;
	-webkit-appearance: none;
	transition: 0.3s;
}

/*.contact_sec .btn_area input::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 8px solid #fff;
}*/



.contact_sec .btn_area input:hover { transform: translateX(5px);}
.contact_sec .btn_area input:focus { outline: 0;}

/* ==========================
	privacy
   ========================== */
.privacy_sec_02 h2{font-size: 2.375em;color: #B0966C;margin-bottom: 60px;}