@charset "utf-8";
/* CSS Document */


body{
	background: #fff;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    /*font-family: 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;*/
    font-size: 20px;
    line-height: 1.4;
}

/* ↓CSS pc_reset↓ */
@media only screen and (min-width: 1121px) {

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, sub, 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%;
    vertical-align:baseline;
    background:transparent;
}


article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}

nav 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;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

}
/* ↑CSS pc_reset↑ */



/*-- ↓PC版表示CSS↓  --*/
.pc_area{
  display:block;
}
.sp_area{
  display:none;
}


.pc_br{
    display: inline-block;
  }

.sp_br{
    display: none;
  }
/*-- ↑PC版表示CSS↑  --*/



/*------------------------------------------------------------
	レスポンシブ異なる画像を表示したい場合（すべて共通）
------------------------------------------------------------*/


/* 700px以下用 */
/* パソコンで見たときは"pcimg"のclassがついた画像が表示される */
.pcimg { display: block !important; }
.spimg { display: none !important; }
 
/* スマートフォンで見たときは"spimg"のclassがついた画像が表示される */
@media only screen and (max-width: 900px) {
    .pcimg { display: none !important; }
    .spimg { display: block !important; }
}


/*------------------------------------------------------------
	PC　コンテンツ 全体ボックス（すべて共通）
------------------------------------------------------------*/


#contents_box:after {
    content: "";
    display: table;
    clear: both;
}


#contents_box img {
	display: block;
	margin: 0px auto;
	padding: 0px;
}

/*------------------------------------------------------------
	PC　コンテンツ pc_inn
------------------------------------------------------------*/

.pc_inn:after {
    content: "";
    display: table;
    clear: both;
}


@media only screen and (min-width: 1120px) {
    .pc_inn {
        width: 1120px;
        margin: 0 auto;
    }
}


/*------------------------------------------------------------
　　コンテンツ全体 
------------------------------------------------------------*/

/* コンテンツ */

.contents {
	width: 100%;
	height: 100%;
}

.contents__inner {
	box-sizing: border-box;
	width: 100%;
	margin: 0px auto;
}



.content{
	line-height: 1.6;
	margin: 0px auto 0px auto;
	width: 1120px;
    padding: 40px 0px 40px 0px;
}

.content p{
	margin-bottom: 40px;
}


/*------------------------------------------------------------
	PC　コンテンツ背景
------------------------------------------------------------*/

/* トップページ */

/* カラー背景 */


.bg_000000 {
    background: rgba(0, 0, 0, 1); 
    padding: 0px;
    margin: 0px;
}


.bg_white {
    background: rgba(255, 255, 255, 1);
    padding: 0px;
    margin: 0px;
}

.bg_240 {
    background: rgba(240, 240, 240, 1);
    padding: 0px;
    margin: 0px;
}



.bg_eedca0 {
    background: rgba(238, 220, 160, 0.2); 
    padding: 0px;
    margin: 0px;
}



/*------------------------------------------------------------
	PC　a　テキスト要素
------------------------------------------------------------*/

a {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}

a:hover,
a:focus,
a:active {
    color: #fff;
    text-decoration:underline;
    outline: none;
}

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

a.anchor_02{
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}

a.anchor_03{
    display: block;
    padding-top: 130px;
    margin-top: -130px;
}





/*------------------------------------------------------------
	PC　ヘッダー 　ロゴ　グローバルナビ
------------------------------------------------------------*/

.pc_header{
	display: flex;
	padding: 0px;
	position: fixed;
	justify-content: space-between;
	width: 100%;
	z-index: 999;
    top: 35px;
	/*top: 0px; コメント非表示時*/
    border-bottom: solid 1px #d5d5d5;
    
}

.pc_header.fixed{
	position: fixed;
    top: 0px;
	/*top: 25px; コメント非表示時*/
}


.header_topline{
    display: flex;
    justify-content: space-between;
    position: fixed;
    top: 0px;
    transition: 0s;
    width: 100%;
    margin: 0px 0px;
    padding: 2px 0px;
    border-bottom: 2px solid #000;
    background: rgba(0, 0, 0, 1);
}

.header_topline.show{
    top: -35px;
    /*top: 0px; コメント非表示時*/
}

.header_topline_box {
    width: 1120px;
    height: 35px;
    line-height: 35px;
    font-size: 80%;
    margin: 5px auto 0 auto;
    color: #444;
    letter-spacing: 0.05em;
    text-align: right;
}

.header_topline_box h1{
    font-family: 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    color: #fff;
	font-size: 100%;
    font-weight: bold;
}



/*サブページスクロールでヘッダー非表示の高さ設定*表示はnoneで消しとく*/
.subpage_topline_scroll_none{
    height: 380px;
    display: none;
}


.pc_header_subpage_mailform{
	display: flex;
	padding: 0px;
	justify-content: space-between;
	width: 100%;
	z-index: 999;
	/*position: fixed;*/
    top: 25px;
	/*top: 0px; コメント非表示時*/
}


.header_topline_subpage_mailform{
    display: flex;
    justify-content: space-between;
    /*position: fixed;*/
    top: 0px;
    transition: .5s;
    width: 100%;
    margin: 0px 0px;
    padding: 2px 0px;
    border-bottom: 1px solid #e3ddd1;
    background: rgba(246, 245, 244, 1);
}

.header_topline_subpage_mailform.show{
    top: 0px;
    /*top: -25px; コメント非表示時*/
}



#header {
    margin: 0px;
    padding: 0px;
    background: rgba(255, 255, 255, 1);
    border-bottom: solid 1px #d5d5d5;
}

.header_box{
        width: 1120px;
        margin: 0 auto;
    }

.header_top {
    width: 100%;
    height: 100px;
    margin: 0px;
    padding: 0px;
    }

.header_logo {
    width:300px;
    float: left;
    margin: 0px 320px 0px 0px;
    }

.header_txt01 {
    width: 100px;
    float: left;
    margin: 25px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    font-size: 14px;
    font-weight: normal;
    text-decoration: none;
    text-align: center;
}

.header_icon01 {
    width: 20px;
    float: left;
    margin: 30px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
   
}

.header_icon02 {
    width: 40px;
    float: left;
    margin: 30px 10px 0px 0px;
    padding: 0px 0px 0px 0px;
   
}

.header_tell{
    width: 350px;
    float: left;
    margin: 20px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
}

.header_box_anchor {
  text-decoration: none;
}

.header_icon_box {
  background-color: #fff;
  width: 100px;
  text-align: center;
  border-radius: 0px;
  padding: 0px;
  margin: 0px;
  color: #444;
  font-weight: normal;
}

.header_icon_box:hover {
  background-color: #fff;
      padding: 0px;
  margin: 0px;
  opacity: 0.9;
    -webkit-animation: flash 0.1s;
    animation: flash 0.1s;
     transform:scale(1.03,1.03);
     transition:0.1s all;
}

.header_icon_color_01{
    color: rgba(6, 76, 140, 1);
}

.header_icon_color_02{
    color: rgba(51, 51, 51, 1);
}

/*------------------------------------------------------------
　　hello スライダー 
------------------------------------------------------------*/

.hello{
	overflow: hidden;
    margin: 0 auto;
    width: 100%;
    max-width: 1920px;
    
    height: 100%;
    max-height: 700px;
    
}

.hello img{
  padding: 140px 0 0 0;
  width: 100%;
　max-width: 1920px;
    
  height: 560px;
  max-height: 700px;

}


/* -- responsive ------------------------------------------- */

/* 1120変更pixel start */
@media screen and ( max-width: 1120px ) {
    
/*------------------------------------------------------------
　　スマホ表示用　hello スライダー 
------------------------------------------------------------*/
.hello{ 
	max-height:none;
	overflow: hidden;
    height: auto;
}

.hello img{
    padding: 70px 0 0px 0;
    width: 100%;
    height: 65vh;
    max-height: 800px;
    margin: 0 auto;
    object-fit: cover;
}

}


/*------------------------------------------------------------
PC　(レスポンシブ　sp版は下記)
サブページタイトル画像背景 （テキストor画像）　
------------------------------------------------------------*/

.bg_image_access {
    background: url("../img/bg/subpage_title_bg_02.jpg") no-repeat top center;
    padding: 100px 0 0 0px;
    margin: 0px auto;
    background-position: right 50% bottom 70%;
    background-color:rgba(0,0,0,1);
    background-size:100% cover;
}



.mm {
    margin: 0px auto;
    padding: 0px;
    width: 100%;
    height:	250px;
	overflow: hidden;
    float: left;
	position: relative;	/* 相対位置指定 */
    background-color:rgba(255,255,255,0);
}

.mm .mask {
	width: auto;
	height:auto;
	position: absolute;	/* 絶対位置指定 */
    top: 90px;/* ライフロード改造値 */
	left: 35%;
	opacity: 1;	/* マスクを表示しない0 表示する1 */
	background-color:rgba(255,255,255,0);	/* マスクは半透明 */
    border-radius: 5px;
}

.mm .caption {
    font-size: 250%;
    letter-spacing: 0.2em;
    font-weight: bold;
	text-align: center;
	padding: 20px;/* ライフロード改造値 */
	color: #222222;/* 絶対位置指定 */
    text-shadow: 0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2;
}





/*------------------------------------------------------------
	PC　パンクズリスト
------------------------------------------------------------*/

#pankuzu {
    margin: 50px auto 0px auto;
    padding: 0px;
    background: rgba(255, 255, 255, 1);
    line-height: 1.6;
}


.pankuzu_box {
    width: auto;
    margin: 0 auto;
}


.pankuzu_list *, .pankuzu_list *:after, .pankuzu_list *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.pankuzu_list {
	margin: 10px auto;
	padding: 12px 0px 12px 0px ;
	background-color: #fff;
	color: #fff;
}

.pankuzu_list a {
	text-decoration: underline;
	color: #444;
    font-size: 100%;
    margin: 0px 5px 0px 0px;
}

.pankuzu_list a:hover,
.pankuzu_list a:focus,
.pankuzu_list a:active {
    text-decoration:none;
}

.pankuzu_list .pankuzu_ul {
	padding-left: 0;
	margin-top: 0;
	margin-bottom: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}

.pankuzu_list li {
	display: inline-block;
	position: relative;
	padding-right: calc(16px + 8px);
	color: #444;
}
.pankuzu_list li::before {
	content: '›';
	width: 1em;
	height: 1em;
	line-height: 1;
	text-align: center;
	font-size: 1.6em;
	color: inherit;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.pankuzu_list li:last-child {
	margin-right: 0;
	padding-right: 0;
	color: #444;
    text-decoration: none;
    font-size: 100%;

}
.pankuzu_list li:last-child::before {
	content: normal;

}
.pankuzu_home a {
    padding-left: 2px
}


/*-------------------------------------------------------------
	PC　タイトル見出し/トップページ
--------------------------------------------------------------*/


.toppage_top_title{
    margin: 50px auto 20px 40px;
    padding: 50px 0 0 0px;
    display: inline-block;
    border-bottom: 3px solid #333;
    font-size: 32px;
    line-height: 1.5em;
    color: #333;
    text-align: center;
    letter-spacing: 10px;
}



.toppage_top_title_gallery{
    margin: 10px 0 0px 0;
    padding: 10px 0 0px 50px;
    font-size: 16px;
    line-height: 250%;
    color: #fff;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 0px;
    text-align:left;
    background: url("../img/bg/world.jpg") no-repeat 50% 30%;
    background-size: 50%;
    height: 100%;
}

.toppage_top_title_parts{
    margin: 10px 0 0px 0;
    padding: 10px 0 0px 50px;
    font-size: 16px;
    line-height: 250%;
    color: #fff;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 0px;
    text-align:left;
    background: url("../img/bg/bg4.png") no-repeat top right;
    background-size: 40%;
    height: 300px;
}



.toppage_top_title_about_02{
    margin: 10px 0 0px 0;
    padding: 0 0 0px 50px;
    font-size: 16px;
    line-height: 250%;
    color: #fff;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 0px;
    text-align:left;
}


.toppage_top_title_02{
    margin: 15px 0 0px 0;
    padding: 0 0 0px 40px;
    font-size: 16px;
    line-height: 150%;
    color: #fff;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 0px;
    text-align:left;
    /*text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;*/
}



.toppage_top_title_02 a.link_underline{
    text-decoration:underline;
    outline: none;
}
.toppage_top_title_02 a.link_underline:hover{
    text-decoration:none;
    cursor: pointer;
}

.toppage_top_title_02 p{
    margin: 0 0 0px 0px;
}

.toppage_top_title_02 p.bold{
    margin: 0 0 5px 0px;
    font-size: 120%;
    font-weight: bold;
}

.toppage_top_title_02 p.bold_01{
    margin: 0 0 7px 0px;
    font-size: 150%;
    font-weight: bold;
}

.toppage_top_title_02 p.bold_02{
    margin: 0px;
    font-size: 85%;
    font-weight: bold
}

.toppage_top_title_02 p.red{
    margin: 0 0 5px 0px;
    font-size: 100%;
    font-weight: normal;
    color: #ff0000;
}

.toppage_top_title_02 p.white{
    margin: 0 0 15px 0px;
    font-size: 100%;
    font-weight: normal;
    color: #fff;
}


.toppage_top_title_03{
    margin: 15px 0 10px;
    padding: 0 0 0px 40px;
    font-size: 16px;
    line-height: 200%;
    color: #333;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 0px;
    text-align:center;
}

.toppage_top_title_recruit{
    margin: 15px 0 10px;
    padding: 0 0 0px 40px;
    font-size: 16px;
    line-height: 200%;
    color: #333;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 0px;
    text-align:center;
}

p.bold_03{
    color: #333;
    width: 100%;
    max-width: 500px;
    margin: 20px auto 0 auto;
    font-size: 150%;
    text-align:center;
    font-weight: bold; 
    border-bottom: 0px double #333;
}



.toppage_top_title_04{
    margin: 0px 0 10px;
    padding: 0 0 0px 50px;
    font-size: 85%;
    line-height: 150%;
    color: #333;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 0px;
    text-align:left;
}

.toppage_top_title_05{
    margin: 0px 0 10px;
    padding: 0 0 0px 10px;
    font-size: 90%;
    line-height: 150%;
    color: #333;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 0px;
    text-align:left;
}






/*-------------------------------------------------------------
	PC　タイトル　ボックス
--------------------------------------------------------------*/
.toppage_title_box {
  margin: 0px auto 30px auto;            /* サンプル用 中央寄せ  */
  box-sizing    : border-box;           /* 罫線も含む長さ       */
  width         : 100%;                 /* BOXの幅              */
  max-width     : 1100px;                /* BOXの最大幅          */
  height        : 60px;                /* BOXの高さ            */
  padding       : 50px 0 50px 0;                 /* 文字の位置合わせ     */
  text-align    : left;               /* 文字位置             */

}

/*タイトルに英字と日本語表示をする場合：現状：空白で非表示*/
.toppage_title_box:before{
  font-size     : 34px;
  content: attr( data-title );
}

/*PC画面でセンター寄せ用*/
.toppage_title_box_center {
  margin: 0px auto 50px auto;            /* サンプル用 中央寄せ  */
  box-sizing    : border-box;           /* 罫線も含む長さ       */
  width         : 100%;                 /* BOXの幅              */
  max-width     : 1100px;                /* BOXの最大幅          */
  height        : 60px;                /* BOXの高さ            */
  padding       : 12px;                 /* 文字の位置合わせ     */
  text-align    : center;               /* 文字位置             */

}

/*タイトルに英字と日本語表示をする場合：現状：空白で非表示*/
.toppage_title_box_center:before{
  font-size     : 34px;
  content: attr( data-title );
}

.main_title {
    display: inline-block;
    margin: 0px auto 30px auto;
    border-bottom: 3px solid #fff;
    font-size: 32px;
    line-height: 1.5em;
    color: #fff;
    text-align: center;
    font-weight: bold; 
}


.main_title_02 {
    display: inline-block;
    margin: 0px auto 10px auto;
    border-bottom: 3px solid #444;
    font-size: 32px;
    line-height: 1.5em;
    color: #444;
    text-align: center;
}

.main_title_03 {
    display: inline-block;
    margin: 0px auto;
}
.main_title_03 img{
    width: 715px;
}

.main_title_04 {
    display: inline-block;
    margin: 0px auto;
}
.main_title_04 img{
    width: 1120px;
}


.parts_maintitle {
    display: inline-block;
    margin: 50px auto 20px auto;
}
.parts_maintitle img{
    width: 1120px;
}





/*------------------------------------------------------------
	PC　サブページ：メインタイトル（テキストor画像）　
------------------------------------------------------------*/

/*▼シンプルバージョン▼ */
/*
#subpage_main_title {
  padding: 0.85em 0.5em;
  color: #444;
  background: transparent;
  border-left: solid 5px #5f6baf;
  margin: 20px 0 0 20px;
  font-size: 20px;
}
*/

#subpage_main_title {
  padding: 0.6em 0.5em;/*文字の上下 左右の余白*/
  color: #444;/*文字色*/
  background: #f4f4f4;/*背景色*/
  border-left: solid 5px #000000;/*左線*/
  border-bottom: solid 3px #d7d7d7;/*下線*/
  margin: 15px 0 0 0px;
  font-size: 20px;
}


.subpage_main_title {
  padding: 0.6em 0.5em;/*文字の上下 左右の余白*/
  color: #444;/*文字色*/
  background: #f4f4f4;/*背景色*/
  border-left: solid 5px #000000;/*左線*/
  border-bottom: solid 3px #d7d7d7;/*下線*/
  margin: 15px 0 0 0px;
  font-size: 20px;
}





/*------------------------------------------------------------
	 ＰＣ　コンテンツ
------------------------------------------------------------*/
/*-------------------------------------------------------------
	　レスポンシブテーブル
--------------------------------------------------------------*/

table.table01 {
	width:94%;
	border-right:#3c78b4 solid 1px;
	border-collapse: collapse;
    margin: 0 0 10px 40px;
}

table.table01 p {
    margin: 2px 0px;
    padding: 0px;
}

table.table01 thead th {
	background: rgba(60,120,180,1);
	color:#FFF;
	padding:8px 15px;
	border-right:#FFF solid 1px;
	border-bottom:#FFF solid 1px;
}
table.table01 thead th:last-child {
	border-right:#3c78b4 solid 1px;
}
table.table01 tbody th {
	background:#3c78b4;
	color:#FFF;
	padding:8px 15px;
	border-bottom:#FFF solid 1px;
	vertical-align:top;
}
table.table01 tbody tr:last-child th {
	border-bottom:#3c78b4 solid 1px;
}
table.table01 tbody td {
	background:#FFF;
	padding:8px 15px;
	border-left:#3c78b4 solid 1px;
	border-bottom:#3c78b4 solid 1px;
	vertical-align:top;
}

@media screen and (max-width: 640px) {  
table.table01 {
	width:94%;
    margin: 0 auto 10px auto;
}
table.table01 thead {
	display:none;
}
table.table01 tbody th {
	display:block;
}
table.table01 tbody td {
	display:block;
}
table.table01 tbody td::before {
	content: attr(label);
	float: left;
	clear:both;
	font-weight:bold;
}
table.table01 tbody td p {
	padding-left:6em;
}
}


/*=====================================================
トップページギャラリー紹介　レスポンシブ
=====================================================*/
/* マウスオーバー　マスク処理 */
.toppage_gallery_box_all{
    width: 100%;
    float: left;
    margin: 0 auto;
    padding: 0 0 50px 0;

}

.toppage_gallery_info {
    width: 330px;
    max-width: 330px;
    height: 100%;
    min-height: 370px;
    position:relative;
    float: left;
    margin: 0 20px 100px;
    padding: 0 0 20px 0;
    border: 0px solid #ccc;
    text-align: center;
    background-color: #fff;
    /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);*/
    box-shadow: 0 32px 30px -25px rgba(0,0,0,0.2);
    overflow: hidden; /* これを記述することではみ出た部分を非表示にします。*/
}


p.toppage_gallery_sub_title_txt {
    margin: 0px 20px;
    color: #333;
    font-size: 15px;
    text-align: justify;
}



.toppage_gallery_info:hover{
  opacity: 1;
  box-shadow: 0 0 20px rgba(255,255,255,0.7);
/*-webkit-animation: flash 0.3s;
  animation: flash 0.3s;*/
}
.toppage_gallery_info a{
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
    
}

.toppage_gallery_info a:hover,
.toppage_gallery_info a:focus,
.toppage_gallery_info a:active {
    text-decoration:none;
}

.toppage_gallery_info img{
    width: 330px;
    max-width: 330px;
    height: auto;
    margin: 0 auto;
    opacity: 1; 
}

.toppage_gallery_info img:hover{
  transform:scale(1.0,1.0);
  transition:1s all;
-webkit-animation: flash 0.8s;
  animation: flash 0.8s;
}


@-webkit-keyframes flash {
  0% {
    opacity: .7;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: .7;
  }
  100% {
    opacity: 1;
  }
}


/* -- responsive ---------スマホ用--ここから-------------- */

/* 1120変更pixel start*/
@media screen and ( max-width: 1120px ) {
.toppage_gallery_info {
    width: 47%;
    max-width: 100%;
    height: 100%;
    min-height: 450px;
    margin: 20px 8px 20px 8px;
    padding: 0 0 10px 0;
}
    

    
.toppage_gallery_info img{
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    opacity: 1; 
}

}
 

@media screen and (max-width: 800px) {
    
.toppage_gallery_info {
    width: 90%;
    height: 100%;
    min-height: 100%;
    max-width: 100%;
    margin: 0px 3% 60px 3%;
    padding: 0 0 30px 0;

}
    
.toppage_gallery_info a{
    position: relative; 
}
   
.toppage_gallery_info img{
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    opacity: 1; 

}

    
}

/* 1120pixel end */
/* -- responsive ---------スマホ用ここまで----------------- */


/* トップページ　もっと見るボタン */
.more_button {
    float: left;
    width: 300px;
    margin: 0px 0px 0px 30px;
}

.more_button a {
    background: #000;
    border: 5px solid #fff;
    border-radius: 5px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 300px;
    padding: 150px 10px;
    color: #fff;
    transition: 0.3s ease-in-out;
    font-size: 160%;
    font-weight: bold;
}


.more_button a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 1.5rem;
  font-size: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 20px;
  height: 20px;
  border-top: solid 6px currentColor;
  border-right: solid 6px currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.more_button a:hover {
  background: #fff;
  color: #222;
  text-decoration: none;
}

.more_button a:hover:after {
  right: 1.2rem;
}



 /* -- responsive ---------スマホ用--ここから-------------- */  
/* 1120変更pixel start */
@media screen and ( max-width: 1120px ) {
    
.more_button {
    width: 100%;
    margin: 30px 0 0 0;
}
    
.more_button a {
    width: 86%;
    max-width: 100%;
    margin: 0px 4%;
    padding: 30px 5px;
    color: #fff;
    transition: 0.3s ease-in-out;
    font-size: 4vw;
    font-weight: bold;
}
    
.more_button a:after {
  right: 30rem;
  width: 20px;
  height: 20px;
  border-top: solid 6px currentColor;
  border-right: solid 6px currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.more_button a:hover:after {
  right: 25rem;
}

} 


/*------------------------------------------------------------
 トップページ　アバウト部分
------------------------------------------------------------*/
.toppage_about_title_box{
    margin: 100px auto 30px auto;
    padding: 0px auto;
    width: 100%;
    float: left;
    clear: both;

}



.about_toppage_bgimage_text {
    position:relative;
    margin: 0px auto 30px auto;
}

.about_toppage_title_text {
    position: absolute;
    top: 12%;
    font-size: 36px;
    font-weight: bold;
    line-height: 100%;
    letter-spacing: 0.15em;
    color: #fff;
    margin: 0px 0px 0px 90px;
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}

.about_toppage_bgimage_text img {
  width: 100%;
}

@media screen and ( max-width: 1120px ) {

    .about_toppage_title_text {
        position: absolute;
        font-size: 5vw;
        padding: 0px;
        margin: 0% 0% 0% 10%;
        text-align: left;
        line-height: 35px;
    }
    
.about_toppage_bgimage_text img {
  width: 98%;
  height: 40px;
    margin: 1% 1%;
}

}



.toppage_top_title_about{
    margin: 10px 0 0px 0;
    padding: 0 0 0px 50px;
    font-size: 16px;
    line-height: 250%;
    color: #fff;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 0px;
    text-align:left;
    background: url("../img/bg/bg1.png") no-repeat right 100%;
    background-size: 60%;
}




@media screen and ( max-width: 1120px ) {

.toppage_top_title_about{
    width: 92%;
    font-size: 3.5vw;
    color: #fff;
    text-align: justify;
    margin: 0px auto;
    padding: 0 10px;
    line-height: 160%;
    background: url("../img/bg/bg1.png") no-repeat right 60%;
    background-size: 100%;
}

    
}



/*=====================================================
トップページパーツ紹介　レスポンシブ
=====================================================*/
/* マウスオーバー　マスク処理 */
.toppage_parts_box_all{
    width: 100%;
    float: left;
    margin: 0 auto;
    padding: 0 0 50px 0;

}


.toppage_parts_info {
    width: 330px;
    max-width: 330px;
    height: 100%;
    min-height: 370px;
    position:relative;
    float: left;
    margin: 0 20px 100px;
    padding: 0 0 20px 0;
    border: 0px solid #ccc;
    text-align: center;
    background-color: #fff;
    /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);*/
    box-shadow: 0 32px 30px -25px rgba(0,0,0,0.2);
    overflow: hidden; /* これを記述することではみ出た部分を非表示にします。*/
}


p.toppage_parts_sub_title {
    margin: 15px 0;
    color: #222;
    font-size: 22px;
    font-weight: bold;
    position: relative;
    display: inline-block;
    text-decoration: none;
}

p.toppage_parts_sub_title::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}

p.toppage_parts_sub_title:hover::after {
  transform: scale(1, 1);
}



p.toppage_parts_sub_title_txt {
    margin: 0px 20px;
    color: #333;
    font-size: 15px;
    text-align: justify;
}



.toppage_parts_info:hover{
  opacity: 1;
  box-shadow: 0 0 20px rgba(255,255,255,0.7);
/*-webkit-animation: flash 0.3s;
  animation: flash 0.3s;*/
}

.toppage_parts_info a{
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}

.toppage_parts_info a:hover,
.toppage_parts_info a:focus,
.toppage_parts_info a:active {
    text-decoration:none;
}

.toppage_parts_info img{
    width: 330px;
    max-width: 330px;
    height: auto;
    margin: 0 auto;
    opacity: 1; 
}

.toppage_parts_info img:hover{
  transform:scale(1.0,1.0);
  transition:1s all;
-webkit-animation: flash 0.8s;
  animation: flash 0.8s;
}


@-webkit-keyframes flash {
  0% {
    opacity: .7;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: .7;
  }
  100% {
    opacity: 1;
  }
}


/* -- responsive ---------スマホ用--ここから-------------- */

/* 1120変更pixel start */
@media screen and ( max-width: 1120px ) {
    .toppage_parts_info {
    width: 47%;
    max-width: 100%;
    height: 100%;
    min-height: 450px;
    margin: 20px 8px 20px 8px;
    padding: 0 0 10px 0;

}
    
.toppage_parts_info img{
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    opacity: 1; 
}


p.toppage_parts_sub_title {
    margin: 10px 0;
    font-size: 16px;

}

p.toppage_parts_sub_title_txt {
    margin: 10px 10px;
    font-size: 13px;
}



}


@media screen and (max-width: 800px) {

    
.toppage_parts_info {
    width: 45%;
    height: 100%;
    min-height: 350px;
    max-width: 100%;
}
    

    
.toppage_parts_info img{
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    opacity: 1; 

}

    
}


/* 1120pixel end */
/* -- responsive ---------スマホ用ここまで----------------- */




/*------------------------------------------------------------
 サブページ　アバウト　タイトル
------------------------------------------------------------*/

.about_title_box{
    margin: 100px auto 30px auto;
    padding: 0px auto;
    width: 100%;
    float: left;
    clear: both;

}


.about_subpage_bgimage_text {
    position:relative;
    margin: 0px auto 30px auto;

}

.about_subpage_title_text {
    position: absolute;
    top: 12%;
    font-size: 36px;
    font-weight: bold;
    line-height: 100%;
    letter-spacing: 0.15em;
    color: #fff;
    margin: 0px 0px 0px 90px;
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}

.about_subpage_bgimage_text img {
  width: 100%;
}

@media screen and ( max-width: 1120px ) {

    .about_subpage_title_text {
        position: absolute;
        font-size: 5vw;
        padding: 0px;
        margin: 0% 0% 0% 10%;
        text-align: left;
        line-height: 35px;
    }
    
.about_subpage_bgimage_text img {
  width: 99%;
  height: 35px;
    margin: 1% 0.4%;
}

}

/*-------------------------------------------------------------
	アバウトページ　スティンキーについて
--------------------------------------------------------------*/
.aboutpage_info_text{
    margin: 0px;
    padding: 0 0 0px 50px;
    font-size: 16px;
    line-height: 250%;
    color: #fff;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 0px;
    text-align:left;
    background: url("../img/bg/bg1.png") no-repeat right 85%;
    background-size: 60%;
}


@media screen and ( max-width: 1120px ) {
.aboutpage_info_text{
    width: 92%;
    font-size: 3.5vw;
    color: #fff;
    text-align: justify;
    margin: 0px auto;
    padding: 0 10px;
    line-height: 160%;
    background: url("../img/bg/bg1.png") no-repeat right 45%;
    background-size: 100%;
}

    
}







/*=====================================================
サブページ　規約/ポリシー　レスポンシブ
=====================================================*/
#sub_main_box{
    float: left;
    width: 800px;
    height: auto;
    margin: 20px 0 0 10px;
    border-right :solid 1px #c2c2c2;

}

.pc_content_box750 {
    width: 750px;
    margin: 10px 0px 0px 10px;
    padding: 0px 0px 0px 0px;
}

.pc_content_box750 p {
    margin: 5px 15px 30px 25px;
    padding: 0px;
}

.pc_content_box750 p.margin_none {
    margin: 5px 0px 0px 10px;
    padding: 0px;
}

.pc_content_box750 h2 {
  padding: .25em 0 .25em .15em;
  border-bottom: 5px solid rgba(0, 0, 0, 0.9);
　margin: 10px 30px 10px 0;
  font-size: 120%;
}

.pc_content_box750 h3 {
    line-height: 85%;
    margin: 20px 0 15px 10px;
    padding: .25em 0 .25em .55em;
    font-size: 100%;
    border-bottom: 5px solid rgba(0, 0, 0, 0.9);
}

/*------------------------------------------------------------
　サブページ　規約/ポリシー　PC	サイドメニュー
------------------------------------------------------------*/
#sub_side_box{
    float: left;
    width: 275px;
    height: auto;
    margin: 50px 0 0 25px;
    

}

.my-parts {
	border: 1px solid #666;
	text-align: left;
	border-radius: 0px;
	overflow: hidden;
    background: #fff;
}
.my-parts-title {
	color: #fff;
	background: #666;
	padding: .8em .8em;
	font-weight: bold;
}
.my-parts ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.my-parts ul li {
	padding: 0;
	margin: 0;
    position: relative;
}

.my-parts ul li a {
	color: #444;
	font-weight: bold;
	text-decoration: none;
	display: block;
	padding: .7em 1.2em;
	border-bottom: 1px dotted #666;
}
.my-parts ul li:last-child a {
	border: none;
}

.my-parts ul li a:hover {
    background: rgba(6, 76, 140, 0.5);
    opacity: 1;
    -webkit-animation: flash 0.5s;
    animation: flash 0.5s;
}

.arrow {
    background-image: url("../img/icon/side_arrow.png");
    background-size: 14px 20px;
    background-repeat: no-repeat;
    background-position: 0 0;
    position: absolute;
    width: 14px;
    height: 20px;
    top: 12px;
    right: 15px;
}


/*-------------------------------------------------------------
	サブページ　コンテンツ
--------------------------------------------------------------*/

/*テーブル全体ボックス*/
.table-wrp {
    margin: 20px 0 0 0;
}


.main_photo{
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
}




h2.sub_box_maintitle_02  {
  padding: .25em 0 0 .25em;
  border-bottom: 0px solid rgba(6, 76, 140, 0.9);
　margin: 10px 30px 0px 0px;
  color: #444;
  font-size: 130%;
}

h2.sub_box_maintitle_02 .fa{
    color: #444;
}


/*テーブル表示*/

.tbl-box {
    width: 100%;
    margin: 0px auto 0 auto;
}

.tbl-box th {
  background: #f0f0f0;
  border: solid 1px #ccc;
  color: #444;
  padding: 12px 10px 15px 10px;
  vertical-align: middle;
    min-width: 110px;
}

.tbl-box td {
  background: #fff;
　border: solid 10px #ccc;
  padding: 10px 10px 10px 10px;

}
.tbl-box a {
    text-decoration: underline;
    
}
.tbl-box a:hover {
    text-decoration: none;
    
}


.tbl-box .line {
    border: solid 1px #ccc;
}

.tbl-box .line_tell {
    border: solid 1px #ccc;
}

.tbl-box .line_tell a {
    color: #0E1BBB;
}

.tbl-box .line a.other_link {
    font-size: 100%;
    color: #222;
    text-decoration: underline;
}

.tbl-box .line a.snslink {
    font-size: 90%;
    color: #222;
    text-decoration: underline;
}

.tbl-box .line a.snslink:hover {
    text-decoration: none;
}

.branch_tell_comment {
    margin-top: 5px;
    padding-top: 3px;
    border-top: 2px dashed #d2c8b2;   /* 枠線の指定（上）     */
    border-radius : 1px;                  /* 角丸の指定           */
    font-size: 80%;
}

.mapbox{
    float: left;
    margin: 5px 0 0 2px;
}



/* アクセスマップ  トップページ   */

.shop_info_subpage{
    width: 100%;
    float: left;
    margin: 0 auto 50px auto;
    padding: 0px;

}


#access_map_toppage {
    margin: 0px 0px 50px 0px;
    padding: 0px;
}

#access_map_toppage iframe {
    width: 100%;
    margin: 0 auto;
}


/* アクセス　店舗詳細  サブページ   */
#access_map_subpage {
    margin: 0px 0px 50px 0px;
    padding: 0px;
}

#access_map_subpage iframe {
    width: 100%;
    margin: 0 auto;
}

.map_image01{   
    width: 80%;
    margin: 0 auto 100px auto;
}






/*------------------------------------------------------------
	ＨＰお知らせ一覧レスポンシブ
------------------------------------------------------------*/

#contents_box:after {
    content: "";
    display: table;
    clear: both;
}


#contents_box img {
	display: block;
	margin: 0px auto;
	padding: 0px;
}


#subpage_contents_box_1120 {
    width: 1120px;
    float: left;
    padding: 0px 0px 30px 0px;
    margin: 0px 0px 10px 0px;
}

.title_news {
    display: inline-block;
    margin: 0px auto 30px auto;
    border-bottom: 0px solid #444;
    font-size: 32px;
    line-height: 1.5em;
    color: #444;
    text-align: center;
    font-weight: bold; 
}




.news-box_itiran {
    width: 100%;
}

.news-box_itiran ul {
    margin-block-start: 0em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
}

.news-box_itiran li {
    list-style: none;
    display: list-item;
    margin: 0px 0px 0px 12px;
    
}

.news-list_itiran {
    border-bottom: 0px solid #e5e5e5;
    padding: 0px 0 25px 0px;
}

.news-date_itiran {
    margin: 0px 0 0 5px;
    color: #444;
    font-size: 130%;
    font-weight: 700;
}


.news-txt_naiyou_itiran {
    margin: 4px 0px 55px 10px;
    width: 900px;
    line-height: 1.8;
}

.news_bg_000{
    padding: 20px;
    width: 850px;
    background: #000;
}

.news-txt_naiyou_itiran p.txt01{
     font-size: 200%;
    font-weight: bold; 
    color: #fff;
}


.news-box_itiran a:hover {
    text-decoration: underline;
}

.news-txt_naiyou_itiran a {
        color: #444;
        font-size: 95%;
    text-decoration: underline;
}
.news-txt_naiyou_itiran a.news_txt01{
        font-size: 200%;
    text-decoration: underline;
    text-decoration-skip-ink: none;

}

.news-txt_naiyou_itiran a:hover {
    text-decoration: none;
}

.new_mark{
    padding-left: 10px;
    font-size: 100%;
  animation: blinkAnime 0.6s infinite alternate;
}
@keyframes blinkAnime{
   0% { color: rgba(255, 0, 0, 0.7) }
 100% { color: rgba(255, 0, 0, 0.4) }
}

.contents-more {
    margin: 10px 15% 0 0;
    text-align: right;
}

.contents-more a{
        color: #444;
}

/*------------------------------------------------------------
　パソコン　休業日カレンダー表示　
------------------------------------------------------------*/

iframe.closed_days_calendar {
    width: 650px;
    height: 280px;
    margin: 0 auto;
}


/*------------------------------------------------------------
　スマホ　休業日カレンダー表示　
------------------------------------------------------------*/
    @media (max-width: 650px) {
iframe.closed_days_calendar {
    width: 95%;
    height: 560px;
    margin: 0% auto;
}  

}  






/* お知らせスマホ用1120変更pixel start */
@media screen and ( max-width: 1120px ) {
    
#news_contents_box_1120 {
    width: 100%;
    float: left;
    padding: 0px 0px 30px 0px;
    margin: 0px 0px 10px 0px;
}
    
    
.title_news{
    display: inline-block;
    color: #444;
    font-size: 6vw;
    font-weight: bold;
    text-align: center;
    padding: 2px;
    margin: 50px auto 0px auto;
    border-bottom: 3px solid #fff;
    line-height: 1.5em;
    
}

.news-box_itiran ul {
    padding-inline-start: 5px;
}
    
.news-list_itiran {
    border-bottom: 0px solid #e5e5e5;
}
    
.news-date_itiran {
    margin-left: 0px;
}
    
    
.news-txt_naiyou_itiran {
    margin: 3px 0px 25px 3px;
    width: 92%;
    line-height: 1.8;
    padding: 0px 0 10px 0;
    border-bottom: 0px dashed #e5e5e5;
        
}
    


a.news_naiyou_button {
    width: 80%;
    height: 35px;
    line-height: 35px;
    margin: 2px 0 20px;
    padding: 10px;
    display: block;
    text-decoration: none;
    color: #444;
    background-color: #fff;
    font-size: 16px;
    letter-spacing: 0.1em;
    font-weight: bold;
    text-align: center;
    border: 2px dashed #aaa;
}

.news_bg_000{
    padding: 20px 0px 0 5px;
    width: 98%;
}
    
.news_bg_000 img.image_space02 {
        width: 100%;
    }
   
    .news_bg_000 img {
        width: 100%;
    }

}




/*------------------------------------------------------------
	PC　お問い合わせボックス
------------------------------------------------------------*/
#subpage_main_title_otoiawase {
  float: left;
  width: 95%;
  margin: 30px 20px;
  padding: 0.6em 0.5em;/*文字の上下 左右の余白*/
  color: rgba(0, 0, 0, 0.9);/*文字色*/
  font-size: 30px;
  font-weight: 900;
  border-bottom: solid 4px rgba(0, 0, 0, 0.9);
}

p.otoiawase_txt{
    width: 100%;
       float: left;
       font-size:100%;
       margin: 20px 50px;
}
p.otoiawase_txt_sub{
        float: left;
        margin: 25px;
      line-height: 1.5;
}
.subpage_otoiawase_mail_box{
    width: 460px;
    height: 280px;
    float: left;
    margin: 30px 0px 100px 80px;
    padding: 0px;
    border-radius : 1px;
    background: rgba(194, 194, 194, 0.2);
}

.subpage_otoiawase_tel_box{
    width: 460px;
    height: 280px;
    float: left;
    margin: 30px 0px 150px 80px;
    padding: 0px;
    border-radius : 1px;
    background: rgba(194, 194, 194, 0.2);
    text-align: center;
}

.subpage_otoiawase_sub_title{
  background: rgba(0, 0, 0, 0.8);
  margin: 0px;
  padding: 10px;
  color: #fff;/*文字色*/
  font-size: 110%;
 line-height: 2.4;
  font-weight: 600;
  text-align: center;
}

.otoiawase_mail_link img{
	display: block;
	margin: 0px auto;
	padding: 0px;
}

.otoiawase_mail_link img:hover{
    opacity: 1;
    -webkit-animation: flash 0.6s;
    animation: flash 0.6s;
     transform:scale(1.1,1.1);
     transition:0.6s all;
}



/*------------------------------------------------------------
	PC　フッター
------------------------------------------------------------*/

#footer {
        margin: 0px 0 0 0;
        padding: 5px 0 0 0;
        background: rgba(240, 238, 233, 1);
        font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
        line-height: 1.2;
    }


.footer_info {
    width: 98%;
    height: 160px;
    padding: 10px 0 10px 0;
    margin: 0px 0px 0px 0px;
    border-top    : 0px dashed #d2c8b2;   /* 枠線の指定（上）     */
    border-bottom    : 1px solid#444;   /* 枠線の指定（上）     */
    border-radius : 1px;                  /* 角丸の指定           */
    box-sizing: border-box;
    }

.footer_logo {
    width: 120px;
    float: left;
    margin: 40px 0px 0px 50px;
    padding: 0px 0px 0px 0px;
    }

.footer_text {
    float: left;
    font-size: 16px;
    margin: 60px 0px 0px 150px;
}

.footer_qr_code {
    width: 100%;
    max-width: 300px;
    margin: 20px 0px 20px 80px;
    float: left;
    border: 1px solid #d2c8b2;
}


.footer_icon {
    float: left;
    margin: 0px 10px 0px 0px;
}

.footer_icon_paypay {
    float: left;
    margin: 0px 10px 0px 0px;
    width: 50%;
}
.footer_icon_02 {
    float: left;
    margin: 5px 15px 0px 0px;
}

.footer_ssl_image {
    float: left;
    margin: -5px 0px 0px 20px;
    font-size: 10px;
}

.footer_ssl_image a:hover {
        -ms-transform: translateY(0px);
            transform: translateY(0px);
    }


.footer-navi {
  margin-top: 40px;
  margin-bottom: auto;
  padding-left: 150px;
  padding-bottom: 60px;
  border-bottom: 0px solid #d2d2d2;
}

.footer-navi__list {
  padding-left: 0;
  list-style-type: none;
  font-size: 0;
}

.footer-navi__item {
  display: inline-block;
  color: #444; 
  vertical-align: top;
  font-size: medium;
  font-size: 14px;
  padding: 0 0 0 5px;
  border-left   : 0px dotted #5f6fab;   /* 枠線の指定（左）     */
  border-radius : 1px;                  /* 角丸の指定           */
}
.footer-navi__item:nth-child(n) {
  margin-right: 2px; 
  margin-left: 0px;
  width: calc((100% - 60px) / 4.2) ;
}

/*--

.footer-navi__item:nth-child(4n+1) {
  margin-left: 0;
}
.footer-navi__item:nth-child(4n+4) {
  margin-right: 0;
}

---*/

.footer-navi__item >span {
  display: block;
  margin-bottom: 15px;
  font-size: 15px;
  font-weight: bold;
}

.footer-child-navi__list {
  margin: auto; 
  padding-left: 5px;
  list-style-type: none;
}

.footer-child-navi__item {
  margin-bottom: 12px;
  font-size: 14px;
}

.footer-child-navi__item a {
  color: #444444;
  text-decoration: none;
}
.footer-child-navi__item a:hover {
  text-decoration: underline;
}


.footer_toplink {
    text-align: right;
    padding: 0 20px;
    margin: 0 auto;
    max-width: 1120px;
}


.footer_toplink a {
    background: rgba(0, 0, 0, 1);
    border-bottom: 0;
    color: #fff;
    display: inline-block;
    font-size: 90%;
    text-decoration: none;
    text-align: center;
    padding: 28px 14px 8px 14px;
    position: relative;
}

.footer_toplink a::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 50%;
    margin-left: -9px;
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-135deg);
}



.footer_underline {
    margin-bottom: 0px;
    padding: 30px 0 30px 0;
    text-align: center;
    border-top: 0px solid #e3ddd1;
    background: rgba(68, 68, 68, 1);
    font-size: 15px;
    color: #ffffff;
    letter-spacing: 0.1em;
}





/* フッター　コピーライト */
.footer_underline {
    margin-bottom: 0px;
    padding: 30px 0 30px 0;
    text-align: center;
    border-top: 1px solid #000;
    background: rgba(0, 0, 0, 1);
    font-size: 15px;
    color: #ffffff;
    letter-spacing: 0.1em;
}





/*------------------------------------------------------------
	アンダーライン
------------------------------------------------------------*/

hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

hr.line_white_01{
    display:block;
    height:1px;
    border:0;   
    border-top:2px solid #fff;
    margin:100px auto 0 auto;
    padding:0px;
    width: 90%;
    
}


/*------------------------------------------------------------
	スペースタグ
------------------------------------------------------------*/

.space_5px {
    width: auto;
    margin: 5px auto 0px auto;
    text-align: center;
}

.space_7px {
    width: auto;
    margin: 7px auto 0px auto;
    text-align: center;
}

.space_10px {
    width: auto;
    margin: 10px auto 0px auto;
    text-align: center;
}

.space_15px {
    width: auto;
    margin: 15px auto 0px auto;
    text-align: center;
}

.space_20px {
    width: auto;
    margin: 20px auto 0px auto;
    text-align: center;
}

.space_25px {
    width: auto;
    margin: 25px auto 0px auto;
    text-align: center;
}

.space_30px {
    width: auto;
    margin: 30px auto 0px auto;
    text-align: center;
}

.space_35px {
    width: auto;
    margin: 35px auto 0px auto;
    text-align: center;
}

.space_40px {
    width: auto;
    margin: 40px auto 0px auto;
    text-align: center;
}

.space_45px {
    width: auto;
    margin: 45px auto 0px auto;
    text-align: center;
}

.space_50px {
    width: auto;
    margin: 50px auto 0px auto;
    text-align: center;
}
.space_55px {
    width: auto;
    margin: 55px auto 0px auto;
    text-align: center;
}
.space_60px {
    width: auto;
    margin: 60px auto 0px auto;
    text-align: center;
}
.space_70px {
    flat: left;
    width: auto;
    margin: 70px auto 0px auto;
    text-align: center;
}
.space_80px {
    width: auto;
    margin: 80px auto 0px auto;
    text-align: center;
}
.space_90px {
    width: auto;
    margin: 90px auto 0px auto;
    text-align: center;
}
.space_100px {
    width: auto;
    margin: 100px auto 0px auto;
    text-align: center;
}
.space_110px {
    width: auto;
    margin: 110px auto 0px auto;
    text-align: center;
}
.space_120px {
    width: auto;
    margin: 120px auto 0px auto;
    text-align: center;
}
.space_130px {
    width: auto;
    margin: 130px auto 0px auto;
    text-align: center;
}
.space_140px {
    width: auto;
    margin: 140px auto 0px auto;
    text-align: center;
}
.space_150px {
    width: auto;
    margin: 150px auto 0px auto;
    text-align: center;
}
.space_160px {
    width: auto;
    margin: 160px auto 0px auto;
    text-align: center;
}
.space_170px {
    width: auto;
    margin: 170px auto 0px auto;
    text-align: center;
}
.space_180px {
    width: auto;
    margin: 180px auto 0px auto;
    text-align: center;
}
.space_190px {
    width: auto;
    margin: 190px auto 0px auto;
    text-align: center;
}
.space_200px {
    width: auto;
    margin: 200px auto 0px auto;
    text-align: center;
}

.space_500px {
    width: auto;
    margin: 500px auto 0px auto;
    text-align: center;
}




/* -- responsive ------------------------------------------- */

/* 1120変更pixel start */
@media screen and ( max-width: 1120px ) {

/* -- スマホ用ヘッダー、パンクズリスト、フッターここから -------------------------------------------------------------------------------- */

/*=====================================================
	共通CSS設定
=====================================================*/
html {
  font-size: 6.3%;
  overflow-y: scroll;
}

body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 14rem;
  vertical-align: baseline;
  color: #444;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
 /*フォントinit保存
  font-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    */
}
    
html.active_haikei_kotei {
  height: 100%;
  overflow: hidden;
}
    
body.active_haikei_kotei {
  height: 100%;
  overflow: hidden;
}


body {
  -webkit-text-size-adjust: none;
}
    

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}



ol,
ul {
  list-style: none;
}



a {
  color: #fff;
  text-decoration: none;
}

a:hover,
a:focus,
a:active {
    text-decoration: none;
    outline: none;
}


a.anchor{
    display: block;
    padding-top: 120px;
    margin-top: -120px;
}
    
 /*------------------------------------------------------------
	clearfix
------------------------------------------------------------*/   

/*.clearfix {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}
*/
    
.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}
   
    
    
/*=====================================================
	スマホ　共通CSS設定
=====================================================*/

.opacity a img {
    -webkit-transition: opacity 0.5s ease-out;
    transition: opacity 0.5s ease-out;
    background-color: undefined;
}

.opacity a:hover img {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}
    

/*=====================================================
	スマホ　header設定
=====================================================*/
.pc_header{
        border-bottom: solid 0px #d5d5d5;
    }    
    
.normal .header_box_bar {
    position: fixed;
    z-index: 99;
    left: 0;
    top: 0;
    width: 100%;
    height: 60px;
  margin: 0px;
  padding: 10px 0px 5px 5px;
  border-bottom: 2px solid rgba(255,255,255,1);
  background: rgba(0,0,0,1);
}

.normal .header_box_bar:after {
  content: "";
  display: block;
  clear: both;
}

.normal .header_box_bar .header_box_logo {
  float: left;
  width: 20%;
  max-width: 80px;
}

.normal .header_box_bar .header_box_logo img {
width: 100%;
}

.normal .header_box_bar ul.header_box_menu {
  float: right;
  display: table;
  margin: 3px 68px 0 0;
}



.normal .header_box_bar ul.header_box_menu li {
  float: left;
  margin: 0px 8px 0 0;
  border-left: 1px solid #e3ded5;
  padding: 5px 0px 0px 8px;
  display: table-cell;
}
.header_box_menu img {
    width: 100%;
    max-width: 45px;
}

.normal .header_box_bar ul.header_box_menu li:last-child {
  padding: 5px 0 0 8px;
}


    
/*------------------------------------------------------------
	スマホ　パンクズリスト
------------------------------------------------------------*/

#pankuzu {
    margin: 0px auto 0px auto;
}

.pankuzu_list {
	margin: 10px auto ;
	padding: 12px 0px 12px 5px ;
}

.pankuzu_list a {
    font-size: 110%;
    margin: 0px;
}


.pankuzu_list .pankuzu_ul {
	padding-left: 10px;

}
    

.pankuzu_list li:last-child {
    font-size: 110%;

}


/*=====================================================
	スマホ　content_box設定
=====================================================*/
    
.content{
    width: 98%;
	line-height: 1.6;
	margin: 0px auto;
    padding: 0px;
}

.content p{
	margin-bottom: 0px;
}
    
    
    

.content_box {
  position: relative;
    margin: 0 0 80px 0;   /* ボトム固定メニュー表示分 下部余白 */
}



.main_box {
  position: relative;
}


.main_box img {
  width: 100%;
}



.toppage_top_title {
    display: inline-block;
    color: #000000;
    font-size: 6vw;
    font-weight: bold;
    text-align: center;
    padding: 2px;
    margin: 0 auto;
    border-bottom: 3px solid #000000;
    line-height: 1.5em;
    
}
    


.toppage_top_title_gallery{
    width: 92%;
    font-size: 3.5vw;
    color: #fff;
    text-align: justify;
    margin: 0px auto;
    padding: 0 10px 30px 10px;
    line-height: 160%;
    background: url("../img/bg/gallery_bg01.png") no-repeat top center;
    background-size: 100%;
    height: 100%;
}
    
.toppage_top_title_parts{
    width: 92%;
    font-size: 3.5vw;
    color: #fff;
    text-align: justify;
    margin: 0px auto;
    padding: 0 10px 30px 10px;
    line-height: 160%;
    background: url("../img/bg/bg4.png") no-repeat top center;
    background-size: 100%;
    height: 100%;
}
        


.toppage_top_title_02{
    width: 92%;
    font-size: 3.8vw;
    color: #fff;
    text-align: justify;
    margin: 20px auto 0 auto;
    padding: 0 10px;
    line-height: 1.4;
}
    
    
.toppage_top_title_03{
    width: 92%;
    font-size: 3.8vw;
    color: #444;
    text-align: justify;
    margin: 0px auto;
    padding: 10px;
    line-height: 1.4;
}
    
    
.toppage_top_title_recruit{
    width: 92%;
    font-size: 3.8vw;
    color: #444;
    text-align: center;
    margin: 0px auto;
    padding: 5px 5px 50px;
    line-height: 1.4;
}

.toppage_title{
    width: 60%;
    margin: 0px auto;
    padding: 10px;
}
    
.toppage_top_title_02 p.bold_01{
    color: #fff;
    font-size: 120%;
    }   
    
p.bold_03{
    color: #444;
    font-size: 4.5vw;
}   
    
    
.toppage_top_title_02 p.white{
        margin: 20px auto;
    width: 97%;
    font-size: 3vw;
 
    }  
    
    
    


.toppage_top_title_04{
    width: 92%;
    font-size: 3vw;
    color: #444;
    text-align: justify;
    margin: 0px auto;
    padding: 0 10px;
    line-height: 1.4;
}
    
    
.toppage_top_title_linkbox a.button {
    width: 30%;
    max-width: 220px;
    margin: 0 2vw 0px 5vw;
    font-size: 150%;

}


    


/*------------------------------------------------------------
	スマホ　共通　サブボックス　90～100
------------------------------------------------------------*/
.sub_box {
  margin: 0px auto;
    width: 100%
}

.sub_box_90 {
  margin: 0px auto;
    width: 90%
}

.sub_box_92 {
  margin: 0px auto;
    width: 92%
}

.sub_box_94 {
  margin: 0px auto;
    width: 94%
}

.sub_box_96 {
  margin: 0px auto;
    width: 96%
}

/*------------------------------------------------------------
	スマホ　サブページ
------------------------------------------------------------*/
/*------------------------------------------------------------
SP版　(レスポンシブ　PC版は上記)
サブページタイトル画像背景 （テキストor画像）　
------------------------------------------------------------*/
    

.bg_image_access {
  background: url("../img/bg/subpage_title_bg_01.jpg") center;
  background-size: cover;
  width: 100%;
    /* 表示画像の高さ ÷ 表示画像の幅 × 100 */
    /* 例:幅800px高さ310pxの画像の場合 */
    padding-top: 20%;
  position: relative;
  margin: 58px auto 0;
  top: 0;
  left: 0;
}


.mm {
display: none;
}


/*------------------------------------------------------------
	スマホ　共通タイトル
------------------------------------------------------------*/
.toppage_title_box{
  margin: 0px auto 10px auto;            /* サンプル用 中央寄せ  */
  box-sizing    : border-box;           /* 罫線も含む長さ       */
  width         : 100%;                 /* BOXの幅              */
  padding       : 50px 12px 20px;                 /* 文字の位置合わせ     */
  text-align    : left;               /* 文字位置             */
  height        : 100%; 
}
    
.toppage_title_box_center{
  margin: 0px auto 10px auto;            /* サンプル用 中央寄せ  */
  box-sizing    : border-box;           /* 罫線も含む長さ       */
  width         : 100%;                 /* BOXの幅              */
  padding       : 12px 12px 20px;                 /* 文字の位置合わせ     */
  text-align    : center;               /* 文字位置             */
  height        : 100%; 
}
    


.subpage_content_txt {
    font-size: 4.6vw;
    font-weight: bold;
    text-align: center;
    margin: 0px;
    padding: 10px;
    
}

.subpage_content_txt_02 { 
    width: 88%;
    padding: 0 0 10px 0;
    margin: 20px auto 10px auto;
    text-align: left;
    font-size: 5vw;
    font-weight: bold;
    background: url("../img/icon/dot_line_01.png") repeat-x 0 bottom;
    background-size: auto auto;
}


.subpage_content_txt_03{
    width: 88%;
    font-size: 3.5vw;
    color: #444;
    text-align: justify;
    margin: 0px auto;
    padding: 0px 10px 10px 10px;
    line-height: 1.4;
}


.subpage_content_txt_04 {
    width: 88%;
    font-size: 4vw;
    font-weight: bold;
    text-align: justify;
    margin: 0px auto;
    padding: 10px;
    
}
    
.subpage_main_title {
    padding: 5px 0px 5px 15px;
    background: -webkit-repeating-linear-gradient(-45deg, #f6f6f6, #f6f6f6 3px,#f6f6f6 3px, #ffffff 7px);
    background: repeating-linear-gradient(-45deg, #f6f6f6, #f6f6f6 3px,#ffffff 3px, #ffffff 7px);
    border-left: solid 5px #000000;
    border-bottom: solid 0px #d7d7d7;
    width: 90%;
    font-size: 130%;
    margin: 10px auto 0px 10px;
    text-shadow: 0 0 5px white;
    font-weight: bold;
}


.main_title{
    display: inline-block;
    color: #fff;
    font-size: 6vw;
    font-weight: bold;
    text-align: center;
    padding: 2px;
    margin: 50px auto 0px auto;
    border-bottom: 3px solid #fff;
    line-height: 1.5em;
    
}
    

.main_title_02 {
    display: inline-block;
    margin: 0px auto 10px auto;
    border-bottom: 3px solid #444;
    font-size: 32px;
    line-height: 1.5em;
    color: #444;
    text-align: center;
}


.main_title_03 img{
    width: 100%;
}
    

.main_title_04 img{
    width: 100%;
}
    
    
.parts_maintitle {
    padding: 0 0 0 5px;
}    
    
.parts_maintitle img{
    width: 100%;
}




.main_title .fa {
    color: #fff;
}



.main_box_text {
  font-size: 3vw;
  margin-top: 1px;
  text-align: center;
}






.sub_box_maintitle {
  padding: 5px 10px 5px 5px;
  font-size: 16rem;
  font-weight: bold;
  border-top: 2px dotted #2f1913;
  border-bottom: 2px dotted #2f1913;
  margin-bottom: 2px;
}

.sub_box_maintitle_02 {
    width: 90%;
  padding: 5px 10px 5px 10px;
  font-size: 6vw;
  font-weight: bold;
  border-top: 0px dotted #000000;
  border-bottom: 2px dotted #000000;
  margin: 0 auto 2px auto;
    color: #000000;
}

.sub_box_maintitle_02 .fa{
    color: #000000;
}




.sp_subpage_txt_box_title { 
    width: 92%;
    padding: 0 0 10px 0;
    margin: 20px auto 10px auto;
    text-align: left;
    font-size: 5vw;
    font-weight: bold;
    background: url("../img/icon/dot_line_01.png") repeat-x 0 bottom;
    background-size: auto auto;
}

.sp_subpage_txt_box_title_02 {
    width: 90%;
    color: #444;
    background: #f4f4f4;
    line-height: 100%;
    margin: 10px auto 0px auto;
    padding: 0.6em 0.5em;
    font-size: 5vw;
    border-left: 5px solid #000000;
    border-bottom: solid 3px #d7d7d7;
    }

.sp_subpage_txt_box_title_03 {
  padding: .25em 0 .25em .15em;
  border-bottom: 5px solid #000000;
　margin: 20px 0 10px 10px;
  font-size: 100%;
}


.sp_subpage_txt_box .fa{
    margin: 0px 4px 0px 0px;
    font-size: 100%;
}



.sub_title01{
	background:#f4f4f4;
	color:#2f1913;
	padding:4px 0 3px 10px;
	margin:0 0 3% 0;
	font-size:1.0em;
    margin-top: 5px;
}

.sub_title02{
	background:#f4f4f4;
	color:#2f1913;
	padding:4px 0 3px 10px;
	margin:0 0 3% 0;
	font-size:1.0em;
    margin-top: 5px;
}
.sub_title02 a {
    text-decoration: underline;
    font-size: 120%;
}


/*------------------------------------------------------------
	スマホ　サブページコンテンツボックス
------------------------------------------------------------*/


.sub_box_content:after {
  content: "";
  display: block;
  clear: both;
}

.sub_box_content li {
  float: left;
  margin-bottom: 15px;
  line-height: 1.4;
}

.sub_box_content li .sub_box_img {
  width: 95%;
    margin-left: 5px;
}

.sub_box_content li .sub_box_img02 {
  width: 98%;
    margin-left: 5px;
}

.sub_box_content li .sub_box_img_border {
  width: 95%;
    margin-left: 5px;
    border: 1px solid #ccc;
}

.image_txt {
    text-align: center;
    margin: 0px;
    padding: 0px;
    font-size: 100%;
}


.sub_box_content li .sub_box_text {
  font-size: 12rem;
  margin-top: 2px;
  text-align: center;
}

.sub_box_content li:nth-child(odd) {
  padding: 2% 2% 0 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 51%;
}

.sub_box_content li:nth-child(even) {
  padding: 2% 0 0 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 49%;
}


.sub_box_content02 li {
  border-bottom: 1px solid #d1c7b1;
  line-height: 1.4;
}

.sub_box_content02 li a {
  width: 100%;
  padding: 10px 30px 10px 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: relative;
}

.sub_box_content02 li a:after {
  content: "";
  display: block;
  clear: both;
}

.sub_box_content02 li a :after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  border-top: 5px solid #422b26;
  border-right: 5px solid #422b26;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -7px;
}

.sub_box_content02 li a img.sub_box_content02_img {
  float: left;
  width: 30%;
  margin-right: 10px;
}

.sub_box_content02 li a dl.sub_box_content02_text {
  text-align: left;
}

.sub_box_content02 li a dl.sub_box_content02_text dt {
  font-size: 18rem;
  font-weight: bold;
}

.sub_box_content02 li a dl.sub_box_content02_text dd {
  margin-top: 10px;
  font-size: 12rem;
}

.sub_box_content li.sub_box_content03 {
  width: 100%;
  padding: 1% 0 0 0;
  position: relative;
}
    



/*=====================================================
	スマホ　個別ページ　レスポンシブ
=====================================================*/
#sub_main_box{
	width: 100%;
    margin: 20px 0px 0px 0px;
    border: none;

}
#sub_main_box_3col{
	width: 100%;
    margin: 20px 0px 0px 0px;
    border: none;

}
    
.pc_content_box750 {
    width: 95%;
}
.pc_content_box1100 {
    width: 95%;
    margin: 10px 0px 0px 10px;
}

.pc_content_box750 h2, 
.pc_content_box1100 h2,
.pc_content_box750 h3,
.pc_content_box1100 h3 {
    font-size: 110%;
    font-weight: bold;
}
    
.service_image_box{
    width: 92%;

}

.service_image_sub {
    width: 95%;
    margin: 20px 0px;
        max-width: 480px;

}
    
.service_image_sub img {
    width:100%;

}


/*------------------------------------------------------------
　スマホ　サブページテーブル表示　
------------------------------------------------------------*/

.tbl-box {
    width: 95%;
}
.tbl-box th {
    width: 30%;
}
    
  

/*------------------------------------------------------------
　スマホ　グーグルマップ表示　
------------------------------------------------------------*/
  /* アクセスマップ  トップページ   */
    
#access_map_toppage {
    margin: 0px auto 50px auto;
}    


#access_map_toppage iframe {
    width: 88%;
    margin: 0 5% 0 5%;
    height: 360px;
}  
    
  /* アクセスマップ  サブページ   */
    
#access_map_subpage {
    margin: 0px auto 50px auto;
}    


#access_map_subpage iframe {
    width: 88%;
    margin: 0 5% 0 5%;
    height: 360px;
}  
    


    
/*=====================================================
	スマホ　お問い合わせ　電話/FAX　レスポンシブ
=====================================================*/

p.contact_txt a{
  font-size: 100%;
  color: #444;
  text-decoration: underline;
}


/*------------------------------------------------------------
　スマホ	サイトマップ
------------------------------------------------------------*/

.sitemap_all_box {
    float: left;
    width: 92%;
    margin: 10px auto 20px 20px;
}

.sitemap_con_box{
    float: left;
    width: 90%;
    height: auto;
    margin: 20px 0px 20px 0px;
}



/*------------------------------------------------------------
	スマホ　横並びリンクボックス
------------------------------------------------------------*/
.p-useful {
    border: 1px solid #b6b6b6;
    text-align: center;
    width: 95%;
    margin: auto;
}


.p-useful_item:nth-child(3n+2) {
    border-right: 1px solid #b6b6b6;
    border-left: 1px solid #b6b6b6;
}


.p-useful_item {
    float: left;
    width: 33.33333%;
    border-top: 0px solid #b6b6b6;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.p-useful_item img {
    float: left;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


/*------------------------------------------------------------
	スマホ　お問い合わせボックス
------------------------------------------------------------*/


.sp_subpage_otoiawase_tel_box{
    width: 95%;
    height: auto;
    margin: 0px auto;
    padding: 0px 0 10px 0;
    border-radius : 1px;
    background: rgba(194, 194, 194, 0.2);
    text-align: center;
}

.sp_subpage_otoiawase_sub_title {
  background: #000000;
  margin: 0px;
  padding: 26px;
  color: #fff;/*文字色*/
  font-size: 6vw;
  font-weight: 600;
  text-align: center;
}

.sp_subpage_otoiawase_sub_title .fa {
  color: #fff;  
}
    
p.sp_otoiawase_txt_sub {
    margin: 20px 5px 0px 5px;
    font-size: 4vw;
}

p.sp_otoiawase_txt_sub_02 a{
    margin: 20px 5px 0px 5px;
      color: #000000; 
      font-weight: 600;
    font-size: 4.5vw;
    text-align: center;
}
    


/*=====================================================
	テキストリンク設定
=====================================================*/
/*=====================================================
	インフォメーションリンク設定
=====================================================*/

.content_box .textlink_box {
  width: 100%;
  margin: 10px auto 0;
  border-top: 0px solid #fff;
  border-bottom: 1px solid #fff;
}

.content_box .textlink_box .textlink_box_title {
  padding: 5px 10px 5px 10px;
  font-size: 5vw;
  font-weight: bold;
  border-bottom: 2px solid #000;
      color: #000;
}
    
.textlink_box_title .fa {
    color: #000;
    }
    



.content_box .textlink_box .textlink_box_menu:after {
  content: "";
  display: block;
  clear: both;

}

.content_box .textlink_box .textlink_box_menu li {
  float: left;
  width: 50%;
  border-bottom: 1px solid #fff;
  padding: 5px 0 5px 5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 2.2;
    background: #000000;
}

.content_box .textlink_box .textlink_box_menu li a {
  display: block;
  padding: 8px 0 8px 25px;
    z-index: 3;
}
    
.content_box .textlink_box .textlink_box_menu li .fas {
      color: #fff;
    }

.content_box .textlink_box .textlink_box_menu li:nth-child(odd) a {
  border-right: 1px dotted #fff;
}


.content_box .textlink_box .textlink_box_title {
  -webkit-background-size: 22px 22px;
  background-size: 22px 22px;
}


.content_box .textlink_box.information .textlink_box_title {
  -webkit-background-size: 22px 22px;
  background-size: 22px 22px;
}

.content_box .textlink_box.information .textlink_box_menu {
  background-color: #fff;
}


.content_box .textlink_box.information .textlink_box_menu a {
  color: #fff;
  position: relative;
  font-size: 3.2vw;
}

.content_box .textlink_box.information .textlink_box_menu a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 5px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
 border-left: solid 0px #000; 
border-bottom: solid 0px #000;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
    

    
/*=====================================================
	コピーライト設定
=====================================================*/

.content_box .copyLight {
  margin: 30px 0 30px 0;
  text-align: center;
}

.content_box .copyLight p {
  font-size: 11rem;
        color:#000;
}

.content_box .copyLight p:not(:last-child) {
  margin-bottom: 0px;
} 



/*=====================================================
	ボトム固定メニュー
=====================================================*/


.mini-text{
    font-size:14px;
    color:#fff;
    }
ul.bottom-menu i{
    font-size:30px;
    color:#fff;
    margin: 0 0 5px 0;
    }

ul.bottom-menu {
    position: fixed;
    left:0;
    bottom:0;
    width: 100%;
    height:60px;/*高さ*/
    margin:0;
    padding:0;
    background-color:#000000;/*背景色*/
    border-top:1px solid #fff;/*バーの上の線*/
    border-bottom:2px solid #000000;/*バーの下の線*/
    z-index:999999;
    }

ul.bottom-menu li {
    float:left;
    width:33%;
    background-color:#000000;
    list-style-type:none;
    text-align:center;
    border-right:1px solid #fff;
    }
ul.bottom-menu li.last {
    float:left;
    width:33%;
    background-color:#000000;
    list-style-type:none;
    text-align:center;
    border-right:0px solid #fff;
    }

.bottom-menu li a {
    display: block;
    color:#808080;/*アイコン＆文字の色*/
    padding-top:10px;
    padding-bottom:5px;
    line-height:10px;
    text-decoration:none;
    }

.bottom-menu li a:hover {
    color:#a9a9a9;/*マウスオーバー時の色*/
    }

/* === 展開メニュー === */

ul.menu-second-level {
    visibility: hidden;
    opacity: 0;
    z-index:1;}

ul.menu-second-level li a{
    border-top:1px dashed #a9a9a9;/*展開の枠点線*/
        font-size:15px;/*展開メニューの文字サイズ*/
        line-height:30px;/*文字の縦幅*/}

.menu-second-level li a:hover {
    height:100%;
    background: lightgrey;/*マウスオーバーの色*/}

li.menu-width-max ul.menu-second-level {
    position: absolute;
    bottom: 47px;/*高さ*/
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding:0;}

li.menu-width-max:hover ul.menu-second-level {
    bottom: 47px;/*高さ*/
    visibility: visible;
    opacity: 1;}

li.menu-width-max ul.menu-second-level li {
    float: left;
    width: 100%;
    border: none;
}
    

/*=====================================================
	スマホ　ページトップ設定
=====================================================*/


.content_box .pagetop {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0.7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
}


.content_box .pagetop a {
  display: block;
  height: 45px;
  background-color: #000;
  border-top: 3px solid #E3DDD1;
  text-indent: -9999px;
  position: relative;
}

.content_box .pagetop a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 50%;
  width: 12px;
  height: 12px;
  margin-right: -5px;
  margin-top: -2.5px;
  border-top: solid 4px white;
  border-right: solid 4px white;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/*------------------------------------------------------------
	スマホ　アンダーライン
------------------------------------------------------------*/

hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em auto;
    padding:0;
    width: 85%;
}
    
hr.line_white_01 {
    display:block;
    height:1px;
    border:0;   
    border-top:2px solid #fff;
    margin:100px auto 30px auto;
    padding:0;
    width: 85%;
}
     
    
hr.sp_line_666 {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #666;
    margin:0px auto;
    padding:0;
    width: 85%;
}
    
hr.sp_subpage_666 {
    width: 96%;
    display:block;
    height:1px;
    border:0;   
    border-top:2px solid #666;
    margin: 20px auto;
}

hr.sp_subpage_0d5dd2 {
    width: 96%;
    display:block;
    height:1px;
    border:0;   
    border-top:2px solid #000000;
    margin: 20px auto;
}



/*------------------------------------------------------------
	スマホ版　スペースタグ ここから
------------------------------------------------------------*/
    
    
/*-- ＰＣ版と共有でいい？　とりあえず全削除  --*/
    
    
/*------------------------------------------------------------
	スマホ版　スペースタグ　ここまで
------------------------------------------------------------*/



/* -- スマホ用ヘッダー、パンクズリスト、フッターここまで -------------------------------------------------------------------------------- */

    
/*-- ↓スマホ版表示CSS↓  --*/
    .pc_area{
    display:none;
  }
    .sp_area{
    display:block;
  }
/*-- ↑スマホ版表示CSS↑  --*/
    
    

    .pc_br{
    display: none;
  }
    .sp_br {
        display: inline-block;
    }
    

}
/* 1120pixel end */

/*------------------------------------------------------------
	下記　メディアクエリ　設定
------------------------------------------------------------*/
/* お問い合わせ電話リンク表示or非表示 */
@media (min-width: 1120px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}


@media screen and (max-width: 991px) {
.ggmap iframe,
.ggmap object,
.ggmap embed {
height: 100%;
}
    
}


/* 360pixel start */
@media screen and ( max-width: 360px ) {
    
.normal .header_box_bar {
  padding: 10px 0px 15px 5px;
}
    
.normal .header_box_bar ul.header_box_menu {
    display: none;

}

    
}
