@charset "utf-8";

/**
 *
 *  サイトマップ
 *
 */

/*--------------------------------------------------------------------------
   overwrite
---------------------------------------------------------------------------*/

#GlobalHeader{
  background:url(/shared/images/header_bg.png) repeat-x;
}
#GlobalHeader .logo {
  background:url(/shared/images/header_logo.png) no-repeat;
}
.pagetitle .location li{
  background:url(/shared/images/ico_location.png) no-repeat 0 .5em;
}
.content-frame{
  background:url(/shared/images/bg_content_rp.png) repeat-y;
}
.content-frame-outline{
	background:url(/contact/images/bg_content_tp.png) no-repeat;
}
.content-frame-inline{
  background:url(/shared/images/bg_content_bt.png) no-repeat 0 100%;
}
#GlobalFooter .pagetop p a{
  background:url(/shared/images/footer_btn_pagetop.png) no-repeat 0 0;
}
#GlobalFooter .fnavi{
  background:#F0F0F0 url(/shared/images/footer_bg_shadow01.png) repeat-x;
}
#GlobalFooter .fnavi-outline{
  background:url(/shared/images/footer_bg_shadow02.png) repeat-x 0 100%;
}
@media (max-width: 767px) {
#GlobalHeader .logo {
    background-size: auto 43px;
    }
    #GlobalFooter .pagetop p a {
        background: url(/shared/images/footer_btn_pagetop.png) no-repeat;
        background-position: center 7px;
    }
    #GlobalFooter .pagetop p a:hover {
        background-position: center -29px;
    }
    .content-frame {
        background: none;
    }
    .content-frame-outline {
        background: none;
    }
    .content-frame-inline {
        background: none;
    }
    .inner-base {
        padding: 35px 20px;
        box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.15);
        border-top: 4px solid #d7131d;
        box-sizing: border-box;
        margin: 0 15px;
    }
}
.con-idx-txt {
    margin: 90px 0 30px;
}
.con-idx-list {
    margin: 30px 0 0;
    padding: 0;
}
.con-idx-list li {
    display: flex;
    justify-content: flex-start;
}
.con-idx-list li + li {
    margin-top: 30px;
}
.con-idx-list li .con-idx-list-dot {
    display: block;
    width: 16px;
}
.con-idx-list li .con-idx-list-txt {
    display: block;
    width: calc(100% - 16px);
}
h1.con-idx-btn-area a,h1.con-idx-btn-area a:hover {
    text-decoration: none;
}
h1.con-idx-btn-area a:nth-child(2){
    margin-left: 15px;
}
@media (max-width: 767px) {
.con-idx-txt {
    margin: 0px 10px 30px;
    box-sizing: border-box;
}
h1.con-idx-btn-area {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap:20px 10px;
    box-sizing: border-box;
    padding: 0 10px;
}
h1.con-idx-btn-area a {
    display: block;
    width: calc(50% - 5px);
}
h1.con-idx-btn-area a:nth-child(2){
    margin-left: 0;
}
h1.con-idx-btn-area a img {
    display: block;
    width: 100%;
    height: auto;
}
}

/* ナビ
-----------------------------------------------------------------*/
#GlobalHeader .gnavi{
	overflow:hidden;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
}
#GlobalHeader .gnavi li{
	float:left;
	width:195px;
	height:57px;
}
#GlobalHeader .gnavi li a{
	display:block;
	width:100%;
	height:100%;
	text-indent:-999em;
}
#GlobalHeader .gnavi li.gnavi01,
#GlobalHeader .gnavi li.gnavi01 a{
	background:url(/contact/images/header_gnavi01.png) no-repeat 0 0;
}
#GlobalHeader .gnavi li.gnavi02,
#GlobalHeader .gnavi li.gnavi02 a{
	background:url(/contact/images/header_gnavi02.png) no-repeat 0 0;
}
#GlobalHeader .gnavi li.gnavi03,
#GlobalHeader .gnavi li.gnavi03 a{
	background:url(/contact/images/header_gnavi03.png) no-repeat 0 0;
}
#GlobalHeader .gnavi li.gnavi04,
#GlobalHeader .gnavi li.gnavi04 a{
	background:url(/contact/images/header_gnavi04.png) no-repeat 0 0;
}
#GlobalHeader .gnavi li.gnavi05,
#GlobalHeader .gnavi li.gnavi05 a{
	width:198px;
	background:url("/shared/images/header_gnavi05.png") no-repeat 0 0;
}
#GlobalHeader .gnavi li a:hover,
#GlobalHeader .gnavi li a.active{
	background-position:0 -57px;
}

@media (max-width: 767px) {
    
}

/*--------------------------------------------------------------------------
   common
---------------------------------------------------------------------------*/

/* pageimage　--- ページタイトル背景 ---
-----------------------------------------------------------------*/
#Content{
	background:url(/contact/images/ttl_page_bg.jpg) no-repeat 50% 0;
}
#ContentInline{
	background:url(/shared/images/header_bg_shadow.png) repeat-x;
}

@media (max-width: 767px) {
    #Side .snavi.no-bg h2 {
        display: none;
    }
    #Content{
        background:none;
        margin-top: 60px;
    }
    #ContentInline{
        background:none;
    }
    .pagetitle {
        width: 100%;
        height: 32vw;
        background: url("../../contact/images/ttl_page_bg-sp.jpg") no-repeat;
        background-size: cover;
        margin-bottom: 70px;
    }
    .pagetitle.con-idx-pagetitle {
        height: 38vw;
        background: url("../../contact/images/ttl_page_bg-sp.jpg") no-repeat center right;
        background-size: auto 100%;
    }
    .title {
        width: 80%;
        margin: auto;
        left: 0;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }
    .title img {
        display: block;
        width: 100%;
        height: auto;
    }
    .pagetitle h1 {
        width: 80%;
        margin: auto;
        left: 0;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }
    .pagetitle h1 img {
        display: block;
        width: auto;
        height: 24px;
    }
    .pagetitle .location {
        position: absolute;
        bottom: 0;
        left: 10px;
        transform: translateY(100%);
        padding: 15px 0 0;
        font-size: 14px;
    }
}

/*--------------------------------------------------------------------------
   contact
---------------------------------------------------------------------------*/

.note{
	margin:10px 0 0;
	color:#727272;
}
.tipped{
	color:#BBBBBB;
}

/* lead
-----------------------------------------------------------------*/
.form-lead{
	margin:0 0 30px;
}

/* flow
-----------------------------------------------------------------*/
.form-flow{
	overflow:hidden;
	margin:0 0 10px;
	border:1px solid #E8434C;
}
.form-flow li{
	position:relative;
	float:left;
	margin:0 0 0 -16px;
}
.form-flow li:first-child{
	margin:0;
}
.form-flow li.flow01{
	z-index:10;
}
.form-flow li.flow02{
	z-index:5;
}
.form-flow li.flow03{
	z-index:2;
}
@media (max-width: 767px) {
    .form-flow {border: 2px solid #E8434C;}
    .form-flow{
        padding: 13.33% 0 0 0;
        background: url("/contact/images/img-flow-sp-01.jpg") no-repeat 0 0;
        background-size: cover;
    }
    .form-flow.form-flow-sp-02{
        background: url("/contact/images/img-flow-sp-02.jpg") no-repeat 0 0;
        background-size: cover;
    }
    .form-flow.form-flow-sp-03{
        background: url("/contact/images/img-flow-sp-03.jpg") no-repeat 0 0;
        background-size: cover;
    }
    .form-flow li.flow01 img,
    .form-flow li.flow02 img,
    .form-flow li.flow03 img {
        display: none;
    }
}

/* form-error
-----------------------------------------------------------------*/
.form-error{
	margin:30px 0 0;
	padding:15px 20px;
	border:1px solid #E8434C;
	background:#FDE7E7;
	color:#D7131D;
	font-weight:bold;
}
.form-error p{
	margin:0 0 3px;
	padding:0 0 0 23px;
	background:url(/contact/images/ico_attention.png) no-repeat 0 .3em;
}
.inline-error{
	display:block;
	margin:0 0 5px;
	padding:0 0 0 23px;
	background:url(/contact/images/ico_attention.png) no-repeat 0 .2em;
	color:#D7131D;
}
@media (max-width: 767px) {
    
    
}
/* form-error
-----------------------------------------------------------------*/
p.form-stop{
	text-align: center;
	margin: 80px 0 0 0;
	color: #D7131D;
	font-size: 150%;
	font-weight: bold;
}

/* table
-----------------------------------------------------------------*/
.form-tbl{
	width:100%;
}
.form-tbl th,
.form-tbl td{
	border-bottom:1px solid #E3E3E3;
	text-align:left;
}
.form-tbl th{
	width:230px;
	padding:34px 0 24px 0;
	vertical-align:top;
	text-align:left;
}
.form-tbl.confirm th{
	padding:24px 0;
}
.form-tbl th .inline{
	position:relative;
	padding:0 75px 0 0;
}
.form-tbl th .ico{
	display:block;
	position:absolute;
	top:0;
	right:0;
}
.form-tbl th p.ico-require{
	background: url("/contact/images/ico_status01.png");
	width:      72px;
	height:     22px;
	position: absolute;
	top: 0;
	right: 0;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}
.form-tbl th p.ico-option{
	background: url("/contact/images/ico_status02.png");
	width:      72px;
	height:     22px;
	position: absolute;
	top: 0;
	right: 0;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}
.form-tbl td{
	padding:24px 0 24px 38px;
}
.form-tbl td .sp{
	margin:0 0 13px;
}
.form-tbl td .address{
	margin:0 0 0 25px;
}
.input-base{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	height:44px;
	padding:0 20px;
	border:1px solid #C8C7C5;
	background:#FFF;
	line-height:42px;
}
.input-base.size01{
	width:100%;
}
.input-base.size02{
	width:90px;
}
.box-margin{
	margin-top: 13px;
}
.textarea-base{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	padding:10px 20px;
	border:1px solid #C8C7C5;
	background:#FFF;
}
.textarea-base.size01{
	width:100%;
	height:160px;
}
@media (max-width: 767px) {
    .input-base,.textarea-base {
        font-size: 16px;
    }
    .form-tbl th {
        display: block;
        width: 100%;
        border-bottom: none;
        padding: 34px 0 0 0;
    }
    .form-tbl td {
        display: block;
        width: 100%;
        padding: 24px 0 24px 0;
    }
    .fp-group.fp-group-1 {
        display: block;
    }
    .form-tbl td .address {
        margin: 0 0 0 20px;
        padding-top: 5px;
        display: block;
    }
}


/* btn
-----------------------------------------------------------------*/
.form-btn{
	margin:30px 0 0;
	text-align:center;
}
.form-btn input{
	margin:0 5px;
}
@media (max-width: 767px) {

    .form-tbl.confirm + .form-btn {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .form-tbl.confirm + .form-btn a,.form-tbl.confirm + .form-btn input {
        display: block;
        width: calc(50% - 5px);
        margin: 0;
    }
    .form-tbl.confirm + .form-btn a img {
        width: 100%;
        height: auto;
        display: block;
    }
}
/* complete
-----------------------------------------------------------------*/
.form-complete{
	margin:40px 0 0;
	text-align:center;
}
.form-complete p{
	margin:15px 0 0;
}
.form-complete p.em{
	margin:0 0 20px;
	color:#F85157;
	font-size:158%;
}
.form-complete p.btn-top{
	margin:30px 0 0;
}
@media (max-width: 767px) {
    .form-complete p.em{
	font-size:122%;
}
}


