@charset "utf-8";
/* =======================================================================

##ホームメイト・リサーチ 共通基本CSS

memo: common.cssは使用しないこと
入っている物：
調整用css
最近投稿された口コミ・写真・動画のモーダル画面css
パンクズcss
header
footer
seo
広告
グローバルメニュー直下掲載バナー（汎用クラス）

========================================================================== */
/* 調整用ベーススタイル
========================================================================== */
body{
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.05em;
  min-width: 1024px;
  /*font-feature-settings : "pkna";文字詰め*/
  width: 100%;
}

html{
  font-size: 62.5%;/* 16px x 0.625 = 10px(=1rem) */
  min-width: 1024px;
}

/*--游ゴシックが不鮮明対策--*/
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic 600");
  font-weight: 600;
}

html,
body,
dl,
dt,
dd,
ul,
li,
figure{
  margin: 0;
  padding: 0;
}

body,
button,
input,
select,
textarea {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Sans", Meiryo, "メイリオ", YuGothic, "游ゴシック", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary,
div,
span,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
a,
img,
*:after,
*:before {
  box-sizing: border-box;
}

ol,
ul {
  list-style: none;
}

p,
li,
dl,
table {
  line-break: strict;
  word-break: break-strict;
  word-wrap: break-word;
}

img{
  border: 0;
  line-height: 1;
  vertical-align: bottom;
}

img:not([data-original]) {
  height: auto;
}

.btn_area_info img {
  height: 100%;
}

.box_fa_data img {
  max-height: 125px;
}

a {
  background: transparent;
  outline: 0 none;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

.lock {
  overflow: hidden;
}

/*=================================================
body
==================================================*/
body {
  background: url(/image_cmn/bg_wrapper.png) center repeat-y;
}

.mb0 {
  margin-bottom: 0!important;
}

.cf{
  clear: both;
}

/* ================================================
 header 無印～03はそれぞれ存在しています 02→20121115大宮さんが追加　03→SSL用
================================================ */
[id^="ttl_read"],
[id^="site_ttl"] {
  position: absolute;
}

#header {
  display:block;
  overflow:hidden;
  height:97px;
  margin:0;
  padding:0;
  background: url(/search/image/dtl/bg_header_sub.gif) no-repeat center 0;
}

#header [id^="ttl_area"] {
  background: url(/search/image/dtl/bg_ttl_area.gif) no-repeat 0 0;
}

#header p,
#header02 p,
#header03 p{	
  margin: 0;
}

#ttl_area,
#ttl_area3{
  position:relative;
  display:block;
  width:1000px;
  height:94px;
  margin:0 auto;
  padding:0;
  text-align:left;
  overflow: hidden;
}

#site_ttl_read {
  font-size: 1.2rem;
  right: 0;
  top: 18px;
}

#ttl_read,
#ttl_read3{
  position:absolute;
  top:19px;
  left:5px;
}

#site_ttl,
#site_ttl3{
  position:absolute;
  top:32px;
  text-align:left;
  overflow: hidden;
}

#ttl_area #site_ttl {
  top: 15px;
  left: 0px;
}

#fa_read {
  bottom: 14px;
  color: #d63969;
  font-size: 1.4rem;
  position: absolute;
  right: 120px;
}

#header_sub [id^="fa_read"] {
	font-size:12px;
	position:absolute;
	right:54px;
	top:37px;
}

#hm_logo,
#hm_logo3{
  position:absolute;
  top:58px;
  right:0;
  overflow: hidden;
}
 
#ttl_area img,
#ttl_area2 img,
#ttl_area3 img{
  display:block;
  margin: 0;
}

#fa_logo {
  position: absolute;
  bottom: 15px;
  right: 0px;
}

#header_sub [id^="fa_logo"] {
	overflow: hidden;
	position:absolute;
	right:0;
	top:54px;
}

/*20121115　大宮追加*/
#header2 {
  display:block;
  overflow:hidden;
  height:108px;
  margin: 0;
  padding:0;
  background: url("/image_cmn/head_bg_line2.gif") repeat-x 0 0;
}

#ttl_area2 {
  position:relative;
  display:block;
  width:1000px;
  height:108px;
  margin:0 auto;
  text-align:left;
  overflow: hidden;
}

#ttl_read2 {
  position:absolute;
  top:27px;
  left:5px;
}

#site_ttl2 {
  position:absolute;
  top:40px;
  text-align:left;
  overflow: hidden;
}

#hm_logo2 {
  position:absolute;
  top:68px;
  right:0;
  overflow: hidden;
}  

/* ================================================
 footer
================================================ */

#footer {
  display:block;
  clear: both;
  overflow:hidden;
  margin:0;
  padding:14px 0 ;
  background: url("/image_cmn/fot_bg_menu_box.gif") #fff repeat-x 0 bottom;
  border-top: 1px solid #b3c6e4;
  color: #666;
}
.foot_submenu {
  text-align:center;
}

.foot_submenu li {
  display:inline;
  float:none;
  font-size: 12px;
  padding: 1px 4px 1px 8px;
  border-left:1px solid #aaa;
}

.foot_submenu li:last-child {
  padding-right:8px;
  border-right:1px solid #aaa;
}

.foot_submenu li.li_end {
  padding-right:8px;
  border-right:1px solid #aaa;
}

.foot_submenu li.sub_last {
  padding:0px 0px 2px;
  background:none;
}

#manage {
  clear: both;
  margin: 10px auto 0;
  padding: 0px 0px 0;
  font-size: 12px;
  text-align: center;
}

#copyright {
  clear: both;
  margin: 10px auto;
  padding: 0px 0px 0 0px;
  font-size: 11px;
  text-align: center;
}  
  
#footer > dl > dt,
#footer > dl > dd {
  display: inline ;
}
  
#footer > dl {
	font-size: 12px;
  margin: 10px 0px;
  text-align: center;
}

html body .search-list-link{
  text-align: center;
  margin: 1em auto;
}
html body .search-list-link > a{
  color: #0000ff;
  font-size: 14px;
  position: relative;
  padding-left: 10px;
}
html body .search-list-link a:before{
  border-style: solid;
  border-width: 5px 0 5px 6px;
  border-color: transparent transparent transparent #00f;
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  top: .3em;
  left: 0;
}

/* ---------------------------------------
 footer manageのみ
---------------------------------------- */
#footer_sub {
  display:block;
  clear: both;
  overflow:hidden;
  margin:0;
  padding:20px 0 0 0;
  background: url("/image_cmn/fot_bg_menu_box.gif") repeat-x 0 bottom;
  border-top: 1px solid #b3c6e4;
  color: #666;
  min-height: 45px;
}
#footer_sub #manage {
  clear: both;
  margin: 10px auto 0;
  padding: 0px 0px 0;
  font-size: 12px;
  text-align: center;
}
  
/* ---------------------------------------
 footerのカラー部分
---------------------------------------- */
#line_box_footer {
  clear: both;
  width: auto;
  margin: 0 0 -15px 0;
}

#line_box_footer .color_g {
  width: 100%;
  height: 7px;
  background-color: #418250;
}
  
#line_box_footer .color_p {
  width: 100%;
  height: 20px;
  background-color:#cc5479;
  border-top: 3px solid #fff;
}


/* ================================================
 ぱんくず
================================================ */
#siteroute {
  display:block;
  overflow:hidden;
  width:970px;
  margin:0px auto;
  padding:9px 0px 5px;
  list-style:none;
  text-align:left;
  }
#siteroute li {
  float:left;
  margin: 0 5px 5px 0;
  padding:0;
}
#siteroute li > a {
  margin:0;
  font-size:16px;
  line-height:110%;
  cursor:pointer;
  }
#siteroute li > a:hover {
  color: #f00;
}
#siteroute li span {
  float:left;
  margin: 0;
  padding:1px 0px 0 12px;
  font-size:16px;
  background: url("/image_cmn/cmn_mrk_siteroute02.gif") no-repeat 0 center;
  }
#siteroute li:not([class]):last-child > a span,
#siteroute li .last_crumbs {
  padding-top:0;
  font-size:16px;
  line-height:110%;
  color:#000;
  cursor:default;
  background: url("/image_cmn/cmn_mrk_siteroute02.gif") no-repeat 0 center;
  }
	
/* ================================================
 広告枠
================================================ */ 
.ad_bnrbox {
  display: -webkit-flex;
  display: flex;
  margin: 60px auto;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: center;
  justify-content: center;
}

.ad_bnrbox03.col3,
.ad_bnrbox.col2,
.ad_bnrbox {
  margin: 23px auto 15px;
  padding: 23px 0 0;
  width: 650px;
  text-align: center;
  overflow: hidden;
}

.ad_bnrbox03.col3 {
  border-top: 4px solid #ffa5c9;
  margin: 40px auto 20px;
  padding-top: 40px;
  width: 850px;
}

.ad_box03,
.ad_box {
  margin: 0 auto 15px;
  max-height: 250px;
}

.useful_box + .ad_bnrbox.col2 {
  margin: 30px auto 15px;
}

/*---------------------------------
  自社広告バナー
---------------------------------*/
@media screen and (max-width: 767px) {
  .group_bnr + .ad_bg {
    display: none;
  }
  
  .group_bnr .camp_bnr_box li {
    font-size: 14px;
    line-height: 1.5;
    margin: 1em auto 0;
    width: 88%;
  }

  .group_bnr .group_bnr_box li {
    margin: 1em auto 0;
    max-width: 300px;
    width: 100%;
  }

  .group_bnr .group_bnr_box li:last-child {
    margin: 1em auto 2em;
  }
  
  .group_bnr .group_bnr_box img {
    height: auto;
    width: 100%;
  }
}
.ad_bnrbox_token {
  border: none;
  display: flex;
  justify-content: center;
  margin: 25px auto 25px;
  width: 814px;
  border-top: 2px solid #FFA5C9;
  padding: 44px 0 80px;
}
.ad_bnrbox_token .ad_box {
  width: 240px;
}
.ad_bnrbox_token .ad_box a {
  display: block;
  height: auto;
  width: 100%;
}
.ad_bnrbox_token .ad_box img {
  height: auto;
  width: 100%;
}
.ad_bnrbox_token .ad_box a:hover{
  opacity: .8;
}
.ad_bnrbox_token .ad_box a.how_to {
  left: 50%;
  margin: 24px auto;
  position: absolute;
  transform: translateX(-50%);
  text-align: center;
}
.ad_bnrbox_token .ad_box .how_to > img {
  max-width: 400px;
}
.ad_bnrbox03.col3 .ad_box03 .ad_box03_link,
.ad_bnrbox.col2 .ad_box .ad_box_link {
  display: block;
  height: 205px;
  width: 246px;
}

.ad_box03 .ad_box03_img,
.ad_box .ad_box_img {
  width: 100%;
}

.ad_bnrbox.col2 .ad_box .ad_box_link {
  display: block;
  height: 210px;
  width: 252px;
}

.ad_bnrbox.col2 img {
  width: 100%;
}

/*=================================================
seoテキスト
==================================================*/
.pr_txt {
  border: 3px solid #ffdbe9;
  box-sizing: border-box;
  color: #666;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin: 25px auto;
  padding: 20px 20px 16px;
  text-align: left;
  width: 850px;
}

/*=================================================
グローバルメニュー直下掲載バナー（汎用クラス）
==================================================*/
.mod_bnr_special {
  border-radius: 6px;
  margin: 28px auto 0px;
  text-align: center;
}
.mod_bnr_special + .mod_bnr_special {
  margin-top: 20px;
}
.mod_bnr_special ul {
  margin: 0 auto;
}
.mod_bnr_special li {
  margin-top: 10px;
}
.mod_bnr_special a {
  display:inline-block;
}
.mod_bnr_special a:hover {
  background-color: #fff;
}
.mod_bnr_special a:hover img {
  opacity: .8;
}
.mod_bnr_special li p {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 20px;
  margin: 8px auto 0;
}

/* bnr_advertise */
.mod_bnr_special.bnr_advertise ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.mod_bnr_special.bnr_advertise li {
  margin: 10px 10px 0;
  width: 450px;
}

.mod_bnr_special.bnr_advertise li:nth-child(-n+2) {
  margin-top: 0;
}

.mod_bnr_special.bnr_advertise li p {
  text-align: left;
}

/* ================================================
 最近の投稿　モーダル　共通　modal_content_latest
================================================ */
.modal_content_latest {
  background: #fff;
  box-sizing: border-box;
  line-height: 1;
  margin: 20px auto;
  position: absolute;
}

@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
  .modal_content_latest {
  top: 40px;
  }
}

.modal_content_latest a {
  color: #0051c2;
}

.modal_content_latest a:link,
.modal_content_latest a:visited {
  color: #0051c2;
}

.modal_content_latest a:hover {
  color: #ea2020;
}

.modal_content_latest .dtllink {
  border: none;
  display: block;
  height: 42px;
  position: absolute;
  right: 8px;
  top: -3px;
  width: 176px;
}

.modal_content_latest .dtllink:hover {
  opacity: 0.8;
}

.modal_content_latest .injustice {
  letter-spacing: 0;
  margin: 10px auto;
  padding: 0 15px;
  width: 490px;
}

.modal_content_latest .injustice p {
  display: inline-block;
  font-size: 12px;
  vertical-align: middle;
}

.modal_content_latest .injustice a {
  background: url("/search/image/dtl/mrk_alert01.gif") no-repeat 0 center;
  color: #0049c1;
  display: inline-block;
  font-size: 13px;
  margin-left: 10px;
  padding: 8px 0;
  text-indent: 13px;
  vertical-align: middle;
}

.modal_content_latest .injustice a:link,
.modal_content_latest .injustice a:visited {
  color: #0049c1;
}

.modal_content_latest .injustice a:hover {
  color: #ea2020;
}

.modal_content_latest .closebtn {
  margin: 10px auto 0;
  padding-bottom: 5px;
  width:90px;
}

.modal_content_latest .backbtn{
  margin: 0;
  padding: 0;
  text-align: center;
}

.modal_content_backbtn {
  padding-top: 5px;
  padding-bottom: 5px;
}

.modal_content_latest .backbtn img {
  cursor: pointer;
}

.modal_content_latest .backbtn img:hover {
  opacity: 0.8;
}

.modal_content_latest .clsbtn {
  background: url(/image/modal/close-btn.png) no-repeat left top/contain;
  top: -28px;
  right: -30px;
  width: 52px;
  height: 52px;
}

/* =====================================
 最近の投稿口コミ　モーダル　_review 
===================================== */
.modal_content_latest._review {
  border: 3px solid #e0628f;
  border-radius: 8px;
  margin: 0;
  padding: 27px 30px 10px;
  width: 700px;
}

.modal_content_latest._review dl {
  background: url("/pub_review/image/bg_review.png") repeat 0 0;
  -moz-box-shadow:0px 0px 6px 3px #d7d7d7;
  -webkit-box-shadow:0px 0px 6px 3px #d7d7d7;
  border-radius: 5px;
  box-shadow:0px 0px 6px 3px #d7d7d7;
  margin: 0 0 10px 0;
  width: 635px;
}

.modal_content_latest._review dt {
  background: #ff4488;
  border-radius: 5px 5px 0 0;
  color: #fff;
  font-size: 18px;
  padding: 10px 25px;
}

.modal_content_latest._review dt .area_name {
  display: block;
  font-size: 15px;
  letter-spacing: 1px;
  margin-top: 8px;
}

.modal_content_latest._review dd {
  margin: 0 auto;
  padding: 17px 17px 12px;
  text-align: left;
}

.modal_content_latest._review .review_ttl {
  font-size: 18px;
  font-weight: 600;
  padding-left: 50px;
  position: relative;
  text-align: left;
}

.modal_content_latest._review .review_ttl::before {
  background: url("/image/top2/icon_review.png") no-repeat 0 0;
  content: "";
  height: 24px;
  left: 0;
  position: absolute;
  top: -3px;
  width: 40px;
}

.modal_content_latest._review .review_ttl a {
  position: relative;
}

.modal_content_latest._review .detail {
  font-size: 15px;
  line-height: 1.5;
  padding: 20px 2px 15px;
}

.modal_content_latest._review .dtl_info {
  border-top: 2px solid #fbe4e9;
  font-size: 14px;
  overflow: hidden;
  padding-top: 12px;
}

.modal_content_latest._review .dtl_info dl {
  box-shadow: none;
  float: left;
  width: auto;
}

.modal_content_latest._review .dtl_info .data.user {
  float: right;
}

.modal_content_latest._review .dtl_info dt {
  background: none;
  color: #333;
  display: inline-block;
  font-size: 14px;
  padding: 0;
}

.modal_content_latest._review .dtl_info dd {
  display: inline-block ;
  margin: 0;
  padding: 0;
  width: auto;
}

.modal_content_latest._review .dtl_info .injustice {
  clear: both;
  margin: 20px 0 20px 5px;
  padding: 0;
  position: relative;
  width: auto;
}

.modal_content_latest._review .injustice p {
  display: block;
}

.modal_content_latest._review .dtl_info .injustice a {
  display: inline-block;
  margin: 5px 0 0;
  padding: 0;
}

.modal_content_latest._review .dtl_info .injustice .dtllink {
  background: none;
  right: 1px;
  text-indent: 0;
  top: -8px;
}

.modal_content_latest._review .dtl_info .post_list ul {
  align-content: space-between;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 590px;
}

.modal_content_latest._review .dtl_info .post_list li {
  border: 1px solid #e08b9e;
  box-sizing: border-box; 
  height: 140px;
  width: 140px;
}

.modal_content_latest._review .dtl_info .post_list li:nth-child(n + 5) {
  margin-top: 10px;
}

.modal_content_latest._review .dtl_info .post_list .empty {
  background: #fff;
  position: relative;
}

.modal_content_latest._review .dtl_info .post_list .empty img {
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top:0;
}

.modal_content_latest._review .dtl_info .post_list p {
  padding-left: 5px;
  padding-top: 10px;
}

/*-- 星表示 --*/
.modal_content_latest._review .review_ttl::after {
  background: url("/pub_review/image/img_review_star.png") no-repeat center;
  background-size: 135px auto;
  content: "";
  display: inline-block;
  height: 30px;
  position: absolute;
  right: 0;
  top: -7px;
  vertical-align: middle;
  width: 135px;
}

.modal_content_latest._review .review_ttl.star_1::after {
  background-position: 0 -124px;
}

.modal_content_latest._review .review_ttl.star_2::after {
  background-position: 0 -93px;
}

.modal_content_latest._review .review_ttl.star_3::after {
  background-position: 0 -62px;
}

.modal_content_latest._review .review_ttl.star_4::after {
  background-position: 0 -31px;
}

.modal_content_latest._review .review_ttl.star_5::after {
  background-position: 0 0;
}

/* ==============================
 最近の投稿写真　_photo
 最近の投稿写真　_movie　モーダル
============================== */
.modal_content_latest._photo,
.modal_content_latest._movie {
  border-radius: 5px;
  padding: 10px 7px;
  text-align: center;
  width: 660px;
}

.modal_content_latest._photo .area_data,
.modal_content_latest._movie .area_data {
  color: #333;
  margin: 0 auto;
  position: relative;
}

.modal_content_latest._photo .data,
.modal_content_latest._movie .data {
  line-height: 1.4;
  padding: 0 10px;
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  justify-content: space-between;
  margin: 9px 0 0;
  text-align: left;
}

.modal_content_latest._photo .data dt,
.modal_content_latest._movie .data dt {
  color: #1f8478;
  display: inline-block;
  font-weight: 600;
  letter-spacing: 0;
  padding-left: 15px;
  width: 120px;
}

.modal_content_latest._photo .data dd,
.modal_content_latest._movie .data dd {
  padding: 0 20px;
  word-wrap:break-word;
  width: 495px;
}

.modal_content_latest._photo .data.area,
.modal_content_latest._movie .data.area {
  font-weight: 600;
  margin-left: 10px;
  margin-right: 10px;
  padding: 6px 0 7px;
}

.modal_content_latest._photo .data.ttl,
.modal_content_latest._photo .data.name,
.modal_content_latest._movie .data.ttl,
.modal_content_latest._movie .data.name {
  margin-left: 10px;
  margin-right: 10px;
  padding: 3px 0;
}

.modal_content_latest._photo .data.name,
.modal_content_latest._movie .data.name {
  font-weight: 600;
}

.modal_content_latest._photo .data.user,
.modal_content_latest._movie .data.user {
  border-bottom: 1px solid #c3dfda;
  padding-bottom: 7px;
}

.modal_content_latest .data.user .post_user_name {
  font-weight: 600;
}

/*--- 写真モーダル ---*/
.modal_content_latest._photo {
  border: 3px solid #127ed2;
}

.modal_content_latest._photo .photo img {
  max-height: 392px;
  max-width: 522px;
  vertical-align: top;
}

.modal_content_latest._photo .data.area,
.modal_content_latest._photo .data.name,
.modal_content_latest._photo .injustice {
  background: #e7f5fb;
}

/*--- 動画モーダル ---*/
.modal_content_latest._movie {
  border: 3px solid #4ca709;
}

.modal_content_latest._movie  .imglqd{
  display: block;
  height: 310px;
  margin: 0 auto;
  width: 525px;
}

.modal_content_latest._movie #pub {
  line-height: 0;
}

.modal_content_latest._movie #pub a {
  display: inline-block;
  height: 310px;
  overflow: hidden;
  position: relative;
  width: 525px;
}

.modal_content_latest._movie #pub a img {
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: -51px;
}

.modal_content_latest._movie #pub a:hover {
  opacity: 0.8;
}

.modal_content_latest._movie #pub a:hover:after {
  background: url("/image/top2/btn_play_ov.png") no-repeat 0 0;
  background-size: cover;
}

.modal_content_latest._movie #pub a::after {
  background: url("/image/top2/btn_play.png") no-repeat center;
  background-size: cover;
  content: "";
  height: 75px;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  top: 40%;
  width: 75px;
}

.modal_content_latest._movie .data.area,
.modal_content_latest._movie .data.name,
.modal_content_latest._movie .injustice {
  background: #ebf9e4;
}

/* ---------------------------------------
 ピカ写メシリーズバナー 
---------------------------------------- */
/*リード*/
.read_pikaapp {
  font-size: 17px;
  line-height: 1.5;
  margin: 25px auto 0;
  text-align: center;
}

.box_pikaapp_banner{
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  margin: 15px auto 0;
  width: 640px;
}

.box_pikaapp_banner .box_bnr{
  width: 315px;
}

.box_pikaapp_banner a{
  display: block;
}

.box_pikaapp_banner a:hover img{
  opacity: .8;
}

.box_pikaapp_banner .box_bnr img{
  height: auto;
  text-align: center;
  width: 100%;
}

/* 共通*/
.mod_officialapp {
  margin: 20px auto 0 !important;
  position: relative;
  width: 640px !important;
}

.mod_officialapp:nth-last-of-type(1) {
  padding-top: 25px;
}

.mod_officialapp .lst {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-content: center;
  position: relative;
}

.mod_officialapp .lnk2 {
  background: #fff;
  border: 1px solid #003987 !important;
  box-sizing: border-box;
  padding: 0 0 55px;
  position: relative;
  width: 206px !important;
}

.mod_officialapp .lnk2 a{
  height: auto !important;
}

.mod_officialapp:nth-last-of-type(1) .lnk2 {
  border: 1px solid #90582e;
  padding: 0 0 10px;
}

.mod_officialapp .l_ttl {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 20px;
  margin: 8px 10px 0;
  text-align: left;
}

.official_app_box a .l_ttl{
  color: #003987;
}

.official_app_box a:hover .l_ttl{
  color: #ea2020;
}

.mod_officialapp .cap {
  color: #000 !important;
  font-feature-settings: "palt";
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 1.5 !important;
  text-align: left;
  margin: 5px 8px 0 !important;
}

.mod_officialapp .l_ttl a {
  display: block;
  height: 100%;
  width: 100%;
}

.mod_officialapp .l_ttl a:link,
.mod_officialapp .l_ttl a:visited {
  color: #003987;
}

.mod_officialapp .l_ttl a:hover {
  color: #ea2020;
}

.mod_officialapp .btn {
  background: #dd1d6a;
  border: none;
  border-radius: 50px;
  bottom: 15px;
  box-shadow: 0 2px 0 #c31553, 0 3px 3px rgba(0,0,0,.5);
  font-size: 13px;
  left: 0;
  letter-spacing: .1em;
  line-height: 30px;
  margin: auto;
  position: absolute;
  right: 0;
  text-align: center;
  text-indent: -.25em;
  width: 90%;
}

.mod_officialapp .btn::before{
  background: #fff;
  border-radius: 50%;
  bottom: 0;
  box-shadow: inset 1px 1px 0 rgba(0,0,0,.8);
  content: "";
  display: block;
  height: 18px;
  margin: auto 0;
  position: absolute;
  right: 3%;
  top: 0;
  width: 18px;
}

.mod_officialapp .btn::after{
  border-style: solid;
  border-width: 3px 0 3px 5px;
  border-color: transparent transparent transparent #dd1d6a;
  bottom: 0;
  content: "";
  height: 0;
  margin: auto 0;
  position: absolute;
  right: 6%;
  top: 0;
  width: 0;
}

.mod_officialapp .btn:hover {
  background: #ee5391;
}

.mod_officialapp .btn a {
  border-radius: 50px;
  color: #fff;
  display: inline-block;
}

.mod_officialapp .frame {
  display: block;
  height: 130px;
  position: relative;
  width: 100%;
  overflow: hidden;
}

.mod_officialapp:nth-last-of-type(1) .frame {
  height: 110px;
}

.mod_officialapp .frame img {
  height: auto;
  width: 100%;
}

.mod_officialapp .lnk2 a:hover .frame img {
  opacity: 0.8;
}

/* 分岐線 */
.mod_officialapp:nth-last-of-type(1)::before {
  border-top: solid 1px #333;
  content: "";
  height: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 640px;
}
@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) {
  .box_pikaapp_banner a:hover img,
  .mod_officialapp_pika .lnk2 .frame .btn a:hover,
  .mod_officialapp_pika .lnk2 .app_dtl li a:hover,
  .mod_officialapp .lnk2 a:hover .frame img,
  .mod_officialapp .lnk.is_gr a:hover img {
    opacity: 1;
  }
}

/* ----------------------------------------------------------
 ポータルサイト説明のサイドバナー設置
---------------------------------------------------------- */

.js-modal_content.mod_category {
  display: none;
  width: 920px;
  border: 3px solid #007ccb;
  border-radius: 5px;
  background: #f8f7ea;
  overflow: hidden;
  margin-bottom: 20px;
  position: absolute;
}

.mod_category.js-modal_content.bnr_portalsite_box {
  border: none;
  border-radius: 10px;
  left: 50% !important;
  right: auto;
  top: 50% !important;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  width: 1000px;
}

.box_inner {
  position: relative;
}

.mod_category.bnr_portalsite_box .btn_box {
  bottom: 0;
  left: 0;
  margin: 15px auto 31px;
  position: absolute;
  right: 0;
}

/* 閉じる */
.mod_category .btn_box {
  margin: 10px auto 20px;
  text-align: center;
}

.mod_category .btn {
  position: relative;
  width: 210px;
  height: 45px;
  overflow: hidden;
  display: inline-block;
  vertical-align: top;
}

.mod_category .btn img {
  left: 0;
  max-width: 422px;
  position: absolute;
  width: 422px;
}

.mod_category .btn:hover img {
  left: auto;
  right: 0;
}

.mod_category .btn.close img {
  bottom: 0;
}

/* Bootstrap用上書き記述 */

.mod_category .btn.close {
  color: #000;
  filter: alpha(opacity=1);
  float: none;
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  opacity: 1;
  text-shadow: none;
}

/* ---------------------------------------
 医療機関の投稿に関する注意事項 改定後の長文対応  #14313
---------------------------------------- */
.att_about_post_medical{
  background: #fff;
  border: 1px solid #ccb284;
  border-radius: 10px;
  box-sizing: border-box;
  display: flex;
  font-size: 13px;
  letter-spacing: .05em;
  margin: 10px auto 0;
  max-width:100%;
  text-align: left;
  padding: 0;
  width: 780px;
}
.att_about_post_medical + .newest_list {
  margin-top: 20px;
}
.att_about_post_medical .ttl_box {
  align-items: center;
  border-right: 1px solid #ccb284;
  box-sizing: border-box;
  color: #32b9b9;
  display: flex;
  font-weight: 600;
  margin: 5px 0 5px 10px;
  vertical-align: middle;
}
.ttl_att {
  background: url("/search/image_cmn/ico_attention.png") no-repeat 0 center;
  background-size: 20px 20px;
  box-sizing: border-box;
  display: block;
  padding: 5px 0 5px 28px;
  width: 230px;
}
.txt_tglbox {
  font-feature-settings: 'palt' 1;
  -webkit-font-feature-settings: 'palt' 1;
  letter-spacing: 0.05em;
  line-height: 1.4;
  padding: 10px 10px 20px;
  position: relative;
}
.att_about_post_medical.def .txt_tglbox {
  padding-bottom: 10px;
}
.btn_txt_more {
  bottom: 5px;
  color: #32b9b9;
  cursor: pointer;
  font-size: 12px;
  margin: auto;
  padding: 0 0 0 0.8em;
  position: absolute;
  right: 5px;
  text-align: center;
  transition: .2s ease;
  width: 6.5em;
  z-index: 2;
}
.btn_txt_more::after {
  content: "続きを読む";
}
.btn_txt_more:hover {
  opacity: 0.8;
}
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
  .btn_txt_more:hover {
    opacity: 1;
  }
}
.btn_txt_more .ico_arrow {
  border-top: 0.2em solid #32b9b9;
  border-right: 0.2em solid #32b9b9;
  height: 0.5em;
  left: 0;
  position:absolute;
  top: 0.2em;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  width: 0.5em;
}
.more_opn_trigger {
  display: none;
}

.more_opn_trigger:checked ~ .btn_txt_more::after {
  content: "閉じる";
}
.more_opn_trigger:checked ~ .btn_txt_more .ico_arrow {
  left: 1em;
  top: 0.4em;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.txt_tglbox .more_box {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}
.more_opn_trigger:checked ~ .more_box {
  padding: 0;
  height: auto;
  opacity: 1;
}

/*-- カラムページ用 ショートver --*/
.att_about_post_medical.short{
  flex-direction: column;
  margin: 20px auto;
  width: 600px;
}
.att_about_post_medical.short .ttl_box{
  border: none;
}
.att_about_post_medical.short .txt_tglbox{
  padding-top: 0;
}

/*-- margin調整 --*/
.att_about_post_medical + .recent_post_box {
  margin-top: 20px;
}

.nav_number_box02 + .att_about_post_medical {
  margin-top: 20px;
}

.nav_number_box02 + .att_about_post_medical + #list_box {
  margin-top: -15px;
}

.cf + .att_about_post_medical,
.con_box + .att_about_post_medical {
  margin: 0 30px;
}

.mod_post_fa_info + .att_about_post_medical,
.offer_ttl_arrow + .att_about_post_medical{
  margin: 0 30px 20px;
}

.att_about_post_medical + .facility_lst,
.att_about_post_medical + .search_50on {
  margin-top: 10px;
}

#sec_top_review .offer_ttl_arrow + .att_about_post_medical {
  margin: 0 80px 20px;
}

.mainttl + .att_about_post_medical,
.mod_head + .att_about_post_medical {
  margin: 20px auto;
}

.att_about_post_medical + .user_info.video #videos_box {
  margin-top: 5px;
}

/* HM通勤通学バナー配置 */
.bnr_hm_commuting {
  margin: 22px auto 0;
  text-align: center;
  width: 594px;
}

.bnr_hm_commuting .cap {
  font-size: 16px;
  line-height: 1.3;
  margin-top: 7px;
}

#rent_pr_search_wrap + .bnr_hm_commuting,
#modal_rent_pr_more + .bnr_hm_commuting {
  margin-top: 34px;
}

.bnr_hm_commuting.bnr_box {
  margin-top: 22px;
}

.bnr_hm_commuting.w600 {
  width: 600px;
}

.rank_box + .bnr_hm_commuting.studypeer_bnr {
  margin-top: 17px;
}

.bnr_hm_commuting + .mod_merit {
  margin-top: 27px;
}

/*キャンペーン・告知用BOX*/
.mod_infobox {
  margin: 30px auto 0;
  letter-spacing: 0.04em;
  text-align: center;
  width: 715px;
}
.ttl_infobox {
  background: #f75586;
  border: 2px solid #f75586;
  border-radius: 5px 5px 0 0;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  padding: 14px;
}
.info_data {
  border: 2px solid #f75586;
  border-top: none;
  border-radius: 0 0 5px 5px;
  font-size: 16px;
  padding: 20px 15px;
}
.info_data .lead {
  line-height: 1.5;
  margin: 0;
  text-align: left;
}
aside + #search_category {
  margin-top: 40px;
}
.btn_other_link a {
  color: #000;
  background: #fff;
  border: 1px solid #bca86a;
  border-radius: 5px;
  box-shadow: 0 -3px 0 0 #bca86a inset;
  display: inline-block;
  font-size: 17px;
  font-weight: 600;
  margin: 15px auto 0;
  padding: 12px 60px 15px 20px;
  position: relative;
}
.btn_other_link a:hover {
  background: #fdf4d9;
  color: #000;
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .btn_other_link a:hover {
    background: #fff;
  }
 }
.btn_other_link a:after {
  position: absolute;
  content: '';
  background: url("/image_cmn/ico-other-link.png") center center;
  background-size: 20px 20px;
  height: 20px;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 20px;
}
.other_link_lead{
  display: inline-block;
  font-size: 15px;
  margin: 15px auto 0;
}

/*bnr useful*/
.useful_bnr_area {
  margin: 2.5em auto;
  max-width: 814px;
  position: relative;
  text-align: center;
}

.useful_bnr_area ul {
  max-width: 563px;
  margin: 0 auto;
}

.useful_bnr_area p {
  font-size: 14px;
  line-height: 1.5;
  margin-top: .5em;
}

.gallery_customize .useful_bnr_area ul {
  font-size: 16px;
  max-width: 594px;
}

.useful_bnr_area img {
  width: 100%;
}

.useful_bnr_area li a {
  display: inline-block;
  font-size: 0;
  vertical-align: top;
}

.useful_bnr_area a:hover {
  opacity: .6;
}

@media screen and (max-width:767px) {
  .useful_bnr_area {
    border: none;
    font-size: 10px;
    margin: 2.5em 1.7em 2.5em;
    max-width: 100%;
    width: auto;
  }

  .useful_bnr_area:before {
    left: 0;
    margin: 0 auto;
    right: 0;
    width: 100%;
  }

  .useful_bnr_area p {
    font-size: 1.4em;
    text-align: left;
  }
  
  .sp_hide {
    display: none !important;
  }
}

@media screen and (min-width: 768px), print {
  .pc_hide {
    display: none !important;
  }
}

/* ---------------------------------------
 全国のホテル付ゴルフ場一覧などのバナーセット
---------------------------------------- */
.bnr_golftravel,
.bnr_golftravel * {
  box-sizing: border-box;
}

.bnr_golftravel {
  background: #f9f9e1;
  margin: 0 auto;
  padding-bottom: 1.5em;
}
.bnr_golftravel.column_2 {
  width: 625px;
}
.bnr_golftravel.column_3 {
  width: 880px;
}

.bnr_golftravel_icon {
  background: green;
  padding: .25em;
}
.bnr_golftravel_icon h3 {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 19px;
  font-weight: 700;
  justify-content: center;
  margin: 0;
  padding: 0;
}
.bnr_golftravel_icon h3 > .ttl {
  order: 1;
  margin-left: 18px;
  text-align: center;
}
.bnr_golftravel_icon .icon_golf {
  order: 2;
  margin-left: 18px;
}
.bnr_golftravel_icon .icon_onsen {
  order: 3;
  margin-left: 5px;
}
.bnr_golftravel_icon .icon_hotel {
  order: 4;
  margin-left: 5px;
}
.bnr_golftravel_icon .icon_golf_club { 
  margin-left: 4px;
}

.bnr_golftravel_lead {
  letter-spacing: normal;
  line-height: 1.5;
  margin: 1em auto;
}
.bnr_golftravel.column_2 .bnr_golftravel_lead {
  font-size: 15px;
  text-align: center;
  width: 90%;
}
.bnr_golftravel.column_3 .bnr_golftravel_lead {
  font-size: 17px;
  width: 780px;
}

.bnr_golftravel_boxarea {
  display: flex;
  margin: auto;
}
.bnr_golftravel.column_2 .bnr_golftravel_boxarea {
  flex-wrap: wrap;
  justify-content: center;
  width: 95%;
}
.bnr_golftravel.column_3 .bnr_golftravel_boxarea {
  width: fit-content;
}

.bnr_golftravel_box {
  position: relative;
}
.bnr_golftravel.column_2 .bnr_golftravel_box {
  width: 280px;
}
.bnr_golftravel.column_3 .bnr_golftravel_box {
  width: 260px;
}
.bnr_golftravel.column_2 .bnr_golftravel_box:not(:nth-child(2n + 1)),
.bnr_golftravel.column_3 .bnr_golftravel_box:not(:first-child) {
  margin-left: 1em;
}
.bnr_golftravel.column_2 .bnr_golftravel_box:not(:nth-child(-n + 2)) {
  margin-top: 1em;
}
.bnr_golftravel_box.green_box {
  border: 1px solid #00527b;
  background: #deecdc;
}
.bnr_golftravel_box.pink_box {
  border: 1px solid #ff0080;
  background: #fdf2f5;
}
.bnr_golftravel_box.orange_box {
  border: 1px solid #f37107;
  background: #fff1eb;
}
.bnr_golftravel_box.blank_box {
  align-items: center;
  display: flex;
  justify-content: center;
  opacity: .6;
}

.bnr_golftravel_box a:hover {
  opacity: .75;
}

.bnr_golftravel_box img {
  height: auto;
  width: 100%;
}
.bnr_golftravel_box .arrow {
  bottom: 0;
  height: 30px;
  position: absolute;
  right: 0;
  width: 30px;
}

.bnr_golftravel_box figcaption {
  color: #000;
  font-size: 14px;
  letter-spacing: normal;
  line-height: 1.2;
  margin: 8px auto;
}
.bnr_golftravel.column_2 .bnr_golftravel_box figcaption {
  width: 260px;
}
.bnr_golftravel.column_3 .bnr_golftravel_box figcaption {
  width: 240px;
}

/* ----------------------------------------------------------
 ページ下部 2-3つ並びバナー (footer: 2-3 banner) _ad_bnrbox
---------------------------------------------------------- */
#content .ad_bnrbox03,
.ad_bnrbox03.col3 {
  border-top: 4px solid #ffa5c9;
  margin: 40px auto 20px;
  overflow: hidden;
  padding: 40px 0 0;
  text-align: center;
  width: 850px;
}

#content .ad_bnrbox03 .ad_box03,
.ad_bnrbox03.col3 .ad_box03 {
  display: inline-block;
  padding: 0 8px;
  vertical-align: top;
}

#content .ad_bnrbox03 .ad_box03,
.ad_bnrbox03.col3 .ad_box03 {
  padding: 0 10px;
}

.ad_bnrbox03.col3 .ad_box03 .ad_box03_link {
  display: block;
  height: 205px;
  width: 246px;
}

.ad_box03 .ad_box03_img {
  width: 100%;
}

.ad_bnrbox03.col3 + .mo_box {
  margin-top: 25px;
}

.mod_sns_bnr {
  text-align: center;
  max-width: 280px;
}
.mod_sns_bnr .lst {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 15px 10px;
}
.mod_sns_bnr .lst li {
  height: auto;
  margin: 0;
  width: 100%;
}
.mod_sns_bnr .lst li.full {
  grid-column: span 2 / span 2;
}
.mod_sns_bnr .lst li:last-child {
  grid-column: span 2 / span 2;
}
.mod_sns_bnr .bnr a img {
  vertical-align: bottom;
}

/*******************
目次通し番号追加（静的：旧コード）
********************/
.link_list_num {
  counter-reset: section;
  font-feature-settings: "palt";
}
.link_list_num dt {
  counter-increment: section;
  counter-reset: subsection;
}
.link_list_num dt::before {
  content: counter(section) ". ";
  line-height: 1.3em;
  margin-right: 1em;
}
.link_list_num dd {
  counter-increment: subsection;
}
.link_list_num dd::before {
  content: counter(section) "-" counter(subsection) ". ";
  margin-right: 1em;
}

/*******************
目次通し番号追加（静的：新コード）
********************/
.link_list_heading {
  counter-reset: section;
  font-feature-settings: "palt";
}
.link_list_heading .link_list_sec {
  counter-increment: section;
  counter-reset: subsection;
}
.link_list_heading .link_list_sec::before {
  content: counter(section) ". ";
  line-height: 1.3em;
  margin-right: 1em;
  line-height: 1.7em;
}
.link_list_heading .link_item .link_item {
  counter-increment: subsection;
}
.link_list_heading .link_item .link_item::before {
  content: counter(section) "-" counter(subsection) ". ";
  margin-right: 1em;
  line-height: 1.7em;
}

/*******************
基礎知識通し番号追加（静的）
********************/
.acc_content_num {
  counter-reset: section;
  font-feature-settings: "palt";
}
.acc_content_num .ttl_sty02{
  counter-increment: section;
  counter-reset: subsection;
}
.acc_content_num .ttl_sty02::before{
  content: counter(section) ".";
  line-height: 1.5em;
}
.acc_content_num ul li .ttl_sty03{
  counter-increment: subsection;
}
.acc_content_num ul li .ttl_sty03::before{
  content: counter(section) "-" counter(subsection) ".";
}
.acc_content_num ul li ul{
  counter-reset: subsubsection;
}
.acc_content_num ul li ul li{
  counter-increment: subsubsection;
}
.acc_content_num ul li ul li::before{
  content: counter(section) "-" counter(subsection) "-" counter(subsubsection) ".";
}


/*******************
下部広告バナー
*******************/
.ad_bnrbox_normal{
  border-top: 2px solid #FFA5C9;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 37px auto 80px;
  padding: 28px 0px 0;
  width: 800px;
}

.ad_bnrbox_normal li{
  font-size: 0;
  margin: 0 13px;
  max-height: 240px;
  width: 240px;
}

.ad_bnrbox_normal li a:hover{
  opacity: .8;
}

.ad_bnrbox_normal li img{
  width: 100%;
}

.ad_bnrbox_normal li.ad_bnrbox_normal_list_wide{
  font-size: 0;
  margin: 0;
  max-height: none;
  width: 400px;
  flex: 0 0 100%;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}

.ad_bnrbox_normal li.ad_bnrbox_normal_list_wide a{
  width: 420px;
}
