@charset "utf-8";
/*==========================================================================

   bread

==========================================================================*/
.bread {
	margin: 0 0 15px;
	font-size: 11px;
}
.bread__list {
	padding: 10px;
}
.bread__item {
	display: inline-block;
	vertical-align: middle;
}
.bread__item a::after {
	position: relative;
	top: -.05em;
	display: inline-block;
	font: bold 14px/1 FontAwesome;
	content: "\f105";
	color: #d6c8bf;
	vertical-align: middle;
	margin: 0 10px 0 15px;
}
.bread__item.item--parent span {
    text-decoration: underline;
}


/*==========================================================================

   section

==========================================================================*/
.section01 {
	padding: 50px 0 100px;
}
.section01-header {
	margin-bottom: 39px;
}


/*==========================================================================

   header

==========================================================================*/
.header01 {
    text-align: center;
    position: relative;
    margin-bottom: 39px;
}
.header01__ja {
    font-size: 26px;
    font-weight: bold;
}

.header01__ja_sub{
    font-size: 16px;
}
.header01__en {
    margin-top: 23px;
    font-family:'Didot LT W01 Roman';
    font-size: 22px;
}
.header01__desc {
    margin-top: 50px;
    font-size: 16px;
    line-height: 1.7;
}
.header01.has--line {
    padding-top: 82px;
}
.header01.has--line:before {
    position: absolute;
    top: 0;
    left: 50%;
    content: "";
    display: block;
    width: 2px;
    height: 56px;
    margin-left: -1.5px;
    background: #d6c8bf;
}
.header02 {
    text-align: center;
}
.header02__en {
	font-family:'Didot LT W01 Roman';
    font-size: 28px;
}
.header02__ja {
    margin-top: 21px;
    font-size: 16px;
}
.header03 {
    margin-bottom: 39px;
    text-align: center;
}
.header03__title {
    padding-bottom: 20px;
	font-size: 24px;
    border-bottom: 1px solid #b3bac5;
}
.header04 {
    margin-bottom: 39px;
    text-align: center;
}
.header04__title {
	font-size: 20px;
	font-weight: bold;
}
.header04__text {
	margin-top: 10px;
	font-size: 16px;
	line-height: 1.8;
}



/*==========================================================================

   table

==========================================================================*/
.table01 {
	width: 100%;
	margin-bottom: -1px;
	border-collapse: collapse;
	font-size: 16px;
	line-height: 1.3;
	text-align: center;
	background: #e4e1e1;
}
.table01 th {
	padding: 10px;
	text-align: center;
	vertical-align: middle;
	border: 3px solid #fff;
}
.table01 td {
	padding: 10px;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	border: 3px solid #fff;
	font-size: 16px;
}
.table01 thead th {
	color: #fff;
	font-weight: bold;
	background-color: #a49a9a;
}
.table01 tbody th {
	font-weight: bold;
}
.table01-header__sub {
    display: block;
    padding: 2px 0 0;
    font-size: 14px;
    font-weight: normal;
}
.table01-desc__sub {
    display: block;
	padding: 2px 0 0;
    font-size: 13px;
	font-weight: normal;
}
.table01-circle {
	font-size: 16px !important;
}


/*==========================================================================

   nav

==========================================================================*/
.nav01__list {
    font-size: 0;
    text-align: center;
}
.nav01__item {
    display: inline-block;
    font-size: 16px;
    line-height: 1.5;
}
.nav01__item + .nav01__item {
	margin-left: 38px;
	margin-bottom: 20px;
}
.nav01__item a {
	position: relative;
    display: block;
    width: 191px;
    padding: 37px 20px;
    color: #fff;
    border: 1px solid #544040;
    background: #544040;
}
.nav01__item a:after {
    display: inline-block;
    position: absolute;
    bottom: 10px;
    left: 50%;
    font: normal 20px/1 FontAwesome;
    margin-left: -6px;
    content: "\f107";
    font-family: "FontAwesome";
}
.nav01__item a:hover, .nav01__item.current a {
    color: #544040;
    background: #fff;
}


/*==========================================================================

   object

==========================================================================*/
.object01 {
	position: relative;
	width: 517px;
	height: 245px;
	margin: 50px auto;
	z-index: 2;
}
.object01:before,
.object01:after{
	width: calc(100% - 61px);
	height: 0;
	display: block;
	position: absolute;
	left: 0;
	content: "";
}
.object01:before {
	border-bottom-style: solid;
	border-bottom-width: 61px;
	border-left: solid 61px transparent;
	bottom: 100%;
}
.object01:after{
	border-top-style: solid;
	border-top-width: 61px;
	border-right: solid 61px transparent;
	top: 100%;
}
.object01.is--purple { background: #ebe4f1;}
.object01.is--purple:before { border-bottom-color:#ebe4f1;}
.object01.is--purple:after { border-top-color:#ebe4f1;}
.object01.is--cream { background: #fff9e2;}
.object01.is--cream:before { border-bottom-color:#fff9e2;}
.object01.is--cream:after { border-top-color:#fff9e2;}
.object01.is--orange { background: #fee2c6;}
.object01.is--orange:before { border-bottom-color:#fee2c6;}
.object01.is--orange:after { border-top-color:#fee2c6;}

/*==========================================================================

   card

==========================================================================*/
.card01-header {
    text-align: center;
}
.card01-header__ja {
    font-size: 24px;
    font-weight: bold;
}

.index-service-2309 .card01-header__ja{
    line-height: 1.4;
}
.index-service-2309 .card01-header__price{
    margin-top: 10px;
    font-size: 20px;
    font-weight: bold;
}

.card01-header__en {
	font-family: 'Didot LT W01 Roman';
    font-size: 20px;
    margin-top: 12px;
}
.card01-body {
    padding: 25px 35px;
    font-size: 14px;
    line-height: 1.8;
}
.card01__btn {
    width: 266px;
    height: 52px;
    margin: 0 auto;
}
.card02 {
    position: relative;
    width: 304px;
    text-align: center;
    background: #a49a9a;
    z-index: 2;
}
.card02:before,
.card02:after{
	width: calc(100% - 38px);
	height: 0;
	display: block;
	position: absolute;
	left: 0;
	content: "";
}
.card02:before {
	border-bottom-style: solid;
	border-bottom-width: 38px;
	border-left: solid 38px transparent;
	bottom: 100%;
	border-bottom-color:#a49a9a;
}
.card02:after{
	border-top-style: solid;
	border-top-width: 38px;
	border-right: solid 38px transparent;
	top: 100%;
	border-top-color:#a49a9a;
}
.card02__number {
    margin-bottom: 15px;
    font: 50px/1em 'Didot LT W01 Italic';
    color: #d2cdcd;
}
.card02__title-ja {
    font-size: 20px;
    font-weight: bold;
    color: #fff;
}
.card02__title-en {
    margin: 15px 0;
    font-family: 'Didot LT W01 Roman';
    font-size: 18px;
    color: #d2cdcd;
}


/*==========================================================================

   terms

==========================================================================*/
.term01 {
    display: table;
    width: 100%;
}
.term01 + .term01 {
    margin-top: 11px;
}
.term01__title {
    display: table-cell;

    font-size: 16px;
    font-weight: bold;
    line-height: 1.3;
    vertical-align: top;
}
.term01__title h3:before {
	display: inline-block;
	content: "\f0c8";
	font: normal 14px/1 FontAwesome;
	margin-right: 10px;
	color: #fee2c6;
}
.term01__desc {
    font-size: 14px;
    line-height: 1.7;
    vertical-align: top;
}


/*==========================================================================

   pagetop

==========================================================================*/
#pagetop {
    position: fixed;
    right: 15px;
    bottom: 15px;
	z-index: 1000;
}
#pagetop {
    display: inline-block;
	width: 44px;
	height: 35px;
    margin: 0 auto;
    text-align: center;
    transition: background .3s;
}
#pagetop:hover {
    cursor: pointer;
    opacity: .75;
}


/*==========================================================================

   arrow

==========================================================================*/
.i-arrow01 {
	position:  relative;
    display:  inline-block;
	width: 52.33px;
	height: 52.33px;
    color: #564242;
    text-decoration:  none;
    border-radius: 5px;
}
.i-arrow01::before {
    content:  '';
    width: 35px;
    height: 35px;
    display:  block;
    border-bottom: solid 2px;
    border-left: solid 2px;
    transform: rotate(-45deg);
    position:  absolute;
    top: 10px;
    bottom:  0;
    left:  0;
    right:  0;
    margin:  auto;
}
.i-arrow02 {
    display: inline-block;
    width: 21px;
    height: 9px;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    transform: skew(45deg);
}
.i-tag01 {
    display: inline-block;
    width: 112px;
    padding: 3px 0;
    font-size: 12px;
    text-align: center;
    border-radius: 3px;
}

.icon-form-must01 {
    display: inline-block;
    margin: 0 7px;
    padding: 2px 7px;
    color: #fff;
    background: #ed1c24;
}


/*==========================================================================

   marker

==========================================================================*/
.marker01 {
    background: linear-gradient(transparent 40%, #fafb8d 0%);
}

/*==========================================================================

   link

==========================================================================*/
.link01 {
    font: 14px/1em 'Didot LT W01 Italic';
}
.link01 .i-arrow02 {
    margin-right: 20px;
}


/*==========================================================================

   btn

==========================================================================*/
.btn-outer {
	display: table;
}
.btn01 {
	position: relative;
    display: table-cell;
    color: #000;
    font: normal 16px/1em 'Didot LT W01 Italic', 'YuGothic', '游ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #000;
    background: rgba(255, 255, 255, .7);
    transition: .3s;
	font-weight: bold;
}
.btn01-inner {
    position: relative;
}
.btn01:hover {
	color: #666;
}
.btn01 .i-arrow02 {
    position: absolute;
    top: 50%;
    left: -37px;
    margin-top: -4.5px;
    border-color: #7b7a78;
}

.btn02 {
	position: relative;
    display: table-cell;
    color: #fff;
    font: normal 13px/1em 'Didot LT W01 Italic', 'YuGothic', '游ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    vertical-align: middle;
    text-align: center;
    border: 1px solid #544041;
    background: #544041;
    transition: .3s;
	font-weight: bold;
}
.btn02-inner {
    position: relative;
}
.btn02 .i-arrow02 {
    position: absolute;
    top: 50%;
    left: -37px;
    margin-top: -5px;
    border-color: #fff;
}
.btn02:hover {
	color: #544041;
	background: #fff;

}
.btn02:hover .i-arrow02 {
    border-color: #544041;
}

.btn03{
    border-bottom:1px solid;
}
.btn03:after {
    display: inline-block;
    font: normal 12px/1 FontAwesome;
    margin-left: 8px;
    content: "\f054";
    font-family: "FontAwesome";
}


/*==========================================================================

   accordion

==========================================================================*/
.md-ac01__switch {
    position: relative;
}
.md-ac01__switch:hover {
    cursor: pointer;
}
.md-ac01__target {
    display: none;
}
.md-ac01-first .md-ac01__target {
    display: block;
}


/*==========================================================================

   form

==========================================================================*/
.contact-form input[type="text"],
.contact-form input[type="email"] {
	box-sizing: border-box;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	background-image: none;
	border: 1px solid #ccc;
	border-radius: 1px;
	color: inherit;
	font-family: inherit;
	font-size: 1em;
	padding: 5px 12px;
	width: 100%;
}

.contact-form textarea {
	box-sizing: border-box;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	background-image: none;
	border: 1px solid #ccc;
	border-radius: 1px;
	color: inherit;
	font-family: inherit;
	font-size: 1em;
	padding: 5px 12px;
	width: 100%;
}
.contact-form select {
	background-color: transparent;
	border: 1px solid #ccc;
	border-radius: 1px;
	color: inherit;
	font-family: inherit;
	font-size: 1em;
	padding: 5px 12px;
}




/*==========================================================================

   simcal

==========================================================================*/
.simcal-calendar-grid {
    border-top: 1px solid #474747;
    border-left: 1px solid #474747;
}
th.simcal-nav.simcal-prev-wrapper {
    border-right: 1px solid #474747 !important;
}
th.simcal-nav.simcal-next-wrapper {

	border-left: 1px solid #474747;
    border-right: 1px solid #474747;
}
th.simcal-nav.simcal-current {
    font-size: 24px;
    font-weight: bold;
}
.simcal-day {
    border-right: 1px solid #474747;
    border-bottom: 1px solid #474747;
}
.simcal-week-day {
    padding: 7px;
    font-size: 18px;
    font-weight: bold;
    border-right: 1px solid #474747;
    border-top: 1px solid #474747;
    border-bottom: 1px solid #474747;
}
.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-number {
    padding: 8px 0 5px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    background: #000 !important;
}
.simcal-present.simcal-day span.simcal-day-label.simcal-day-number {
    color: #000 !important;
    background: #96babb !important;
}
.simcal-present.simcal-day >div {
	border: none !important;
}
.simcal-events {
    font-size: 13px !important;
    font-weight: bold;
}
.qtip {
    display: none !important;
}
.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-event:hover {
    cursor: auto;
    text-decoration: none !important;
}