@charset "utf-8";

/*  common.css
---------------------------------------------- */

/*  リセット
---------------------------------------------- */
* {
	margin: 0;
	padding: 0;
}

/*  Android用調整
---------------------------------------------- */
* {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-box-shadow: none;
	box-shadow: none;
	outline: none;
}

/*  clearfix
---------------------------------------------- */
.cf {
	zoom:1;
}
.cf:before,
.cf:after {
	content:"";
	display:table;
}
.cf:after {
	clear:both;
}

/*  基本設定
---------------------------------------------- */
html{
	overflow-y: scroll;
	height: 100%;
    font-size: 62.5%;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	font-family: source-han-sans-japanese, sans-serif;
	font-weight: 500;
    /*font-family : "Times New Roman", 
        "游明朝", 
        YuMincho,
        "ヒラギノ明朝 Pr6 W6",
        "Hiragino Mincho Pro", 
        "HGS明朝E",
        "メイリオ", 
        "ＭＳ Ｐ明朝",
        "MS PMincho",
        Meiryo, 
        serif;
    font-family: "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;*/
    color: #202020;
}
html,
body,
select,
option,
optgroup {
	overflow-wrap: break-word;
	word-wrap: break-word;
}
table {
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
}
table caption{
	margin-bottom: 8px;
	text-align:left;
	font-weight: 500;
}
table th {
	font-weight:bold;
	text-align:center;
	vertical-align:middle;
}
table td {
	text-align:left;
	vertical-align:top;
}
table td.n {
	text-align:right;
}
a:link {
	text-decoration: none;
	color: #406589;
}
a:visited {
	text-decoration: none;
	color: #406589;
}
a:hover{
	text-decoration: none;
	color: #406589;
}
img {
	border: none;
	vertical-align: middle;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}
p{
	text-align: justify;
	text-justify: inter-ideograph;
}
ul {
	list-style-type:none;
}
address{
	font-style:normal;
}
h1 {
	font-size: 3.8rem;
	font-weight: normal;
}
h2 {
	font-size: 3.2rem;
	font-weight: normal;
}
h3 {
	font-size: 2.8rem;
	font-weight: normal;
}
h4 {
	font-size: 2rem;
	font-weight: normal;
}
h5 {
	font-size: 1.8rem;
	font-weight: normal;
}

.pc_none {
    display: none !important;
}

/*  基本設定
------------------------------------------------------------ */
#headerContents,#topWrapper,#mainContents {
	width: 100%;
}
html,
body,
select,
option,
optgroup {
/*
	font-size: 15px;
	font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	color: #333333;
*/
/*
	font-family: "Yu Mincho";
*/
	font-size: 14px;
	font-family: "Noto Serif JP";
	font-weight: 400; /*Noto Sans系 を設定しないなら外す*/
	color: #000;
	-webkit-text-size-adjust: 100%; /* for sp */
	overflow-wrap: break-word;
	word-wrap: break-word; /* for IE edge */
}
div {
	line-height:1.8;
	letter-spacing: 0.9px;
}
table {
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
}
table caption{
	margin-bottom: 8px;
	text-align:left;
	font-weight: 500;
}
table th {
	font-weight:bold;
	text-align:center;
	vertical-align:middle;
}
table td {
	text-align:left;
	vertical-align:top;
}
table td.n {
	text-align:right;
}
a:link {
	text-decoration: none;
	color: #406589;
}
a:visited {
	text-decoration: underline;
	color: #406589;
}
a:hover{
	text-decoration: underline;
	color: #406589;
}
img {
	border: none;
	vertical-align: middle;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}
p{
	text-align: justify;
	text-justify: inter-ideograph;
}
ul {
	list-style-type:none;
}
address{
	font-style:normal;
}

/*  フォントサイズ
------------------------------------------------------------ */
.font-m {
	font-size: 100%;
}
.font-l {
	font-size: 130%;
}

/*  icon
------------------------------------------------------------ */
[class^="icon-"], [class*=" icon-"] {
	vertical-align: middle;
	position: relative;
	top: -0.1em; /* 文字位置調整（日本語用） */
	line-height: 1.2;/* 表示調整（オグマ用） */
}

/*  画像ポップアップ
------------------------------------------------------------ */
#colorbox img{
	max-height: none;
}

/*  汎用クラス
------------------------------------------------------------ */
p.pic{
	text-align:center;
}
div.banner{
	margin-bottom:20px;
	text-align:center;
}
ul.bannerList{
	overflow: hidden;
}

ul.bannerList li {
	float: left;
	margin-right: 2%;
	text-align: center;
	width: 32%;
}
ul.bannerList li:last-child {
	margin-right: 0;
}
img.fl{
	float:left;
	margin:30px;
	margin-top:0;
	margin-left:0;
}
img.fr{
	float:right;
	margin:30px;
	margin-top:0;
	margin-right:0;
}
a.arrow{
	padding-left: 8px;
	background: url("/wp/wp-content/themes/gem-co/assets/common/img/h_arrow.gif") no-repeat scroll 0 6px;
}
a.map{
	background: url("/wp/wp-content/themes/gem-co/assets/common/img/ico_b_window.gif") no-repeat scroll 0 4px;
	margin-left: 10px;
	padding-left: 13px;
}
a.dtl{
	background: url("/wp/wp-content/themes/gem-co/assets/common/img/h_arrow.gif") no-repeat scroll left center;
	display: block;
	font-size: 11px;
	margin: 5px 0 15px;
	padding-left: 10px;
}
a.blank {
	background: url("/wp/wp-content/themes/gem-co/assets/common/img/blank.gif") no-repeat scroll left center;
	padding-left: 15px;
}

table.std{
	width: 100%;
	table-layout: fixed;
	margin: 0 0 16px;
	border-collapse: collapse;
	border-spacing: 0;
	border-top: 1px solid #dcdcdc;
	border-left: 1px solid #dcdcdc;
}
table.std th,
table.std td{
	padding: 16px;
	border-right: 1px solid #dcdcdc;
	border-bottom: 1px solid #dcdcdc;
	vertical-align: middle;
}
table.std th {
	background: #f8f8f8;
	font-weight: normal;
	text-align: left;
}
table.std thead th{
	text-align: center;
}
table.line{
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border-spacing: 0;
}
table.line th,
table.line td{
	padding: 30px 40px;
	border-bottom: 1px solid #dcdcdc;
	word-break: break-all;
}
table.line th{
	width: 20%;
    padding-left: 0;
	text-align: left;
	vertical-align: top;
}
table.line tr:last-child th,
table.line tr:last-child td{
	border-bottom: none;
}

table.dot{
    width: 100%;
    margin: 0 0 16px;
    border-collapse: collapse;
    border-spacing: 0;
    border-top: 1px solid #d8d8d8;
}
table.dot th,
table.dot td{
    padding: 18px 40px;
    border-bottom: 1px solid #d8d8d8;
    word-break: break-all;
    text-align: left;
}
table.dot th{
    width: 30%;
    padding-left: 0;
    vertical-align: top;
    color: #003161;
    font-weight: 500;
    border-right: 1px dashed #d8d8d8;
}
table.dot.sm th ,
table.dot.sm td {
    padding: 18px 22px;
}

.colBox{
	display: flex;
	justify-content: space-between;
}
.colBox > div{
    width: 48%;
}

.colList{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 3em;
}
.colList li{
	width: 30%;
	margin-bottom: 2em;
}
.colList li:nth-of-type(4),
.colList li:nth-of-type(5) {
	width: 48%;
}
.colList li strong{
	display: block;
	margin-bottom: 8px;
	color: #0075C1;
	font-weight: 500;
	font-size: 130%;
}
.colList li span{
	display: block;
	text-align: center;
}
.colList li span img{
	margin-bottom: 1em;
}

.item ul.col-2{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0;
}
.item ul.col-2 li{
	width: 48%;
	margin-bottom: 2em;
}
.item ul.col-2 li:last-child,
.item ul.col-2 li:nth-last-child(2){
	margin-bottom: 0;
}
.item ul.col-2 li strong{
	display: block;
	margin-bottom: 16px;
    color: #0075C1;
    font-weight: 500;
	font-size: 130%;
}
.item ul.col-2 li strong span {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.3em;
    margin-right: .3em;
    border: 3px solid #0075C1;
    border-radius: 10px;
    font-size: 180%;
    vertical-align: middle;
    text-align: center;
}
.item ul.col-2 li img{
	margin-bottom: 16px;
}



.red{
	color:#cc0000;
}
.wht {
    color:#fff;
}
.lbl{
	color: #4787B7;
}
span.hidden{
	display: none;
}
.notes{
	background: #f0f5f9;
	border: 1px solid #e2ebf4;
	border-radius: 3px;
	padding: 10px;
	font-size: 11px;
}
p.c{
	text-align: center;
}
p.txt {
    line-height: 2.4;
}
#toppage p.txt {
    margin-bottom: 32px !important;
}
p.back{
	text-align: right;
}
p.back a{
	background: url("/wp/wp-content/themes/gem-co/assets/common/img/t_arrow.gif") no-repeat scroll left center;
	padding-left: 15px;
}
a.more {
	color: #333;
	font-weight: 500;
}
span.eng {
	font-family: 'Roboto', sans-serif;
    font-weight: 500;
}
.sp_inline {
}
img.pc {
}
img.sp {
    display: none;
}

strong.slogan {
    display: block;
    margin-bottom: 32px;
    font-size: 220%;
/*
    text-align: center;
    font-size: 300%;
*/
}
strong.slogan span{
	display: block;
    font-size: 50%;
}

/*  添付ファイルアイコン
------------------------------------------------------------ */
.icostack{
	display: inline-block;
	position: relative;
	width: 1em;
	height: 1em;
	line-height: 1em;
	margin-right: 0.3em;
	font-size: 130%;
	vertical-align: middle;
}	
.icon-file-empty {
	position: absolute;
	top: 0; /* 文字位置調整をリセット */
	color: #ccc;
}
.icon-file-type-text, 
.icon-file-type-picture ,
.icon-file-type-pdf, 
.icon-file-type-excel, 
.icon-file-type-word {
	position: absolute;
	top: 0.31em;
	left: 0.21em;
	transform: scale(0.55);
	transform-origin: 0 0;
}
.icon-file-type-text {
	color: #cccccc;
}
.icon-file-type-picture {
	color: #ec851e;
}
.icon-file-type-pdf {
	color: #da2016;
}
.icon-file-type-excel {
	color: #247045;
}
.icon-file-type-word {
	color: #2b5590;
}

/*  newアイコン
------------------------------------------------------------ */
.newico{
	display: inline-block;
	margin-left: 0.5em;
	padding: 0 0.5em;
	border-radius: 3px;
	background: #d70b2a;
	vertical-align: middle;
	color: #fff;
	font-size: 60%;
	font-weight: normal;
}

/*  背景
------------------------------------------------------------ */
body {
}

/*  プレビュー用
------------------------------------------------------------ */
#previewHeader {
	padding: 10px 0;
	background: #014ea0;
	text-align: center;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
}

/*  ヘッダー
------------------------------------------------------------ */
#headerWrapper {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9000;
    width: 100%;
}
#headerWrapper::before {
    position: absolute;
    content: "";
    bottom: 0;
    width: 100%;
}
#headerContents {
    position: relative;
    display: flex;
    justify-content: end;
	width: 100%;
	max-width: 1100px;
    height: 90px;
    margin: 0 auto;
    padding: 0;
}
#logo {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 9100;
    transform: translate(0, -50%);
    width: 225px;
}
#logo h1{
	font-size: 100%;
}
#logo #imgLogo{
	display: none;
}

/* バーガーメニュー */
.mean-container .mean-bar {
    position: fixed;
    z-index: 9999;
}
.mean-container a.meanmenu-reveal {
    width: 70px;
    height: 70px;
    padding: 20px;
    background: #003161;
}
.mean-container .mean-nav {
    top: 70px;
}
.mean-container a.meanmenu-reveal.meanclose {
    padding: 20px;
}
.mean-container .mean-nav #gNavSp li a.mean-expand {
    top: 0px;
    right: 15px;
    font-size: 24px !important;
}
.mean-container .mean-nav #gNavSp li a {
    padding: 13px 0;
}
.mean-container .mean-nav #gNavSp > li {
    margin: 0;
    padding: 0 15px;
    background: #fff;
}
.mean-container .mean-nav #gNavSp li p {
    padding: 13px 0;
}
.mean-container .mean-nav #gNavSp li li a {
    color: #818181;
    padding: 2px 0 !important;
    border: none;
}
.mean-container .mean-nav #gNavSp > li > ul {
    margin-top: 13px;
    margin-bottom: 10px;
    overflow: hidden;
}
.mean-container .mean-nav #gNavSp li li a::before {
    content: "-";
}
.mean-container .mean-nav #gNavSp li.mean-last {
    display: flex;
    justify-content: center;
}
.mean-container .mean-nav #gNavSp li a img {
    width: 35px;
    margin: 0;
}
.mean-container .mean-nav #gNavSp li a.h_sns_icon {
    width: auto !important;
    margin: 30px 0;
    padding: 0;
    border: none;
}
.mean-container .mean-nav #gNavSp li a.h_sns_icon:first-child {
    margin-right: 10px;
}
.mean-container .mean-nav #gNavSp li a.h_sns_icon:last-child {
}


/* グローバルナビゲーション
------------------------------------------------------------ */
#gNavArea {
    display: flex;
    justify-content: end;
    align-items: flex-end;
    flex-direction: column-reverse;
    width: 100%;
    max-width: calc(100% - 300px);
}
#gNav {
    display: flex;
    justify-content: space-around;
    width: 100%;
    height: calc(100% - 35px);
    padding-top: 10px;
}
#gNav li {
    transition: all .3s ease-in-out;
}
#gNav > li > a{
    position: relative;
    display: block;
    margin: 0;
	letter-spacing: 0.06em;
    text-decoration: none;
    text-align: center;
    font-weight: 500;
    color: #fff;
    height: 100%;
}
#gNav > li#nav1 > a,
#gNav > li#nav2 > a{
    padding-right: 1.2em;
}
#gNav > li#nav1 > a:after,
#gNav > li#nav2 > a:after{
    display: block;
    position: absolute;
    top: 0.6em;
    right: 0;
    width: 4px;
    height: 4px;
    border-right: 3px solid #fff;
    border-top: 3px solid #fff;
    transform: rotate(135deg);
    content: "";
}
#gNav > li .megamenu.open {
     max-height: 9999px;
     opacity: 1;
     padding: 30px 0 0;
     min-height: 560px;
}
#gNav .megamenu {
    max-height: 0;
    opacity: 0; 
    overflow: hidden;
/*
    width: 100%;
*/
    width: 100vw;
    position: absolute;
    top: 90px;
/*
    left: 0;
*/
    left: 50%;
    transform: translateX(-50%);
    transition: all .2s ease-in;
    z-index: 9200;
    color: #003161;
    height: calc(100vh - 90px);
    background: rgba(0,0,0,0.3);
}
#gNav .main-wrapper {
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    z-index: 1;
    width: 100%;
    max-width: 1366px;
    margin: 0 auto;
    padding: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #F2F4F7;
}
#gNav .megamenu a:link{
    color: #003161;
}
#gNav .megamenu p.navTit {
    width: 25%;
    padding: 0 15px;
}
#gNav .megamenu p.navTit a{
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 2.8px;
    line-height: 35px;
    text-decoration: none;
    position: relative;
    width: 100%;
    display: block;
    text-align: center;
    opacity: 1;
}
#gNav .megamenu p.navTit a:hover{
    opacity: 0.8;
}
#gNav .megamenu p.navTit a span.eng {
    display: block;
    margin-top: 15px;
    line-height: 1;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 4.6px;
}
#gNav .megamenu-inner {
    display: flex;
    flex-wrap: wrap;
    width: 75%;
    padding: 0 15px;
    border-left: 1px solid #b3b3b3;
}
#gNav .megamenu-inner li {
    display: inline-block;
    border: none;
    width: 32%;
    margin: 0 2% 28px 0;
}
#gNav .megamenu-inner li:nth-of-type(3n) {
    margin-right: 0;
}
#gNav .megamenu-inner li:nth-child(n+4) {
    margin-bottom: 0;
}
#gNav .megamenu-inner li a{
    text-decoration: none;
    display: block;
    overflow: hidden;
    text-align: left;
    position: relative;
    opacity: 1;
}
#gNav .megamenu-inner li a:hover{
    opacity: 0.8;
}
#gNavAreaSp{
    display: none !important;
}

/* 背景白ヘッダー */
.bgW{
    background: #fff;
}
.bgW #gNav > li > a{
    color: #333;
}
.bgW #gNav > li#nav1 > a:after,
.bgW #gNav > li#nav2 > a:after{
    border-color: #333;
}

/* ヘッダー採用情報ボタン
------------------------------------------------------------ */
#headerLink {
    position: absolute;
    top: 0;
    right: 10px;
}
#headerLink a {
    display: block;
    width: 130px;
    padding: .3em 0;
    background: #B18202;
    border-radius: 0 0 5px 5px;
    text-align: center;
    font-weight: 500;
    color: #fff;
}

/*  コンテンツ背景
------------------------------------------------------------ */
#shadow {
	overflow: hidden;
	width: 100%;
}
#wrapper {
}

/*  メインビジュアル
------------------------------------------------------------ */
#mv {
    position: relative;
    color: #fff;
    width: 100%;
    height: 100vh;
    margin-bottom: 64px;
}
#mv img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
#mv p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    text-align: center;
    letter-spacing: 0.2em;
    line-height: 1.4;
    font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    font-size: 3rem;
    font-weight: 600;
}
#mv p span{
    font-size: 0.4em;
    display: block;
    letter-spacing: 0.2em;
}
#mv #scroll_link {
	position:absolute;
	left:50%;
	bottom:10px;
    transform: translateX(-50%);
	height:100px;
}
#mv #scroll_link::after {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    height: 5em;
    border: 1px solid #fff;
    animation: pathmove 3s ease-in-out infinite;
}
@keyframes pathmove{
	0%{
		height:0;
		bottom:25px;
		opacity: 0;
	}
	30%{
		height:60px;
		opacity: 1;
	}
	100%{
		height:0;
		bottom:-50px;
		opacity: 0;
	}	
}

/* 要素を順に表示 */
#toppage .animate{
	opacity: 0;
    animation: fadein 1s forwards;
}
@keyframes fadein{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}	
}
#toppage #mv{
    animation-delay: 1s;
}
#toppage #mv p{
    animation-delay: 3s;
}
#toppage #mv #scroll_link{
    animation-delay: 4s;
}
#toppage #headerWrapper{
    animation-delay: 5s;
}

/*  コンテンツフレーム
------------------------------------------------------------ */
#mainContents {
    overflow: hidden;
    margin: 0 auto;
}
#mainContents .container {
    margin: 0 auto;
    padding: 0 0 120px ;
    overflow: hidden;
}
#mainContents .cont_inner {
    margin: 0 auto;
    max-width: 900px;
    overflow: hidden;
    width: 100%;
}
#mainContents .cont_inner_wide {
    margin: 0 auto;
    max-width: 1080px;
    overflow: hidden;
    width: 100%;
}

.bgGr{
    background: #F1F3F6;
}
#mainContents h2 {
    position: relative;
    margin: 0 0 48px;
    padding-left: 65px;
    border-bottom: 4px solid #0075C1;
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/h_icon.svg);
    background-position: left;
    background-repeat: no-repeat;
    font-weight: 500;
}
#mainContents h2:after {
    content: '';
    background: #0075C1;
    width: 160px;
    position: absolute;
    left: 0;
    bottom: -11px;
    height: 7px;
}
#toppage #mainContents h2 {
    text-align: center;
    line-height: 1;
    font-size: 300%;
    background: none;
    border: 0;
    padding: 0;
}
#toppage #mainContents h2:after {
    width: 0;
}

#mainContents h3 {
	margin-top: 68px;
    margin-bottom: 32px;
    line-height: 1.5;
    letter-spacing: 8px;
    text-align: center;
    font-weight: 500;
    font-size: 34px;
    color: #003161;
}
#mainContents h3 span{
    display: block;
    font-size: 41.4%; /*14px*/
    font-weight: 500;
    letter-spacing: 4.6px;
}
#mainContents h4 {
    font-weight: 500;
}
#mainContents h5 {
	position: relative;
	margin-bottom: 32px;
	padding-bottom: 0;
	font-weight: 500;
}
#mainContents .contTit {
    display: block;
    margin-bottom: 32px;
/*
    margin-bottom: 56px;
*/
    color: #b18202;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 2.8px;
    line-height: 1.5;
}
#mainContents .contTit.c {
    text-align: center;
}
#mainContents h3.tit-left{
    text-align: left;
}
.catch {
/*
    letter-spacing: 2.8px;
    line-height: 35px;
*/
}
#mainContents .cont_slick {
    overflow: visible;
}

/*  ぱんくずリスト
------------------------------------------------------------ */
#topicPath{
	width: 100%;
	margin: 8px 0;
}
#topicPath p {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
    font-size: 90%;
}
#topicPath a{
    color: #333;
}

/*  メニューページタイトル
------------------------------------------------------------ */
#mainVisualArea {
    position: relative;
    width: 100%;
    height: 120px;
    margin-top: 90px;
    background: #F1F3F6;
    color: #003161;
}
#mainVisualArea div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50% , -50%);
    width: 100%;
    max-width: 1100px;
}
#mainVisualArea div h2{
    font-size: 40px;
    font-weight: 600;
}

/*  メインエリア
------------------------------------------------------------ */
#mainArea {
}

/*  サブエリア
------------------------------------------------------------ */
#subArea {
	background: #F4F4F4;
}

/*  サブナビゲーション
------------------------------------------------------------ */
#sNav {
	display: flex;
	justify-content: space-around;
	margin: 0 auto;
	width: 100%;
	max-width: 1100px;
}
#sNav li {
	padding: 10px 0;
}
#sNav li a {
	line-height: 2.5;
	color: #333;
}

/*  コンテンツ
------------------------------------------------------------ */
.item {
	clear: both;
	margin: 0 auto;
	padding: 0 0 120px;
}
.item:last-child {
	padding: 0;
}
#toppage .item {
    padding: 0;
}
.item p{
	margin:0 0 32px;
	line-height: 2;
}
.item p:last-child {
	margin: 0;
}
.item p.signature {
	text-align:right;
}
.item ul{
	margin:0 0 16px;
}
.item ol {
	margin:0 0 16px;
}
.item ol li {
	list-style: decimal;
	margin-left: 20px;
}
.item dl {
	margin-bottom: 32px;
}
.item dt {
}
.item dd {
}
.item ul.dot,
.item dl.dot{
}
.item ul.dot li,
.item dl.dot dd{
	margin-bottom: 16px;
	padding-bottom: 16px;
	background: url("/wp/wp-content/themes/gem-co/assets/common/img/line_dot.gif") repeat-x center bottom;
}
.item dl.dot dt{
	clear: both;
	float: left;
	width: 8.5em;
	padding: 16px;
}
.item dl.dot dd{
	margin: 0;
	padding: 16px 16px 16px 8.5em;
}
.item dl.dot dd a.att{
	display: block;
}
.pagetop {
	text-align: right;
	font-size: 85.5%;/*12px*/
	color: #0a5f9f;
}
.pagetop span {
	display: inline-block;
	margin-right: 3px;
	transform: scale(0.5);
}

/*  フェードイン
------------------------------------------------------------ */
.container,
.item,
.colBox,
h3 {
    opacity: 0;
    transform: translateY(30px);
    transition: all 1s ease;
}
.fadein {
    opacity: 1;
    transform: translateY(0);
}

/*  画像フレーム
------------------------------------------------------------ */
.item .frame {
	position: relative;
	border: 1px solid #dcdcdc;
	text-align: center;
}
.item .frame::before {
	content: "";
	display: block;
	padding-top: 66.1%;
}
.item .frame span {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

/*  slick
------------------------------------------------------------ */
.slick-prev, .slick-next {
    width: 45px;
    height: 45px;
    z-index: 999;
    background: #003161;
    border-radius: 50%;
}
.slick-prev {
    left: -45px;
}
.slick-next {
    right: -45px;
}
.slick-prev:hover, .slick-prev:focus, 
.slick-next:hover, .slick-next:focus {
    background: #003161;
    opacity: 0.75;
}
.slick-arrow:before {
    content: "";
    display: block;
    position: absolute;
    width: 4px;
    height: 4px;
}
.slick-prev:before {
    top: calc(50% - 2px);
    left: calc(50% - 2px);
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
}
.slick-next:before {
    top: calc(50% - 2px);
    right: calc(50% - 2px);
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: rotate(45deg);
}

.slick-dots li button:before{
    color: #2086e6;
    font-size: 12px;
}
.slick-dots li.slick-active button:before{
    color: #2086e6;
}
.slick-slide img {
    max-width: 100%;
    margin: 0 auto 80px;
}
.item ul.slick-dots{
    margin: 0;
    bottom: -32px;
}

/*  ページトップへ
------------------------------------------------------------ */
#gotoTop {
    position: fixed;
    bottom: 104px;
    right: 15px;
    z-index: 100;
	display: none;
}
#gotoTop a {
	display: block;
	position: relative;
	width: 80px;
	height: 80px;
	background: #0a5f9f;
	border-radius: 50%;
}
#gotoTop a:before {
    display: block;
    position: absolute;
	top: 37px;
	left: 31px;
    width: 16px;
    height: 16px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: rotate(-45deg);
    content: "";
}

/*  フッター
------------------------------------------------------------ */
#footerWrapper {
	clear: both;
	overflow: hidden;
	width: 100%;
	background: #003161;
	color: #fff;
}
#footerWrapper .cont_inner {
    margin: 60px auto;
    max-width: 1100px;
    width: 100%;
    overflow: hidden;
}
#footerWrapper a:link ,
#footerWrapper a:visited,
#footerWrapper a:hover{
	color: #B3C1D0;
}
#footerWrapper a{
	text-decoration: none;
}
#footerWrapper a:hover{
	text-decoration: underline;
}

/*  フッターサイトマップ
------------------------------------------------------------ */
#footerSitemap{
	display: flex;
	justify-content: space-between;
	margin-bottom: 16px;
}
#footerSitemap li {
	margin-bottom: 2px;
	font-size: 85.5%;/*12px*/
}
/*240820追記 inokuchi*/
#footerSitemap strong{
    display: inline-block;
}
#footerSitemap ul + strong{
    margin-top: 15px;
}

/*  フッターリンク
------------------------------------------------------------ */
#f_link{
	display: flex;
	justify-content: space-between;
	width: 600px;
	margin: 0 auto 32px;
	font-weight: 500;
}
#f_link li{
}
#f_link li a:link,
#f_link li a:visited,
#f_link li a:hover {
    color: #fff;
    font-weight: 500;
}

/*  フッターバナー
------------------------------------------------------------ */
#f_banner{
    display: flex;
	justify-content: space-between;
	margin-bottom: 32px;
}
#f_banner li{
    margin-right: 1.5%;
}
#f_banner li:last-child{
    margin-right: 0;
}

/*  フッターSNSボタン
------------------------------------------------------------ */
#f_sns_link{
    display: flex;
    justify-content: center;
	margin-bottom: 16px;
}
#f_sns_link li{
    margin-right: 8px;
}
#f_sns_link li:last-child{
    margin-right: 0;
}

/*  コピーライト
------------------------------------------------------------ */
#copyright {
	text-align: center;
	font-size: 67%; /*10px*/
	font-family: Source Han Serif;
}

/*  記事
------------------------------------------------------------ */
.article{
	overflow: hidden;
	clear: both;
	margin-bottom: 64px;
}
.article:last-child {
	margin-bottom: 0;
}
.article h2 small {
	display: block;
	font-size: 44%;/*14px*/
}
.article h3 small {
	display: block;
	font-size: 54%;/*15px*/
}
.article .photo,
.article .text ,
.article .attach {
	margin-bottom: 16px;
}

/*  404ページ
------------------------------------------------------------ */
#notfound #topicPath {
    padding-top: 16px;
    border-top: 1px solid #dcdcdc;
}
#notfound .item p{
}
#notfound .item strong{
    font-size: 20px;
}

/*  エラーメッセージ（フロント用）
------------------------------------------------------------ */
#error_area{
	text-align: center;
	padding-top: 100px;
	height: 250px;
}
#error_area p{
	text-align: center;
}

/*  ボタンリスト
------------------------------------------------------------ */
#btnList{
	margin-bottom: 30px;
}
#btnList li{
}

/*  サムネイル
------------------------------------------------------------ */
ul.thumbnail{
	overflow: hidden;
	margin: 0;
}
ul.thumbnail li {
	display: inline-block;
	float: left;
	width: 18.4%;
	margin: 0 2% 2% 0;
	border: 1px solid #dcdcdc;
	text-align: center;
}

/*  セキュリティーポリシー
------------------------------------------------------------ */
#policy .item dl{
}
#policy .item dt{
	font-weight: 500;
}
#policy .item dd{
	margin-bottom: 16px;
}

/*  サイトマップ
------------------------------------------------------------ */
#sitemap{
}
#sitemap .item{
    padding: 0 0 64px;
}
#sitemap .item strong{
	display: block;
	margin-bottom: 16px;
	padding-bottom: 8px;
	border-bottom: 1px solid #dcdcdc;
	font-size: 133%;/*20px*/
}
#sitemap strong a:link,
#sitemap strong a:visited,
#sitemap strong a:hover {
    color: #333;
}
#sitemap .item ul {
	display: block;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
}
#sitemap .item li{
	position: relative;
	width: 32%;
	margin-right: 2%;
	margin-bottom: 16px;
	padding-left: 1em;
}
#sitemap .item li::before {
	display: block;
	border-right: 2px solid #0a5f9f;
	border-top: 2px solid #0a5f9f;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	top: 0.5em;
	transform: rotate(45deg);
	width: 5px;
}
#sitemap .item li:nth-of-type(3n) {
	margin-right: 0;
}
#sitemap .item li a{
	color: #333;
}

/* ページ遷移リンク
------------------------------------------------------------ */
span.pgLink a{
	display: inline-block;
	position: relative;
	padding-left: 1em;
	font-weight: normal;
}
span.pgLink a:before {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 4px;
	height: 4px;
	margin: auto;
	border-right: 2px solid #115DB2;
	border-top: 2px solid #115DB2;
	content: "";
	transform: rotate(45deg);
}

/*  ボタン
------------------------------------------------------------ */
/* 基本 */
a.btn{
    position: relative;
    display: block;
    width: 280px;
    height: 60px;
    line-height: 60px;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.259);
    background: #003161;
    border-radius: 2em;
    color: #fff;
    text-align: center;
    text-decoration: none;
    transition: .4s;
}
a.btn:hover {
    box-shadow: none;
    text-decoration: none;
    transform: translateY(2px);
/*
    opacity: 0.7;
*/
}

/* ミニサイズ */
a.sm{
    width: 180px;
    height: 38px;
    line-height: 38px;
}

/* 矢印付き */
a.arw{
}
a.arw:after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 2px);
    right: 24px;
    width: 4px;
    height: 4px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: rotate(45deg);
}
.arw.sm:after {
    right: 18px;
}
.btnBox {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 1em;
}

/*  エフェクト
------------------------------------------------------------ */
/* きらっと光る */
.eff_shine{
	position: relative;
}
.eff_shine::before {
	content: '';
	position: absolute;
	top: 0;
	left: -75%;
    width: 50%;
	height: 100%;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	transform: skewX(-25deg);
	animation: shine 8s infinite;
}
@keyframes shine {
	20% {
		left: 125%;
	}
	100% {
		left: 125%;
	}
}

/*  Youtube
------------------------------------------------------------ */
.videoArea {
	width: 900px;
	max-width: 100%;
	margin: 0 auto;
}
.video{
	position:relative;
	margin:0 auto;
	width: 100%;
	padding-top:56.25%; /* =9/16*100% */
}
.video iframe{
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}
.video img {
	position: absolute;
	top: 0;
	left: 0;
	cursor: pointer;
}

/*  カテゴリアイコン(基本)
------------------------------------------------------------ */
span.tag {
	display: inline-block;
	width: 7.5em;
    margin-left: 1em;
	padding: 0;
	text-align: center;
	color: #fff;
	background: #bbb;
}

/*  タブ
------------------------------------------------------------ */
#tabs{
	width: 100%;
	border: none;
	padding: 0;
	text-align: left;
	background: transparent;
}
#tabs .ui-tabs-panel {
	background: #FFF;
	width: 100%;
	padding: 0;
	border-radius: 0;
	z-index: 100;
}
#tabs .ui-tabs-nav{
	background: none;
	border-radius: 0;
}
#tabs .ui-tabs-nav li a {
	padding: 0;
}
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled {
	opacity: 1;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
	cursor: pointer;
}
#tabhead ul {
	margin: 0;
	overflow: hidden;
	padding: 0;
	border: none;
	font-size: 95%;
}
#tabhead ul li {
	display: block;
	float: left;
	overflow: hidden;
	background: #f4f4f4;
	border: 1px solid #cccccc;
	border-radius: 3px;
	margin: 0 8px 8px 0;
	padding: 5px 15px;
}
#tabhead ul li a{
}
#tabhead ul li.ui-state-hover{
	background: #6b8eb4;
}
#tabhead ul li.ui-state-active{
	background: #115DB2;
	border: 1px solid #115DB2;
}
#tabhead ul li.ui-state-hover a{
	color: #fff;
}
#tabhead ul li.ui-state-active a{
	color: #fff;
}
#tabbox p {
	margin: 0;
	padding: 0;
	text-align: center;
}

/*  ページ内リンク
------------------------------------------------------------ */
#scrollLink {
	overflow: hidden;
	margin: 0 0 24px;
}
#scrollLink li {
	display: block;
	float: left;
	margin: 0 8px 8px 0;
	padding: 5px 15px;
	background: #ededed;
	border: 1px solid #dcdcdc;
	border-radius: 5px;
	font-size: 100%;
}
#scrollLink li a {
	position: relative;
	color: #333;
	margin-right: 1em;
}
#scrollLink li a:after {
	display: block;
	position: absolute;
	top: 0;
	right: -1em;
	bottom: 0;
	width: 3px;
	height: 3px;
	margin: auto;
	border-right: 1px solid #333;
	border-top: 1px solid #333;
	content: "";
	transform: rotate(135deg);
}

/* メニューボックス（基本）
------------------------------------------------------------ */
.item ul.indexBox{
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	width: 100%;
	max-width: 1100px;
}
.indexBox li {
	width: 32%;
	margin: 0 2% 32px 0;
}
.indexBox li:nth-of-type(3n) {
	margin-right: 0;
}
.indexBox li a {
	color: #333;
}
.indexBox li a img {
}
.indexBox li a strong {
	display: block;
	position: relative;
	padding: 16px 0 16px 14px;
	font-size: 120%;/*18px*/
}
.indexBox li a strong:before {
	display: block;
	position: absolute;
	top: 1.5em;
	left: 0;
	width: 5px;
	height: 5px;
	border-right: 2px solid #0a5f9f;
	border-top: 2px solid #0a5f9f;
	transform: rotate(45deg);
	content: "";
}
.indexBox li p {
	margin: 0;
}

/*  ブログ（詳細）
------------------------------------------------------------ */
.blog_entry ul.thumbnail li:nth-of-type(5n) {
	margin-right: 0;
}

/*  TOPページ共通
------------------------------------------------------------ */
#toppage #mainContents h3 {
    margin-top: 100px;
}
#toppage #mainContents .cont_inner {
    padding-bottom: 100px;
}

/*  SPECIAL CONTENTS（TOPページ）
------------------------------------------------------------ */
#specialContentsArea {
    margin-bottom: 64px;
}
#toppage #mainContents #specialContentsArea .cont_inner{
	position: relative;
	padding-bottom: 0;
}
#specialContentsArea .bg_img{
    width: 100%;
    height: 200px;
}
#specialContentsArea .bg_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center -210px;
}
#specialContentsArea .paragraph{
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 100;
    text-align: center;
    width: 100%;
    color: #fff;
    transform: translateY(-50%);
    font-weight: 500;
    text-align: center;
}
#specialContentsArea span {
    display: block;
    line-height: 1.4;
    letter-spacing: 0.2em;
}
#specialContentsArea span.en {
    font-size: 28px;
}
#specialContentsArea a {
    display: block;
    background: rgba(255,255,255,0.3);
    border: 1px solid #fff;
    max-width: 200px;
    margin: 1em auto 0;
    padding: 0.2em;
    border-radius: 1em;
    color: #fff;
}
#specialContentsArea a:hover {
    text-decoration: none;
}
/*  ニュース（TOP/サブページ共通）
------------------------------------------------------------ */
/*240820 inokuchi 追記ここから*/
#mainContents #topPostArea{
    padding: 64px 0;
    background: #F1F3F6;
}
#mainContents #topPostArea h3{
    margin-top:0 ;
}

#topPostArea .cont_inner_wide{
    max-width: 1240px;
    padding: 0 20px;
    display: flex;
    align-items:stretch;
    flex-wrap: wrap;
    gap: 80px 3%;
}
@media (max-width: 980px){/*tab以下 表示*/
    #topPostArea .cont_inner_wide{ 
        flex-direction: column;
    }
}/*END tab以下 表示*/

#mainContents #mediaArea{
    flex: 1;
}
#mediaArea article{
    display: flex;
    width: 100%;
    align-items: center;
    gap: 22px;
}
#mediaArea article + article{
    margin-top: 10px;
}
#mediaArea article dl{
    flex: 1;
    width: 100%;
}
#mediaArea figure{
    overflow: hidden;
    width: 150px;
    height: 97px;
}
#mediaArea figure img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
#mediaArea article dl{
    margin-bottom: 0;
}
#mediaArea dt{
    margin-bottom: 10px;
}
#topPostArea #mediaArea,
#topPostArea #newsArea{
    display: flex;
    flex-direction: column;
}
/*240820 inokuchi 追記ここまで*/
#news #mainContents #newsArea .cont_inner {
    padding-top: 68px;
    padding-bottom: 68px;
}
/*240820 inokuchi 変更ここから*/
#mainContents #newsArea{
    flex: 1;
    background: #F1F3F6;
}
/* #news #mainContents #newsArea .cont_inner{
    padding-top: 68px;
    padding-bottom: 68px;
} */
#newsArea dl{
    overflow: hidden;
    width: 100%;
    margin-bottom: 0;
}
#newsArea dt{
    clear: both;
    float: left;
    padding: 1em;
    width: 13em;
}
#newsArea .date,
#mediaArea .date{
    font-family: Jost;
	font-size: 12px;
	font-weight: normal;
	color: #ccc;
}

#newsArea dt .tag,
#mediaArea dt .tag{
    font-family: Jost;    
	font-size: 70%;/*10.5px*/
}
#newsArea dd{
    padding: 1em 1em 1em 13em;
    border-bottom: 1px solid #ddd;
}
#newsArea dd a:link ,
#newsArea dd a:visited,
#newsArea dd a:hover ,
#mediaArea dd a:link ,
#mediaArea dd a:visited,
#mediaArea dd a:hover{
    color: #333;
}
#newsArea .list_link,
#mediaArea .list_link{
    margin-top:auto;
    color: #003161;
    display: flex;
    justify-content: center;
    padding: 24px 0 0;
}
#newsArea .list_link img,
#mediaArea .list_link img{
    padding-right: 0.5em;
}
#newsArea .list_link a:link ,
#newsArea .list_link a:visited,
#newsArea .list_link a:hover
#mediaArea .list_link a:link ,
#mediaArea .list_link a:visited ,
#mediaArea .list_link a:hover {
    color: #003161;
}

/* カテゴリアイコン  240826：inokuchi　変更*/
span.tag.cat1,span.tag.cat_bath{
	background: #157592;/*温浴*/
}
span.tag.cat2,span.tag.cat_estate{
	background: #A90006;/*不動産*/
}
span.tag.cat3,span.tag.cat_ice{
	background: #C68900;/*アイスストア*/
}
span.tag.cat_education{
    background: #003161;/*教育*/
}
span.tag.cat_group{
    background: #333;
}

/* メディア情報カテゴリアイコン 240820追記：inokuchi 追加*/
.tag.cat_web{
    background: #970B32;/*webメディア*/
}
.tag.cat_tv{
    background: #014D89;/*テレビ*/
}
.tag.cat_radio{
    background: #417938;/*ラジオ*/
}
.tag.cat_newspaper{
    background: #DD0A7B;/*新聞*/
}
.tag.cat_magazine{
    background: #ED6907;/*雑誌*/
}
/*  ジェムグループについて（TOPページ）
------------------------------------------------------------ */
#aboutArea {
}
#mainContents #aboutArea h3 {
    font-size: 18px;
    text-align: left;
}
#mainContents #aboutArea h3 span{
    display: inline;
    margin-left: 1em;
}
#aboutArea .bgColBox {
	overflow: hidden;
	position: relative;
	width: 100%;
}
#aboutArea .imgCol {
	position: absolute;
	left: 0;
	z-index: 0;
	width: 50%;
	height: 100%;
}
#aboutArea .imgCol img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#aboutArea .txtCol {
    float: right;
    position: relative;
	z-index: 100;
	width: 50%;
	height: 100%;
    background: #fff;
	margin: 130px 0 230px;
	padding: 0 68px;
}
#aboutArea .txtCol strong {
    display: block;
    margin: 0 auto 16px;
    line-height: 1.4;
    font-size: 24px;
    font-weight: 500;
}
#aboutArea .txtCol p{
	margin: 0 0 32px;
	max-width: 480px;
}

/*  事業領域（TOPページ）
------------------------------------------------------------ */
#menuArea{
    background: #F1F3F6;
}
#mainContents #menuArea .container{
    padding: 0;
}
#menuArea ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
#menuArea li{
    position: relative;
    width: 50%;
}
#menuArea li:nth-child(2n){
    border-left: 1px solid #fff;
}
#menuArea li:nth-child(n+3){
    border-top: 1px solid #fff;
}
#menuArea li a{
    display: block;
    height: 300px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    font-size: 160%;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
    text-decoration: none;
}
#menuArea li a::after {
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 49, 97, 0.6);
    content: "";
}
#menuArea li#menu1 a{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/bg_menu_spa.jpg);
}
#menuArea li#menu2 a{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/bg_menu_estate.jpg);
}
#menuArea li#menu3 a{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/bg_menu_educate.jpg);
}
#menuArea li#menu4 a{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/bg_menu_ice.jpg);
}
#menuArea li .mask {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
/*
    background-color: rgba(0, 49, 97, 0.6);
*/
    transition: all 0.8s 0.1s ease;
}
#menuArea li:hover .mask {
	opacity: 1;
}
#menuArea li .txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 150;
    width: 70%;
}
#menuArea li p {
    font-size: 14px;
    text-align: center;
    padding-top: 3em;
}
#menuArea li span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 200;
    width: 100%;
    transition: all 0.2s 0.1s ease;
}
#menuArea li:hover span {
    transform: translate(-50%,-3em);
    
}

/*  ジェムグループの地域貢献活動（TOPページ）
------------------------------------------------------------ */
#mainContents #csrArea .container{
    padding-bottom: 68px;
}
#csrArea.item {
    background: #F1F3F6;
}
#csrArea .slider {
    margin: 0 auto;
    width: 100%;
    max-width: 1224px;
}
#csrArea .slick-slide{
    position: relative;
    margin: 0 0.5em;
}
#csrArea .slick-slide p {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 60%;
    margin: 0;
    padding: 24px;
    background: #F1F3F6;
    border-radius: 0 1em 1em 0;
    line-height: 1.7;
    font-size: 87%;
}
#csrArea .slick-slide p strong{
    display: block;
    font-size: 155%; /*20px*/
    color: #003161;
}
#csrArea .slick-slide div{
    line-height: 1;
}


/*  採用情報（TOPページ）
------------------------------------------------------------ */
#recruitArea{
}
#mainContents #recruitArea .cont_inner{
    padding-bottom: 100px;
}
#recruitArea p {
    text-align: center;
    margin-bottom: 32px;
}
#recruitArea a {
    margin: 0 auto;
}

/*  会社概要
------------------------------------------------------------ */
#about .item {
    padding-bottom: 50px;
}
#about iframe {
    width: 100%;
    height: 500px;
}

/*  経営理念・ビジョン
------------------------------------------------------------ */
#philosophy{
}
#mainContents #cpArea .cont_inner{
    overflow: visible;
}
#cpArea .item{
    position: relative;
    height: 450px;
}
#cpArea .txt{
    width: 50%;
    color: #003161;
}
#cpArea img{
    position: absolute;
    top: 0;
    right: -100px;
}
#mainContents #visionArea .contTit{
    margin-bottom: 32px;
}

/*  ジェムの歩み・沿革
------------------------------------------------------------ */
#history{
}
#historyPhotoArea ul{
    display: flex;
    justify-content: space-between;
}
#historyPhotoArea li{
    margin-right: 1em;
}
#historyPhotoArea li:last-child{
    margin-right: 0;
}
#historyTlArea ul{
    width: 200px;
}
#historyTlArea ul a {
    display: block;
    width: 200px;
    height: 35px;
    line-height: 35px;
    color: #B1B1B1;
    font-family: Yu Gothic;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 2.8px;
    transition: .3s;
}
#historyTlArea ul a:hover {
    text-decoration: none;
    color: #406589;
}
#historyTlArea ul .current a {
    color: #000;
}
#historyTlArea ul a:before {
    content: "●";
    color: #fff;
    font-size: 14px;
    padding-right: 0.5em;
}
#historyTlArea ul .current a:before {
    color: #003161;
}
#historyTlArea .colBox > div {
    width: calc(100% - 230px);
}
#historyTlArea table{
}
#historyTlArea table.line th{
    font-family: Yu Gothic;
    font-size: 20px;
    letter-spacing: 2.8px;
}
#historyTlArea table.line td{
    padding-left: 0;
    padding-right: 0;
}
#historyTlArea table.line tr:first-child th, 
#historyTlArea table.line tr:first-child td{ 
    padding-top: 0;
}

/*  CSR活動
------------------------------------------------------------ */
#csr{
}
#csr #mainContents .container{
    padding-bottom: 90px;
}
#csr #mainContents .contTit{
    margin-bottom: 16px;
}
#csr #mainContents h4{
    font-size: 24px;
    color: #003161;
    margin-bottom: 48px;
}
#csr #mainContents h4::after {
    content: "";
    display: block;
    width: 100%;
    padding-top: 16px;
    border-bottom: 1px solid #ccc;
}
#csr .colBox{
    position: relative;
    margin-bottom: 64px;
}
#csr .colBox:last-child{
    margin-bottom: 0;
}
#csr .colBox .txt{
    width: 48%;
}
#csr .colBox .img{
    width: 45%;
}
#csrSinsaiArea .colBox:nth-of-type(odd){
    flex-direction: row-reverse;
}

#mainContents #csrMiraiArea.container{
    margin-bottom: 90px;
    padding-top: 64px;
}
#csrKobeArea .item{
    padding-bottom: 64px;
}
#csrKobeArea .item:last-child{
    padding-bottom: 0;
}
#csrKobeArea .colBox{
    margin-bottom: 16px;
}
#csrKobeArea .photo{
    max-width: 48%;
    margin-bottom: 16px;
}

/*  社長メッセージ
------------------------------------------------------------ */
#greeting{
}
#mainContents #greetingMvArea.container{
    height: 620px;
    padding: 0;
}
#mainContents #greetingMvArea .cont_inner{
    position: relative;
    overflow: initial;
}
#greetingMvArea .item {
    position: relative;
    height: calc(620px - 180px);
}
#greetingMvArea .txt {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
#mainContents #greetingMvArea .contTit{
    position: relative;
    margin-bottom: 1em;
    padding-left: 1em;
    padding-right: 1em;
    line-height: 2;
    font-size: 24px;
}
#mainContents #greetingMvArea .contTit:before {
    position: absolute;
/*
    top: -20px;
*/
    top: -0.3em;
    left: 0;
    display: block;
    content: "“";
    font-size: 42px;
}
#mainContents #greetingMvArea .contTit:after {
    position: absolute;
/*
    bottom: -40px;
*/
    bottom: -0.8em;
    right: 0;
    display: block;
    content: "”";
    font-size: 42px;
}
@media screen and (max-width: 900px) {
    #greetingMvArea .item p.signature{
        text-align: left;
    }
}
#greetingMvArea .signature img{
    width: 170px;
    vertical-align: bottom;
    margin-left: 1em;
}
#greetingMvArea .president{
    position: absolute;
    bottom: -160px;
    right: -40px;
    width: 380px;
    max-width: none;
    max-height: none;
}
#greetingTxtArea{
    position: relative;
    margin-top: -180px;
}
#mainContents #greetingTxtArea .cont_inner_wide {
    background: #fff;
    padding: 56px 86px 120px;
}
#greetingTxtArea .item{
    padding: 0 0 64px;
}
#greetingTxtArea h4{
    font-size: 24px;
}
#greetingTxtArea h4 span{
    font-size: 14px;
}

/*  SDGs
------------------------------------------------------------ */
#sdgs{
}
#sdgs #mainContents h4{
    font-size: 24px;
    color: #003161;
    margin-bottom: 48px;
}
#sdgs #mainContents h4::after {
    content: "";
    display: block;
    width: 100%;
    padding-top: 16px;
    border-bottom: 1px solid #ccc;
}
#sdgs .colBox{
    position: relative;
    margin-bottom: 64px;
}
#sdgs .colBox:last-child{
    margin-bottom: 0;
}

#sdgs .colBox .txt{
    width: 54%;
}
#sdgs .colBox .img{
    width: 36%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
#sdgs .colBox .img img{
    width: 32%;
}
#sdgs .colBox:after {
    content: "";
    position: absolute;
    top: 0;
    left: 60%;
    display: block;
    width: 100%;
    height: 100%;
    border-left: 1px solid #ccc;
}

/*  事業領域一覧
------------------------------------------------------------ */
#business{
}
#business #mainArea{
    margin-bottom: 96px;
}
#business .item ul{
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
}
#business .item li{
    position: relative;
    width: 50%;
    overflow: hidden;
}
#business .item li a{
    display: block;
    width: 100%;
    height: 300px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    text-decoration: none;
    transition: transform .6s ease;
}
#business .item li a:after {
    display: block;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background: #003161;
    content: "";
}
#business .item li a:hover{
    transform: scale(1.1);
}
#business .item li p{
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 100;
    width: 80%;
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
    pointer-events: none;
    transform: translate(-50%,-50%);
}
#business .item li span{
    position: relative;
    font-size: 14px;
}
#business .item li span:before {
    display: block;
    position: absolute;
    top: calc(50% - 2px);
    left: -1em;
    width: 4px;
    height: 4px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: rotate(45deg);
    content: "";
}
#business #busSpaArea.item li{
    width: 50%;
}
#business #busEstateArea.item li{
    width: 33.33%;
}
#business #busEducateArea.item li{
    width: 100%;
}
#business #busIceArea.item li{
    width: 100%;
}
#business .item li#menu_spa_1 a{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/menu_spa_1.jpg);
}
#business .item li#menu_spa_2 a{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/menu_spa_2.jpg);
}
#business .item li#menu_estate_1 a{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/menu_estate_1.jpg);
}
#business .item li#menu_estate_2 a{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/menu_estate_2.jpg);
}
#business .item li#menu_estate_3 a{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/menu_estate_3.jpg);
}
#business .item li#menu_educate a{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/menu_educate.jpg);
}
#business .item li#menu_ice a{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/menu_ice.jpg);
}

/*  事業領域コンテンツ共通
------------------------------------------------------------ */
/* 背景TOP画像 */
#mainContents .container.bgV{
    margin-top: 70px;
    padding-bottom: 32px;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
}
#mainContents .bgV h3 {
    margin: 100px 0;
    color: #fff;
}
#mainContents .bgV #summaryArea{
    background: #fff;
}
#mainContents .bgV #contentsArea {
  background: #fff;
}
/* ページリンク */
.page_link {
    display: flex;
    justify-content: space-between;
    max-width: 680px;
    margin: 0 auto 100px;
}
.page_link li {
    width: 32%;
}
.page_link a {
    position: relative;
    display: block;
    width: 100%;
    height: 65px;
    border: 1px solid;
    text-align: center;
    line-height: 65px;
    color: #000;
}
.page_link a:after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 2px);
    right: 18px;
    width: 4px;
    height: 4px;
    border-right: 2px solid #000;
    border-top: 2px solid #000;
    transform: rotate(45deg);
}
/* ページリンク */
#summaryArea {
    padding: 56px 0;
}
#summaryArea.item p {
    max-width: 560px;
    margin: 0 auto;
}
#mainContents #summaryArea .contTit {
    margin-bottom: 32px;
    text-align: center;
    color: #000;
    font-size: 24px;
}
#contentsArea .item {
    background: #F1F3F6;
    max-width: 900px;
    margin-bottom: 40px;
    padding: 32px 56px;
}
#contentsArea .colBox {
    flex-direction: row-reverse;
}
#contentsArea .colBox > div.img {
    width: 230px;
}
#contentsArea .colBox > div.txt {
    width: calc(100% - 270px);
}
#mainContents #contentsArea h4{
    max-width: 900px;
    margin: 0 auto 40px;
    font-size: 24px;
    color: #003161;
}
#mainContents #contentsArea h4::after {
    content: "";
    display: block;
    width: 100%;
    margin-top: 12px;
    border-bottom: 3px solid #003161;
}
#mainContents #contentsArea h5{
    margin-bottom: 16px;
    font-size: 24px;
}
#mainContents #contentsArea h5 span{
    display: block;
    font-size: 14px;
}
#contentsArea .item p {
    margin-bottom: 24px;
}
#contentsArea .info {
    background: #fff;
    padding: 16px;
    font-size: 12px;
}
#contentsArea .info p {
    margin-bottom: 0.5em;
    padding-left: 18px;
    text-indent: -18px;
}
#contentsArea .info a.btn {
    margin-top: 1em;
}
#contentsArea .info p img{
    vertical-align: baseline;
}
#contentsArea .item.other{
    background: none;
    padding: 0;
}

/*  温浴事業
------------------------------------------------------------ */
#spa .bgV{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/spa_top.jpg);
}

/*  不動産事業
------------------------------------------------------------ */
#estate .bgV{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/estate_top.jpg);
}
#estate .page_link{
    max-width: 900px;
}
#estate .page_link li{
    width: 24%;
}

/*  教育事業
------------------------------------------------------------ */
#educate .bgV{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/educate_top.jpg);
}

/*  アイスストア事業
------------------------------------------------------------ */
#ice .bgV{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/ice_top.jpg);
}
#ice #contentsArea .colBox > div.img {
    margin-top: -90px;
}

/*  ニュース一覧
------------------------------------------------------------ */
#news .cont_inner{
    max-width: 1100px;
}
#news .colBox{
    margin-bottom: 32px;
}
#news #newsArea dl{
    width: calc(100% - 230px);
}
#newsMenu{
    width: 200px;
}
#newsMenu li a {
    position: relative;
    display: block;
    width: 100%;
    height: 60px;
    line-height: 60px;
    background: #fff;
    margin-bottom: 1em;
    color: #000;
    text-align: center;
}
#newsMenu li a:after{
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 2px);
    right: 14px;
    width: 4px;
    height: 4px;
    border-right: 2px solid #003161;
    border-top: 2px solid #003161;
    transform: rotate(45deg);
}
#newsMenu li a:hover ,
#newsMenu li a.current {
    background: #003161;
    color: #fff;
    text-decoration: none;
}
#newsMenu li a:hover:after,
#newsMenu li a.current:after{
    border-right-color: #fff;
    border-top-color: #fff;
}

/*  ページャー
------------------------------------------------------------ */
.pagination{
    display: flex;
    justify-content: center;
}
.pagination a{
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    margin: 0 1em;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.259);
    border-radius: 2em;
    text-align: center;
    text-decoration: none;
    color: #000;
}
.pagination a.prev,
.pagination a.next{
    background: #003161;
    color: #fff;
}
.pagination a.current{
    background: #8C8D8E;
    color: #fff;
}
.pagination a.prev:after{
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 4px);
    right: calc(50% - 4px);
    width: 4px;
    height: 4px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: rotate(-135deg);
}
.pagination a.next:after{
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 4px);
    right: calc(50% - 2px);
    width: 4px;
    height: 4px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: rotate(45deg);
}

/*  ニュース詳細
------------------------------------------------------------ */
#newsArea h4 {
    margin-bottom: 32px;
    padding: 0 0 16px 0;
    border-bottom: 1px solid #ccc;
    font-size: 140%;
}
#newsArea h4 span {
    display: block;
}
#newsArea .article {
    width: calc(100% - 230px);
}
#newsArea .btn {
    margin: 0 auto;
}
#newsArea .photo img{
    max-width: 50%;
}

/*  採用TOP、求人情報、スペシャルコンテンツ共通
------------------------------------------------------------ */
#mainContents #menuTop.container {
    padding-top: calc(158px + ((100vw - 1200px) * 0.2));
    padding-bottom: 32px;
    margin-top: 70px;
}
#menuTop {
    background-image: none;
    background-size: contain;
    background-repeat: no-repeat;
}
#mainContents #menuTop h3{
    color: #fff;
    margin: 0 0 60px;
}
#menuTop .contents{
    background: #fff;
    margin: 0 22px 20px 0;
    padding: 56px 86px;
    box-shadow: 3px 3px 16px rgba(0, 0, 0, 0.059);
}
#menuTop .contents .contTit{
    font-size: 24px;
    margin-bottom: 32px;
/*
    margin-bottom: 48px;
*/
}
#mainContents .jobInfo h4 {
    font-size: 18px;
    margin-bottom: 32px;
}
.jobInfo {
    margin: 0 auto 16px;
    width: 100%;
}
.jobInfo ul {
    margin-bottom: 0;
    
}
.jobInfo li{
    background: #fff;
    padding: 36px 39px;
    box-shadow: 3px 3px 16px rgba(0, 0, 0, 0.051);
    margin: 0 24px 20px 0;
}
.jobInfo .slick-slide{
    position: relative;
    margin: 0 12px;
}
.jobInfo .slick-track {
    display: flex;
}
.jobInfo .slick-slide {
    height: auto !important;
    position: relative;
    margin: 0 12px;
}
.jobInfo .slick-slide img {
    margin: 0 auto;
}

/*  採用情報TOP
------------------------------------------------------------ */
#recruit #menuTop {
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/rec_top.jpg);
}
#recruit .jobInfo {
    margin-bottom: 72px;
}
#recruit .jobInfo:last-of-type {
    margin-bottom: 0;
}
#recruit .jobInfo ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#recruit .jobInfo li{
    width: calc((100% - 48px) / 2);
}
#recruit .jobInfo li .btnBox{
    margin-bottom: 0;
}
#recruit #seminar ul.colBox{
    justify-content: space-between;
    margin-bottom: 0;
}
#recruit #seminar li{
    width: calc((100% - 48px) / 2);
    background: #fff;
    box-shadow: 3px 3px 16px rgba(0, 0, 0, 0.051);
    margin: 0 22px 20px 0;
}
#mainContents #seminar h4 {
    font-size: 20px;
}
#recruit #seminar .semiBox{
    padding: 18px 40px;
}
#recruit #seminar .semiBox p{
    margin-bottom: 0;
}
#recruit #seminar .semiBox p.info{
    font-size: 13px;
    border-bottom: 1px solid #d8d8d8;
    padding-bottom: 18px;
    margin-bottom: 15px;
    line-height: 20px;
}
#recruit #seminar .semiBox p.adr{
    font-size: 12px;
    color: #8e8e8e;
    line-height: 19px;
}
#recruit #seminar .semiBox p.url{
    font-size: 12px;
    color: #003161;
    line-height: 19px;
}

#recruit #recContact .btnBox {
    padding: 24px 0 14px;
}
#recruit #vision .item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
#recruit #vision .item p {
    width: 65%;
}
#recruit #vision .item img {
    width: 30%;
}

/*  求人情報
------------------------------------------------------------ */
#detail .btnBox{
    padding: 60px 0 16px;
}

/*  スタッフの声
------------------------------------------------------------ */
#voice #voiceTop{
    position: relative;
    margin-top: 80px;
}
#voice #voiceTop .staffBg{
    position: absolute;
    top: 0;
    right: 0;
    background: #003161;
    height: 468px;
    width: 66%;
    z-index: -1;
}
#voice #voiceTop .lcol{
    width: 60%;
    margin-top: 44px;
}
#voice #voiceTop .lcol .staffImg{
    height: 463px;
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/rec_voice.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
#voice #voiceTop .lcol .staffImg.staff01{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/voice_01.jpg);
}
#voice #voiceTop .lcol .staffImg.staff02{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/voice_02.jpg);
}
#voice #voiceTop .lcol .staffImg.staff03{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/voice_03.jpg);
}
#voice #voiceTop .lcol .staffImg.staff04{
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/voice_04.jpg);
}
#voice #voiceTop .rcol{
    width: 40%;
}
#voice #voiceTop .rcol .staffInfo{
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    margin-left: 62px;
    padding-bottom: 40px;
    padding-right: 15px;
    color: #fff;
}
#voice #voiceTop .rcol .staffInfo h4{
    font-size: 30px;
}
#voice #voiceTop .rcol .staffInfo .dept{
    font-size: 16px;
    overflow: hidden;
}
#voice #voiceComment .cont_inner p:not(:last-child) {
    margin-bottom: 50px;
}

/*  採用情報TOP、スタッフの声　共通
------------------------------------------------------------ */
#recruit #mainContents #staffVoice.container ,
#voice #mainContents #staffVoice.container {
    padding-top: 0;
}
#recruit #staffVoice .slick-slide ,
#voice #staffVoice .slick-slide {
    position: relative;
    margin: 0 16px;
}
#recruit #staffVoice ul ,
#voice #staffVoice ul {
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    max-width: 1150px;
    width: 100%;
    margin: auto;
}
#recruit #mainContents #staffVoice.container {
    padding-bottom: 0;
}
#recruit #staffVoice ul li ,
#voice #staffVoice ul li {
    width: 24%;
    margin-bottom: 1%;
}

/*  スペシャルコンテンツTOP
------------------------------------------------------------ */
#property #menuTop {
    background-image: url(/wp/wp-content/themes/gem-co/assets/common/img/pro_top.jpg);
}
#property #mainContents .jobInfo h4 {
    font-size: 24px;
    color: #003161;
    margin: 18px 0;
}
#proTenant span.tag{
    font-size: 10px;
    margin-left: 0;
    margin-bottom: 18px;
    line-height: 20px;
    height: 20px;
    width: 10em;
    background: #a90006;
}
#proTenant .jobInfo li{
    background: none;
    padding: 0;
    box-shadow: none;
    margin: 0;
}
#proTenant .jobInfo .slick-slide {
    height: auto !important;
    margin: 0 12px 20px 12px;
    padding: 36px 39px;
    background: #fff;
    box-shadow: 3px 3px 16px rgba(0, 0, 0, 0.051);
}
#proTenant .jobInfo .slick-slide table {
    margin-bottom: 54px;
}
#proTenant .jobInfo .slick-slide .btnBox {
    position: absolute;
    bottom: 18px;
    left: 0;
}
#property table.dot th {
    padding-left: 0;
}
#property table.dot td {
    padding-right: 0;
}

#proFlow .flowList{
    margin: 62px 0 0;
    padding: 0 90px;
}
#proFlow .flowList li {
    margin: 0 0 48px;
}
#proFlow .flowList li:last-child {
    margin: 0;
}
#proFlow .colBox.inner .lcol {
    width: 126px;
}
#proFlow .colBox.inner .rcol {
    width: calc(100% - 126px);
}
#proFlow .colBox.inner .ico{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px;
    width: 94px;
    height: 94px;
    border: 1px solid #dadada;
    border-radius: 50%;
    text-align: center;
}
#proFlow .colBox.inner h4{
    font-size: 24px;
    color: #003161;
    letter-spacing: 0.9px;
    margin-bottom: 20px;
}
#mainContents #proContact.container{
    padding-top: 68px;
    padding-bottom: 68px;
}
#proContact h4{
    font-size: 24px;
    text-align: center;
    margin-bottom: 28px;
}

/*  物件紹介
------------------------------------------------------------ */
#proDtl .main{
    margin-bottom: 14px;
    text-align: center;
}
#proDtl .thumb{
    display: flex;
    justify-content: center;
}
#proDtl .thumb li{
    width: calc(100% / 4);
    margin: 0 18px 0 0;
}
#proDtl .thumb li:last-child{
    margin: 0;
}
#proDtl .item p{
    margin-bottom: 24px;
}
#proDtl span.tag{
    font-size: 10px;
    margin-left: 0;
    margin-bottom: 32px;
    line-height: 20px;
    height: 20px;
    width: 10em;
    background: #a90006;
}

#proTenaInfo .tenantList{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 48px;
}
#proTenaInfo .tenantList li{
    width: calc((100% - (18px * 3)) / 4);
    min-height: 90px;
    margin: 0 18px 18px 0;
}
#proTenaInfo .tenantList li span{
    display: block;
    width: 100%;
    font-size: 18px;
    padding: 28px;
    background: #fff;
    text-align: center;
}
#proTenaInfo .tenantList li:nth-of-type(4n){
    margin-right: 0;
}

/*  FAQ
------------------------------------------------------------ */
#mainContents .container.faq {
    padding-bottom: 52px;
}
#faqList:last-of-type {
    margin-bottom: 0;
}
#faq h3 {
    letter-spacing: 2.8px;
}
#faqList dl {
    margin-bottom: 1px;
}
#faqList dt {
    position: relative;
    padding: 2.8em 4em 2.8em 3.1em;
    color: #4d4d4d;
    background: rgba(0, 49, 97, 0.05);
    cursor: pointer;
}
#faqList dt:after {
    content: "－";
    font-size: 1.8em;
    line-height: 1;
    position: absolute;
    top: calc((100% - 1em) / 2);
    right: 0.6em;
}
#faqList dt.close:after {
    content: "+";
    right: 0.4em;
    font-size: 2.8em;
}
#faqList dd {
    position: relative;
    display: none;
    margin: 0;
    padding: 2.8em 4em 2.8em 3.1em;
}
#faqList dt > span ,
#faqList dd > span{
    position: absolute;
    top: 3.1em;
    left: 1.8em;
}
#faqList span.icon-general-q {
    color: #003161;
}
#faqList span.icon-general-a {
    color: #003161;
}
#faqList span.icon-general-q:before {
    content: "Q.";
}
#faqList span.icon-general-a:before {
    content: "A.";
}
#mainContents #faqContact {
    margin-top: 68px;
}
#faqContact h4 {
    font-size: 24px;
    text-align: center;
    margin: 62px 0 24px;
}

/*  お問い合わせフォーム
------------------------------------------------------------ */
input[type=text] ,
input[type=email] ,
input[type=tel] ,
textarea ,
select {
    border: 1px solid #DDDDDD;
    padding: 0.87em;
    width: 100%;
}
select {
    border: 1px solid #DDDDDD;
    padding: 0.6em 0.87em;
    -webkit-appearance: none;
    appearance: none; /* デフォルトの矢印を無効 */
}
.selContainer {
    position: relative;
    width: 14em;
}
.selContainer:after{
    content: "▼";
    position: absolute;
    top: 0.6em;
    right: 1em;
    pointer-events: none;
}
input[type=checkbox] ,
input[type=radio] {
    width: 18px;
    height: 18px;
}
button.btn {
    position: relative;
    display: block;
    width: 280px;
    height: 60px;
    line-height: 60px;
    box-shadow: 0px 3px 10px rgb(0 0 0 / 26%);
    background: #003161;
    border: none;
    border-radius: 2em;
    color: #fff;
    text-align: center;
    text-decoration: none;
}
button.btn:hover {
    opacity: 0.7;
    text-decoration: none;
}
button.btn.gr {
    background: #B3B3B3;
    box-shadow: none;
}
#contact .conInfo{
    text-align: center;
}
.item dl.mailform {
    width: 100%;
    margin: 86px 0 0;
    padding: 0 85px;
    overflow: hidden;
}
.item dl.mailform dt {
    width: 20em;
    padding: 0.5em 0 1em;
    float: left;
    clear: both;
}
.item dl.mailform dd {
    width: calc(100% - 20em);
    padding: 0 0 1.5em;
    float: right;
}
.item dl.mailform.conf dt{
    padding: 1.25em 0;
    border-top: 1px solid #DDDDDD;
}
.item dl.mailform.conf dd{
    padding: 1.25em 0;
    border-top: 1px solid #DDDDDD;
}
.item dl.mailform.conf dt:first-of-type{
    border-top: none;
}
.item dl.mailform.conf dd:first-of-type{
    border-top: none;
}
.mailform ul.radioList {
    margin: 0.5em 0 0;
}
.mailform ul.radioList li{
    display: flex;
    align-items: center;
    margin: 0 0 0.5em;
}
.mailform ul.radioList label{
    padding-left: 1em;
}
#confilmArea p {
    height: 145px;
    overflow-x: hidden;
    margin: 100px 85px 1em;
}
#confilmArea .confilm {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 366px;
    margin: 0 auto;
    padding: 1.5em;
    background: #FFE9E9;
}
#confilmArea .confilm input[type=checkbox]{
    width: 23px;
    height: 23px;
    margin-right: 1em;
}
#confilmArea .btnBox {
    justify-content: space-between;
    max-width: 586px;
    margin: 100px auto 1em;
}
#confilmArea .btnBox.sm {
    max-width: 100%;
    justify-content: center;
}

/*  プライバシーポリシー
------------------------------------------------------------ */
#privacy #mainContents .cont_inner{
    padding-top: 72px;
    padding-bottom: 72px;
}


/* 240116 */
table.line.bg_b {
    background: #F1F3F6;
    margin-bottom: 40px;
}

table.line.bg_b th {
    padding-left: 20px;
    padding-right: 20px;
}

a.anchor{
    display: block;
    padding-top: 110px;
    margin-top: -110px;
}

table.line.anchorlist {
    margin: 70px 0 50px;
}

table.line.anchorlist tr {
    border-bottom: 15px solid #fff;
}

table.line.anchorlist th {
    background: #003161;
    vertical-align: middle;
    color: #fff;
    padding: 30px 22px;
    text-align: center;
    width: 25%;
}

table.line.anchorlist th,
table.line.anchorlist td {
    border-bottom: none;
}

table.line.anchorlist td {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 30px 20px;
    background: #F1F3F6;
}

table.line.anchorlist td p {
    width: 83%;
    margin: 0;
}

table.line.anchorlist td a {
    width: 19%;
    padding: 7px 10px;
    border: 1px solid #ccc;
    text-align: center;
    background: #fff;
}

@media screen and (min-width:769px) {
    #mainContents .cont_inner.long {
        max-width: 1100px;
    }

    table.line.bg_b.p_100 {
        padding-top: 100px;
    }
}

/*  メディア情報一覧 240820 inokuchi
------------------------------------------------------------ */
/*  ニュース一覧
------------------------------------------------------------ */
#media .cont_inner{
    max-width: 1100px;
}
#media #mediaArea #postArea {
    width: calc(100% - 230px);
}
#mainContents #mediaArea {
    flex: 1;
    background: #F1F3F6;
}
#media #mainContents #mediaArea .cont_inner {
    padding-top: 68px;
    padding-bottom: 68px;
}
#media .colBox{
    margin-bottom: 32px;
}
/* #media #mediaArea dl{
    width: calc(100% - 230px);
} */
#mediaMenu{
    width: 200px;
}
#mediaMenu li a {
    position: relative;
    display: block;
    width: 100%;
    height: 60px;
    line-height: 60px;
    background: #fff;
    margin-bottom: 1em;
    color: #000;
    text-align: center;
}
#mediaMenu li a:after{
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 2px);
    right: 14px;
    width: 4px;
    height: 4px;
    border-right: 2px solid #003161;
    border-top: 2px solid #003161;
    transform: rotate(45deg);
}
#mediaMenu li a:hover ,
#mediaMenu li a.current {
    background: #003161;
    color: #fff;
    text-decoration: none;
}
#mediaMenu li a:hover:after,
#mediaMenu li a.current:after{
    border-right-color: #fff;
    border-top-color: #fff;
}



/*  メディア情報詳細 240820 inokuchi
------------------------------------------------------------ */
#mediaArea h4 {
    margin-bottom: 32px;
    padding: 0 0 16px 0;
    border-bottom: 1px solid #ccc;
    font-size: 140%;
}
#mediaArea h4 span {
    display: block;
}
#mediaArea .article {
    width: calc(100% - 230px);
}
#mediaArea .btn {
    margin: 0 auto;
}
#mediaArea .photo img{
    max-width: 50%;
}
@media screen and (max-width: 768px) {
}