@charset"utf-8";

/*base--------------------------------*/

*{
	font-family: Shimanami,'Noto Serif JP', serif, sans-serif;
	font-size: 100%;
	}
.container figcaption {
	font-size: 0.75em;
}

html, body {
	height: 100%;
	overflow: visible;
}

body{
	width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	overflow-y: scroll;
}

/* よく登場する要素のリセット */

h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, caption, th, td, img, form, div {
	margin: 0;
	padding: 0;
	border: none;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
	text-align: left;
	list-style-type: none;
	font-family: Shimanami,'Noto Serif JP', serif, sans-serif;
	color: #000;
}

/* テキストエリア内文字サイズのブラウザ間での差異をなくす */
textarea { font-size: 100%; }

/* 画像の下にできる隙間をなくす */
img {
	vertical-align: bottom;
}

.cf:after {
	content: ".";	/* 新しい要素を作る */
	display: block;	/* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden;
}

.cf {
	min-height: 1px;
}

* html .cf {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

ruby rt {
	font-size: 50%;
}
@-moz-document url-prefix() {
	ruby rt {
		font-size: 50%;
	}
}



/*common--------------------------------*/

#wrap {
	overflow: hidden;
}

#wrap:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-image: url('../img/common/bg.png');
    background-size: cover;
    z-index: 0;
}

.top#wrap {
	opacity: 0;
}

.lower#wrap {
	opacity: 1;
}

.serif {
	font-family: 'Noto Serif JP', serif;
}

.plain_txt {
	font-size: 18px;
	line-height: 2em;
	padding-bottom: 1.5em;
}

a:link,
a:visited,
a:active {
	color: #000;
	text-decoration: none;
}

a:focus {
	outline:none;
	text-decoration: none;
}

a.underline {
	text-decoration: underline;
}

@media screen and (min-width: 769px) {
    .hover {
        -webkit-transition: .5s ease-out;
        transition: .5s ease-out;
    }

    .hover:hover {
        opacity:0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha(opacity=60)";
        -moz-opacity:0.6;
        -khtml-opacity: 0.6;
        zoom:1;
        -webkit-transition: .5s ease-out;
        transition: .5s ease-out;
    }
    }

.pc {
	display: block;
}

.sp {
	display: none;
}

.red {
	color: #cc0000;
}

.fit {
	width: 100%;
}

.zoom {
	transition: 0.3s ease;
}

.zoom:hover {
	transform: scale(1.03);
	transition: 0.3s ease;
}

/*.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:1.5s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeUpAnime{
    0% {
      opacity: 0;
      transform: translateY(40px);
    }
    50% {
      opacity: 0;
      transform: translateY(40px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
}*/
.fadeUp{
    opacity: 0;
}

section {
	padding: 120px 0;
}

section:nth-of-type(odd) {
	background-color: #fff;
}

.container {
	width: 1000px;
	margin: 0 auto;
}

.sec_tit {
    font-family: SakuraKeisetsu;
    font-size: 72px;
    font-weight: 100;
    width: 1000px;
    margin: 0 auto;
    padding-bottom: 40px;
}

.btn_container {
    display: block;
    width: 1000px;
    height: 60px;
    margin: 0 auto;
    padding-top: 40px;
    box-sizing: border-box;
}

.btn_container .btn_inner {
    width: 100%;
    height: 60px;
    text-align: right;
    position: relative;
}

.btn_container .btn_inner span {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    position: absolute;
    top: 50%;
    right: 80px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.btn_container .btn_inner a {
    display: inline-block;
    width: 60px;
    height: 60px;
    background-color: #5b5452;
    border-radius: 30px;
    position: relative;
}

.btn_container .btn_inner a:before {
    content: '';
    display: block;
    width: 30px;
    height: 2px;
    background-color: #fff;
    border-radius: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

.btn_container .btn_inner a:after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    border-radius: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translateX(3px) translateY(-50%) rotate(45deg);
	transform: translateX(3px) translateY(-50%) rotate(45deg);
}

.btn_wrap {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 50px;
    position: relative;
    z-index: 1;
}

.btn_wrap + .btn_wrap {
    padding-top: 20px;
    z-index: 0;
}

.btn_wrap .btn_reverse {
    width:500px;
    position: absolute;
    top: 50px;
    left: 0;
    z-index: 2;
}

.btn_container.btn_reverse .btn_inner {
    text-align: left;
}

.btn_container.btn_reverse .btn_inner span {
    right: auto;
    left: 80px;
}

.btn_container.btn_reverse .btn_inner a:after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    border-radius: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translateX(-15px) translateY(-50%) rotate(-135deg);
	transform: translateX(-15px) translateY(-50%) rotate(-135deg);
}

.btn_container.btn_reserve {
    padding-top: 100px;
}

.btn_container.btn_reserve a {
    display: block;
    margin: 0 auto;
    font-family: Likurei;
    font-size: 16px;
    color: #fff;
    text-align: center;
    line-height: 50px;
    width: 300px;
    height: 50px;
    background-color: #5b5452;
}

.likurei {
    font-family: Likurei;
}




/*----------------------------------------*/

/*loading*/

/*----------------------------------------*/

.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
    background-color: #fff;
	text-align: center;
}

.load-spinner {
	display: inline-block;
	width: 50px;
	height: 50px;
	border: 2px solid rgba(102,102,102,0.4);
	border-top-color: rgba(102,102,102,0.9);
	border-radius: 50%;
	position: fixed;
	top: 50%;
	left: 50%;
	margin: -25px 0 0 -25px;
	animation: spin 1.2s linear 0s infinite;}
	@keyframes spin { 0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}
}

.loading_news {
    position: relative;
    height: 50px;
    padding-top: 0;
    display: none;
}

.lower + .loading {
	display: none;
}

.loading_sort {
    position: relative;
    height: 100px;
    padding-top: 200px;
    display: none;
}



/*--------------------------------------*/

/*header*/

/*--------------------------------------*/

header {
    width: 100%;
    height: 80px;
    padding: 15px 30px 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
}

header .logo_container a {
    display: inline-block;
    height: 29px;
    font-family: Likurei;
    font-size: 24px;
    font-weight: 500;
    line-height: 24px;
    padding: 11px 0 0 54px;
    background: url('../img/common/ico_camera.png') left center no-repeat;
    background-size: 42px 24px; 
    position: relative;
    z-index: 99999999;
}

header .inquiry_ico_container {
    position: absolute;
    top: 14px;
    right: 180px;
}

header .inquiry_ico_container a {
    display: block;
    width: 50px;
    height: 50px;
    background-color: #5b5452;
    border-radius: 25px;
}

header .ico_mail {
    width: 31px;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
} 


/*menu-trigger--------------------------------*/

.menu-trigger {
	position: fixed;
	top: 0;
	right: 15px;
	width: 80px;
	height: 80px;
	display: block;
	z-index: 9999999;
	cursor: pointer;
	-webkit-transition: .2s ease-out;
	transition: .2s ease-out;
}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.menu-trigger span {
	position: absolute;
	right: 15px;
	width: 50px;
	height: 4px;
	background-color: #333;
	z-index: 4;
}

.menu-trigger span:nth-of-type(1) {
	top: 20px;
}

.menu-trigger span:nth-of-type(2) {
	top: 40px;
    width: 40px;
}

.menu-trigger:hover span:nth-of-type(2) {
	width: 50px;
}

.menu-trigger span:nth-of-type(3) {
	top: 60px;
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(21px) rotate(-45deg);
	transform: translateY(21px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
    right: -50%;
    opacity: 0;
    -webkit-animation: active-menu-bar02 .8s forwards;
    animation: active-menu-bar02 .8s forwards;
}

.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-18px) rotate(45deg);
	transform: translateY(-18px) rotate(45deg);
}
	

/*menu-target--------------------------------*/

.menu-target {
    width: 100%;
    background-color: #fff;
    padding: 120px 30px 60px;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    display: none;
    box-shadow: 0 0 10px rgba(0,0,0,.1);
    z-index: 999999;
}

.menu-target nav {
    display: flex;
}

.menu-target .nav_list_container {
    display: flex;
    flex-wrap: wrap;
    width: 770px;
}

.menu-target .nav_list_item {
    width: 450px;
    padding-bottom: 30px;
}

.menu-target .nav_list_item:nth-child(even) {
    width: 320px;
}

.menu-target .nav_list_item:before {
    content: '－　';
    display: inline;
    font-size: 20px;
    font-weight: 900;
}

.menu-target .nav_list_item a {
    font-family: Likurei;
    font-size: 26px;
    font-weight: 900;
    line-height: 1em;
}

.menu-target .nav_list_item a span {
    display: block;
    font-family: SakuraKeisetsu;
    font-size: 18px;
    font-weight: 100;
    color: #999;
    padding-left: 2.8em;
}

.menu-target .inquiry_list_container {
    padding-bottom: 30px;
}

.menu-target .inquiry_list_item {
    padding-bottom: 30px;
}

.menu-target .inquiry_list_item a {
    font-family: Likurei;
    display: block;
    width: 300px;
    height: 60px;
    background-color: #fff;
    border: 2px solid #000;
    box-sizing: border-box;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    line-height: 58px;
	-webkit-transition: .5s ease-out;
	transition: .5s ease-out;
}

.menu-target .inquiry_list_item a:hover {
    background-color: #000;
    color: #fff;
	-webkit-transition: .5s ease-out;
	transition: .5s ease-out;
}

.menu-target .subnav_list_item {
    padding-bottom: 20px;
}

.menu-target .subnav_list_item a {
    font-family: Likurei;
}

.menu-target .subnav_list_item:before {
    content: '－　';
    display: inline;
    font-size: 12px;
    font-weight: 400;
}




/*--------------------------------------*/

/*footer*/

/*--------------------------------------*/

footer {
    width: 100%;
    background-color: #fff;
    position: relative;
    z-index: 1;
}

footer .bnr_container {
    padding: 80px 0;
    background-color: #5b5452;
}

footer .bnr_container .bnr_list_container {
    width: 1000px;
    margin: 0 auto;
    display: flex;
}

footer .bnr_container .bnr_list_item {
    width: 50%;
    text-align: center;
}
@media screen and (max-width: 1000px) {
    footer .bnr_container .bnr_list_container {
        width: 480px;
        display: block;
    }

    footer .bnr_container .bnr_list_item {
        padding-bottom: 20px;
    }
}

footer .bnr_container .bnr_list_item a {
    font-family: Likurei;
    display: inline-block;
    width: 480px;
}

footer .bnr_container .bnr_list_item a .bnr_obj {
    width: 100%;
}

footer .bnr_container .bnr_wrap {
    width: 480px;
    height: 120px;
    background-color: #fff;
    display: flex;
    align-items: center;
}

footer .bnr_container .bnr_wrap .txt_container {
    width: 45%;
    font-size: 24px;
    font-weight: 900;
    color: #000;
    padding-left: 30px;
    box-sizing: border-box;
}

footer .bnr_container .bnr_wrap .ico_list_container {
    width: 55%;
    display: flex;
    padding-right: 20px;
    box-sizing: border-box;
}

footer .bnr_container .bnr_wrap .ico_list_item {
    width: 50%;
    text-align: center;
}

footer .bnr_container .bnr_wrap .ico_list_item a {
    width: 100%;
}

footer .bnr_container .ico_list_item:first-child .ico_obj {
    width: 83px;
}

footer .bnr_container .ico_list_item:last-child .ico_obj {
    width: 79px;
}

footer .footer_container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 160px 0 120px;
    display: flex;
}

footer .footer_container .left_container,
footer .footer_container .right_container {
    width: 50%;
    padding: 0 50px;
    box-sizing: border-box;
}

footer .footer_container .nav_list_container {
    padding-bottom: 110px;
}

footer .footer_container .nav_list_item {
    font-size: 32px;
    padding-bottom: .8em;
}

footer .footer_container .nav_list_item a {
    font-family: SakuraKeisetsu;
}

footer .footer_container small {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.72em;
}

footer .footer_container .company_name {
    width: 340px;
    padding-bottom: 30px;
    box-sizing: border-box;
}

footer .footer_container .company_name .campany_name_obj {
    width: 100%;
}

footer .footer_container adress {
    font-size: 18px;
    line-height: 2em;
}

footer .footer_container .inquiry_list_container {
    padding-bottom: 120px;
}

footer .footer_container .inquiry_list_item {
    padding-top: 30px;
}

footer .footer_container .inquiry_list_item a {
    display: block;
    width: 300px;
    height: 60px;
    background-color: #fff;
    border: 2px solid #000;
    box-sizing: border-box;
    font-family: Likurei;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    line-height: 58px;
	-webkit-transition: .5s ease-out;
	transition: .5s ease-out;
}

footer .footer_container .inquiry_list_item a:hover {
    background-color: #000;
    color: #fff;
	-webkit-transition: .5s ease-out;
	transition: .5s ease-out;
}

footer .footer_container .subnav_list_container {
    text-align: right;
}

footer .footer_container .subnav_list_item {
    display: inline;
    text-align: right;
    padding-left: 2em;
}

footer .footer_container .subnav_list_item a {
    font-size: 14px;
    font-weight: 500;
}



/*--------------------------------------*/

/*mv_wrap*/

/*--------------------------------------*/
	
/*top-------------------------------*/

.top .mv_wrap {
    width: 100%;
    height: 100vh;
    box-sizing: border-box;
    padding: 80px 0 100px;
    position: relative;
    z-index: 1;
}

.top .mv_container {
    width: calc(100% - 110px);
    height: 100%;
    overflow: hidden;
    position: relative;
}

.top .mv_container:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,.5);
    position: absolute;
    top: 0;
    left: 0;
}

.slick-slider {
    height: calc(100% / 3);
}

.mv_wrap .catch {
    position: absolute;
    top: 233px;
    right: 50px;
    text-align: right;
    line-height: 124px;
}

.mv_wrap .catch span {
    font-family: Likurei;
    height: 94px;
    font-size: 72px;
    font-weight: 900;
    color: #333;
    line-height: 94px;
    padding: 0 20px;
    background-color: rgba(255,255,255,.7);
}

.mv_wrap .gallery_btn_container {
    position: absolute;
    bottom: 14.82vh;
    left: 30px;
}

.mv_wrap .gallery_btn_container .btn_gallery {
    width: 150px;
}

.mv_wrap .lasteset_news_wrap {
    width: 1000px;
    margin: 20px auto;
}

.mv_wrap .lasteset_news_container {
    display: flex;
    align-items: center;
}

.mv_wrap .lasteset_news_container dt {
    padding-right: 20px;
}

.mv_wrap .lasteset_news_container dt a {
    display: block;
    width: 60px;
    height: 60px;
    background-color: #5b5452;
    border-radius: 30px;
    font-family: SakuraKeisetsu;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 60px;
}

.mv_wrap .lasteset_news_container dd span {
    padding-right: 1em;
    font-size: 18px;
    font-weight: 700;
    color: #333;
}

.mv_wrap .lasteset_news_container dd b {
    font-size: 18px;
    font-weight: 700;
    color: #333;
}

.mv_wrap .scroll_container {
    width: 120px;
    height: 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid #333;
    position: absolute;
    bottom: 150px;
    right: 5px;
    font-family: SakuraKeisetsu;
    font-size: 12px;
    text-align: right;
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

.mv_wrap .scroll_container:after {
    content: '';
    display: block;
    border-top: 30px solid #333;
    border-right: 8px solid transparent;
    position: absolute;
    bottom: -19px;
    left: 0;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
	
/*lower-------------------------------*/

.lower .mv_wrap {
    width: 100%;
    height: 670px;
    box-sizing: border-box;
    padding: 80px 0 40px;
    position: relative;
    z-index: 1;
}

.lower .mv_container {
    width: 60%;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.lower .mv_container .mv_obj {
    display: block;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.lower .page_ttl {
    text-align: right;
    position: absolute;
    bottom: 90px;
    right: 60px;
}

.lower .page_ttl span {
    font-family: Likurei;
    font-size: 18px;
    font-weight: 500;
    color: #333;
    line-height: 1em;
    letter-spacing: .06em;
}

.lower .page_ttl b {
    font-family: SakuraKeisetsu;
    font-size: 72px;
    font-weight: 900;
    color: #333;
    line-height: 1em;
    letter-spacing: .025em;
}


/*--------------------------------------*/

/*article*/

/*--------------------------------------*/

article {
    width: 100%;
    position: relative;
}




/*--------------------------------------*/

/*top*/

/*--------------------------------------*/
	
/*sec01-------------------------------*/

.top .sec01 {
    width: 100%;
    overflow: hidden;
}

.top .campaign_wrap {
    margin-left: 14.29vw;
    overflow-x: auto;
}

.top .campaign_list_container {
    width: 100%;
    display: flex;
}

.top .campaign_list_item {
    width: 330px;
    box-sizing: border-box;
    padding: 0 15px 20px;
}

.top .campaign_list_item a {
    position: relative;
}


.top .campaign_list_item a span {
    display: block;
    background-position: center center;
    background-size: cover;
    width: 300px;
    height: 360px;
}

.top .campaign_list_item a .txt_container {
    width: 300px;
    padding: 10px;
    box-sizing: border-box;
    background-color: #5b5452;
    font-family: Likurei;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    line-height: 1.25em;
    position: absolute;
    bottom: 10px;
    left: 10px;
}

.top .campaign_list_item.end .img_container:after,
.top .campaign_list_item.end .txt_container:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.6);
    position: absolute;
    top: 0;
    left: 0;
}

.top .campaign_list_item.end a:after {
    content: 'このキャンペーンは\A　終了しました。';
    display: block;
    width: 100%;
    font-family: Likurei;
    font-size: 24px;
    color: #fff;
    text-align: center;
    white-space: pre;
    position: absolute;
    top: 40%;
    left: 0;
    
}

.top .campaign_list_item.end a {
    cursor: default;
    pointer-events: none;
}

.top .campaign_list_item.end a:hover {
    opacity: 1;
}

.top .campaign_wrap::-webkit-scrollbar {
    height: 9px;
}
 
.top .campaign_wrap::-webkit-scrollbar-track {
    background-color: #eee;
}
 
.top .campaign_wrap::-webkit-scrollbar-thumb {
    background-color: #666;
}
	
/*sec02-------------------------------*/
 
.top .concept_container {
    position: relative;
    width: 100%;
    height: 600px;
}
 
.top .concept_container .img_container {
    width: 50vw;
    height: 100%;
    position: absolute;
    top: 40px;
    left: 0;
    z-index: 2;
}
 
.top .concept_container .img_container .concept_obj {
    display: block;
    background-position: center center;
    background-size: cover;
    width: 100%;
    height: 520px;
}
 
.top .concept_container .txt_container {
    width: calc(100% - 14.29vw);
    height: 100%;
    box-sizing: border-box;
    padding: 60px 0 0 39.29vw;
    background: #fff;
    position: absolute;
    top: 0;
    left: 14.29vw;
    z-index: 1;
}
 
.top .concept_container .concept_tit {
    font-size: 36px;
    font-weight: 500;
    line-height: 1.33em;
    padding-bottom: 40px;
}
 
.top .concept_container .concept_txt {
    font-size: 18px;
    font-weight: 400;
    color: #333;
    line-height: 1.5em;
    padding-bottom: 1em;
}
 
.top .concept_container .btn_container {
    display: inline-block;
    width: 450px;
    padding-top: 20px;
}
	
/*sec03-------------------------------*/

.top .service_list_container {
    width: 100%;
    display: flex;
}

.top .service_list_item {
    width: calc(100% / 3);
    padding: 20px;
    box-sizing: border-box;
    border: 1px solid  #eee;
}

.top .service_list_item a {
    display: block;
    width: 100%;
    padding-top: 110%;
}

.top .service_list_item:first-child a {
    background: url('../img/top/service_img01.webp') center center no-repeat;
    background-size: cover;
}

@supports (background-image: url('../img/top/service_img01.webp')) {
    .top .service_list_item:first-child a {
      background-image: url('../img/top/service_img01.webp');
    }
}

.top .service_list_item:nth-child(2) a {
    background: url('../img/top/service_img02.webp') center center no-repeat;
    background-size: cover;
}

@supports (background-image: url('../img/top/service_img02.webp')) {
    .top .service_list_item:nth-child(2) a {
      background-image: url('../img/top/service_img02.webp');
    }
}

.top .service_list_item:last-child a {
    background: url('../img/top/service_img03.jpg') center center no-repeat;
    background-size: cover;
}

@supports (background-image: url('../img/top/service_img03.jpg')) {
    .top .service_list_item:last-child a  {
      background-image: url('../img/top/service_img03.jpg');
    }
}

.top .service_list_item .service_list_tit {
    padding: 20px;
}

.top .service_list_item .service_list_tit b {
    display: block;
    font-family: SakuraKeisetsu;
    font-size: 72px;
    font-weight: 900;
    color: #fff;
}

.top .service_list_item .service_list_tit span {
    display: block;
    font-size: 18px;
    font-weight: 500;
    color: #fff;
}
	
/*sec04-------------------------------*/

.top .blog_list_container {
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
    display: flex;
}

.top .blog_list_item {
    width: 25%;
    padding: 5px;
    box-sizing: border-box;
}

.top .blog_list_item a {
    display: block;
    width: 100%;
    background-color: #fff;
    position: relative;
}

.top .blog_list_item a .ico_new {
    width: 70px;
    height: 60px;
    position: absolute;
    top: 0;
    right: 0;
}

.top .blog_list_item a .ico_new b {
    font-size: 18px;
    font-weight: 300;
    color: #fff;
    position: absolute;
    top: 10px;
    right: 5px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.top .blog_list_item a .ico_new:before {
    content: '';
    display: block;
    border-top: 60px solid #000;
    border-left: 70px solid transparent;
    position: absolute;
    top: 0;
    right: 0;
}

.top .blog_list_item a .blog_list_obj {
    display: block;
    background-position: center center;
    background-size: cover;
    width: 100%;
    padding-top: 60%;
}

.top .blog_list_item .txt_container {
    padding: 10px;
}

.top .blog_list_item .blog_tit {
    font-family: likurei;
    min-height: 70px;
    font-size: 18px;
    color: #333;
    line-height: 1.33em;
}

.top .blog_list_item .author_container {
    display: flex;
    align-items: center;
}

.top .blog_list_item .author_container .img_container {
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

.top .blog_list_item .author_container .author_obj {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

.top .blog_list_item .author_container .name_container {
    padding-left: 10px;
}

.top .blog_list_item .author_container .name_container b {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #333;
    line-height: 1em;
}

.top .blog_list_item .author_container .name_container i {
    font-style: normal;
    font-size: 12px;
    font-weight: 400;
    color: #999;
    line-height: 1em;
}
	
/*gallery-------------------------------*/

.top .gallery .gallery_list_wrap {
    width: 100%;
    display: flex;
}

.top .gallery .gallery_list_container {
    width: 25%;
}

.top .gallery .gallery_list_item {
    width: 100%;
}

.top .gallery .gallery_list_container:first-of-type {
    width: 50%;
}

.top .gallery .gallery_list_container:first-of-type .gallery_list_item {
    width: 50%;
}

.top .gallery .gallery_list_container:first-of-type .gallery_list_item:first-child {
    width: 100%;
}

.top .gallery .gallery_list_container:first-of-type .gallery_list_item:first-child a {
    padding-top: 48.6%;
}

.top .gallery .gallery_list_container:nth-of-type(2) .gallery_list_item:first-child a {
    padding-top: calc(200% + 20px);
}
	
/*sec05-------------------------------*/

.top .sec05 .voice_list_container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.top .sec05 .voice_list_item {
    width: 20%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid  #eee;
    position: relative;
}

.top .voice_list_item:nth-child(n + 11) {
    display: none;
}

.top .sec05 .voice_trigger {
    display: block;
    width: 100%;
    padding-top: 100%;
    position: relative;
    cursor: pointer;
}

.top .sec05 .voice_obj {
    display: block;
    background-position: center center;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.top .modal_list_item {
    width: 100%;
    height: 100vh;
    background-color: rgba(0,0,0,.8);
    border: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999999999;
    display: none;
}

.top .modal_list_item .voice_target {
    width: 1000px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 30px;
    box-sizing: border-box;
    background-color: #fff;
    display: flex;
    align-items: flex-start;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
    cursor: default;
}

.top .modal_list_item .modal_obj {
    width: 45%;
    position: static;
}

.top .modal_list_item .txt_container {
    width: 55%;
    padding-left: 20px;
    box-sizing: border-box;
}

.top .modal_list_item .voice_list_ttl {
    display: block;
    width: 100%;
    font-family: Likurei;
    font-size: 24px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 2px solid #000;
}

.top .modal_list_item .voice_list_txt {
    display: block;
}

.voice_list_txt + .voice_list_ttl {
    margin-top: 30px;
}

.top .modal_list_item .close {
    font-size: 72px;
    font-weight: 900;
    color: #fff;
    line-height: 1em;
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 50px;
    z-index: 99999999999;
}
	
/*sec06-------------------------------*/

.faq_wrap {
    display: flex;
    padding-bottom: 50px;
}

.faq_wrap .faq_block_container {
    width: 50%;
}

.faq_block_container .faq_tit {
    font-size: 24px;
    font-weight: 500;
    color: #333;
    padding-bottom: 30px
}

.faq_block_container .faq_list_container dt {
    width: 490px;
    background-color: #5b5452;
    padding: 10px 45px 10px 15px;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    line-height: 1.64em;
    position: relative;
    cursor: pointer;
}

.faq_block_container .faq_list_container dt:after {
    content: '＋';
    display: block;
    font-size: 32px;
    font-weight: 900;
    color: #fff;
    position: absolute;
    top: 50%;
    right: 15px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.faq_block_container .faq_list_container dt.current:after {
    content: '－';
    display: block;
    font-size: 32px;
    font-weight: 900;
    color: #fff;
    position: absolute;
    top: 50%;
    right: 15px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.faq_block_container .faq_list_container dd {
    display: none;
}

.faq_block_container .faq_list_container dd a {
    color: #999;
    text-decoration: underline;
}

.faq_block_container .faq_list_container .answer_container {
    width: 490px;
    background-color: #fff;
    padding: 20px 15px 30px;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: 500;
    color: #333;
    line-height: 1.64em;
}

.faq_block_container .faq_list_container dt + dt,
.faq_block_container .faq_list_container dd + dt {
    margin-top: 10px;
}
	
/*sec07-------------------------------*/

.top .map_container {
    width: 100%;
    height: 400px;
    overflow: hidden;
}

.top .map_container iframe {
    margin-top: -150px;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
}

.top .map_container + address {
    font-size: 18px;
    font-weight: 500;
    color: #000;
    text-align: center;
    padding-top: 5px;
}

.top .movie_container {
    text-align: center;
    padding-top: 80px;
}



/*--------------------------------------*/

/*outline*/

/*--------------------------------------*/

.lower.outline .mv_container .mv_obj {
    background-position: left center;
}
	
/*sec01-------------------------------*/

.lower .trigger_list_container {
    width: 100%;
    display: flex;
    justify-content: center;
}

.lower .trigger_list_item {
    width: 25%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid  #eee;
    position: relative;
}

.lower .trigger_list_item a {
    display: block;
    width: 100%;
    padding-top: 100%;
    position: relative;
    cursor: pointer;
}

.lower .trigger_obj {
    display: block;
    background-position: center center;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.lower .trigger_list_item .trigger_ttl {
    position: absolute;
    bottom: 20px;
    left: 20px;
}

.lower .trigger_list_item .trigger_ttl b {
    font-family: SakuraKeisetsu;
    display: block;
    font-size: 2.72vw;
    font-weight: 900;
    color: #fff;
    letter-spacing: .025em;
}

.lower .trigger_list_item .trigger_ttl span {
    font-family: Likurei;
    display: block;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    letter-spacing: .025em;
    padding-top: .45vw;
}
	
/*sec02-------------------------------*/

.philosophy_txt_container {
    padding-top: 100px;
}

.philosophy_txt {
    font-size: 18px;
    font-weight: 500;
    color: #000;
    text-align: center;
    line-height: 3em;
    letter-spacing: .025em;
    padding-bottom: 2em;
}
	
/*sec03-------------------------------*/

.plain_table {
    max-width: 1000px;
    margin: 0 auto;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    border-collapse: collapse;
    border-spacing: 0;
}

.plain_table th,
.plain_table td {
    border-bottom: 1px solid #ccc;
}

.plain_table tr:last-child th,
.plain_table tr:last-child td {
    border-bottom: none;
}

.plain_table th {
    font-size: 18px;
    font-weight: 700;
    color: #666;
    line-height: 1.875em;
    letter-spacing: .025em;
    vertical-align: top;
    width: 390px;
    padding: 40px 0 40px 100px;
    box-sizing: border-box;
}

.plain_table td {
    font-size: 18px;
    font-weight: 400;
    color: #000;
    line-height: 1.875em;
    letter-spacing: .025em;
    vertical-align: top;
    width: 610px;
    padding: 40px 0;
    box-sizing: border-box;
}

.plain_table td a {
    text-decoration: underline;
}
	
/*sec04------------------------------*/

.outline .map_container {
    width: 1000px;
    height: 400px;
    margin: 0 auto;
    overflow: hidden;
}

.outline .map_container iframe {
    margin-top: -150px;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
}

.outline .map_container + address {
    font-size: 18px;
    font-weight: 500;
    color: #000;
    text-align: center;
    padding-top: 5px;
}

.outline .movie_container {
    text-align: center;
    padding-top: 160px;
}
	
/*sec05------------------------------*/

.news_list_container {
    max-width: 1000px;
    margin: 0 auto;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
}

.news_list_item {
    border-bottom: 1px solid #ccc;
    padding: 40px 0;
}

.news_list_item a {
    width: 100%;
    display: flex;
}

.news_list_item:last-child {
    border-bottom: none;
}

.news_list_item span {
    display: block;
    font-family: Likurei;
    font-size: 18px;
    font-weight: 700;
    color: #666;
    line-height: 1.875em;
    letter-spacing: .025em;
    width: 220px;
    box-sizing: border-box;
    padding-left: 100px;
}

.news_list_item b {
    display: block;
    font-family: Likurei;
    font-size: 18px;
    font-weight: 400;
    color: #000;
    line-height: 1.875em;
    letter-spacing: .025em;
    width: 780px;
    box-sizing: border-box;
    padding-left: 170px;
}



/*--------------------------------------*/

/*gallery*/

/*--------------------------------------*/
	
/*summary-------------------------------*/

.gallery .select_container {
    width: 500px;
    margin: 0 auto;
    position: relative;
}

.gallery .select_sub_wrap {
    display: none;
    padding-top: 30px;
}
.gallery .select_sub_wrap.active {
    display: block;
}

.gallery select {
    width: 500px;
    height: 50px;
    box-sizing: border-box;
    padding-left: 10px;
    background-color: #fff;
    border: 1px solid #ccc;
    color: #666;
    cursor: pointer;
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.gallery select:focus {
    outline: none;
    border: 1px solid #666;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.gallery select::-ms-expand {
    display: none;
}

.gallery .select_container:after {
    content: "";
    width: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #666;
    position: absolute;
    right: 10px;
    top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.gallery.disabled .select_container select {
    pointer-events: none;
    color: #999;
    background-color: #eee;
    border: 2px solid #eee;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.gallery.disabled .select_container select:focus {
    outline: none;
    border: 2px solid #eee;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.gallery.disabled .select_container:after {
    border-top: 8px solid #ccc;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.gallery .btn_container,
.products .btn_container {
    padding: 30px 0 100px;
}

.gallery .btn_container .reset,
.products .btn_container .reset {
    display: block;
    width: 60px;
    height: 60px;
    margin: 0 auto;
    background-color: #666;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    line-height: 60px;
    letter-spacing: .05em;
}

.gallery .btn_container .more,
.products .btn_container .more {
    display: block;
    width: 60px;
    height: 60px;
    margin: 0 auto;
    background-color: #666;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    line-height: 60px;
    letter-spacing: .05em;
    cursor: pointer;
}

.gallery.disabled .btn_container .reset,
.products.disabled .btn_container .reset {
    pointer-events: none;
    background-color: #eee;
}

.gallery .gallery_list_container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.gallery .gallery_list_item {
    width: 20%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid  #eee;
    position: relative;
}

.gallery .gallery_list_item.is-hidden {
    display: none;
}

.gallery .gallery_list_item.current {
    opacity: 0;
    margin-top: 40px;
}

.gallery.detail .gallery_list_item.current {
    opacity: 1;
    margin-top: 0;
}

.gallery .gallery_list_item a {
    display: block;
    width: 100%;
    padding-top: 100%;
    position: relative;
    cursor: pointer;
}

.gallery .gallery_obj {
    display: block;
    background-position: center center;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.gallery .empty_txt {
    display: inline-block;
    width: 100%;
    text-align: center;
    font-size: 18px;
    padding: 60px 0;
    opacity: 0;
}


	
/*detail-------------------------------*/

.lower.gallery.detail .mv_wrap {
    height: 240px;
}

.lower.gallery.detail .page_ttl {
    bottom: 30px
}

.lower.gallery.detail .gallery_ttl_list_container {
    width: 1000px;
    margin: 0 auto 50px;
}

.lower.gallery.detail .gallery_ttl_list_container dt {
    font-family: SakuraKeisetsu;
    display: inline;
    font-size: 16px;
    font-weight: 700;
    color: #999;
    letter-spacing: .025em;
    padding-right: 2em;
}

.lower.gallery.detail .gallery_ttl_list_container dd {
    font-family: Likurei;
    display: inline;
    font-size: 16px;
    font-weight: 400;
    color: #000;
    letter-spacing: .025em;
    padding: 0 5em 0 2em;
    position: relative;
}

.lower.gallery.detail .gallery_ttl_list_container dd:before {
    content: ':';
    display: inline;
    font-size: 14px;
    font-weight: 400;
    color: #000;
    position: absolute;
    top: 50%;
    left: 0;
	-webkit-transform: translateY(-40%);
	transform: translateY(-40%);
}

.lower.gallery.detail .gallery_lead_txt {
    font-family: Likurei;
    font-size: 18px;
    width: 700px;
    margin: 0 auto 50px;
}

.gallery.detail .gallery_list_item .modal_trigger {
    display: block;
    width: 100%;
    padding-top: 100%;
    position: relative;
    cursor: pointer;
}

.gallery.detail .gallery_obj {
    object-fit: contain;
    position: absolute;
    width: 100%;
    height: 100%;
}

.gallery_modal_wrap {
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.8);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999999999;
    display: none;
}

.gallery_modal_wrap .gallery_modal_obj {
    max-width: 80%;
    max-height: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

.gallery_modal_wrap .gallery_modal_close {
    display: block;
    font-size: 50px;
    font-weight: 900;
    color: #fff;
    position: absolute;
    top: 5px;
    right: 35px;
    cursor: pointer;
}

.gallery_modal_prev {
    display: block;
    font-size: 72px;
    font-weight: 400;
    color: #fff;
    position: absolute;
    top: 45%;
    left: 15px;
    cursor: pointer;
}

.gallery_modal_next {
    display: block;
    font-size: 72px;
    font-weight: 400;
    color: #fff;
    position: absolute;
    top: 45%;
    right: 15px;
    cursor: pointer;
}

.gallery .modal_container .voice_list_item {
    width: 100%;
    height: 100vh;
    background-color: rgba(0,0,0,.8);
    border: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999999;
    display: none;
}

.gallery .modal_container .voice_list_item .voice_target {
    width: 1000px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 30px;
    box-sizing: border-box;
    background-color: #fff;
    display: flex;
    align-items: flex-start;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
    cursor: default;
}

.gallery .modal_container .voice_list_item .modal_obj {
    width: 45%;
    position: static;
}

.gallery .modal_container .voice_list_item .txt_container {
    width: 55%;
    padding-left: 20px;
    box-sizing: border-box;
}

.gallery .modal_container .voice_list_item .voice_list_ttl {
    display: block;
    width: 100%;
    font-family: Likurei;
    font-size: 24px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 2px solid #000;
}

.gallery .modal_container .voice_list_item .voice_list_txt {
    display: block;
}

.gallery .modal_container .voice_list_item .close {
    font-size: 72px;
    font-weight: 900;
    color: #fff;
    line-height: 1em;
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 50px;
}



/*--------------------------------------*/

/*plan*/

/*--------------------------------------*/
	
/*mv_container-------------------------------*/

.lower .mv_container .mv_obj {
    background-position: center center;
}

.lower.plan .mv_container .mv_obj {
    background-position: left center;
}

.lower.plan.baby .mv_container .mv_obj {
    background-position: center 45%;
}

.lower.plan.breastfeeding .mv_container .mv_obj {
    background-position: right center;
}

.lower.plan.engagement .mv_container .mv_obj {
    background-position: center bottom;
}

.lower.plan.Shichi_go_san .mv_container .mv_obj {
    background-position: center 10%;
}

.lower.plan.profile .mv_container .mv_obj {
    background-position: right 5%;
}

.lower.plan.portrait .mv_container .mv_obj {
    background-position: center 20%;
}

.lower.plan.jusan_mairi .mv_container .mv_obj {
    background-position: left 25%;
}

.lower.plan.school .mv_container .mv_obj {
    background-position: center center;
}

.lower.plan.seijin .mv_container .mv_obj {
    background-position: center 35%;
}

.lower.plan.yakumo .mv_container .mv_obj {
    background-position: center 60%;
}

.lower.plan.pets .mv_container .mv_obj {
    background-position: center bottom;
}

.lower.plan.maternity .mv_container .mv_obj {
    background-position: right 20%;
}
	
/*sec01-------------------------------*/

.plan .sec01 .trigger_list_container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.plan .sec01 .trigger_list_item {
    width: 25%;
}

.plan.summary .sec01 .trigger_list_container {
    justify-content: left;
}

.plan.summary .sec01 .trigger_list_item {
    width: calc(100% / 3);
}
@media screen and (min-width: 1600px) {
    .plan.summary .sec01 .trigger_list_item {
        width: 25%;
    }
}

.plan .sec01 .trigger_list_item a {
    display: block;
    width: 100%;
    padding-top: 100%;
    position: relative;
    cursor: pointer;
}

.plan.detail .sec01 .trigger_list_item span:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.3);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.plan .sec01 .trigger_list_item span:after {
    display: none;
}
	
/*detail-------------------------------*/

.lower .trigger_list_container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
    
.lower.campaign .trigger_list_container {
    margin-bottom: -90px;
}

.lower .trigger_list_item {
    width: 25%;
}

.lower .trigger_list_item a {
    display: block;
    width: 100%;
    padding-top: 100%;
    position: relative;
    cursor: pointer;
}

.lower .trigger_list_item span:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.3);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.lower .trigger_ttl {
    font-family: Likurei;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    line-height: 1.4em;
    z-index: 2;
}

.plan_detail_wrap .plan_detail_container {
    width: 1000px;
    margin: 0 auto;
    padding-bottom: 30px;
}

.plan_detail_wrap .plan_detail_container .img_container {
    width: 44%;
    float: right;
}

.plan_detail_wrap .plan_detail_container .plan_detail_ttl,
.plan_detail_wrap .plan_detail_container .plan_detail_txt,
.plan_detail_wrap .plan_detail_container .plan_detail_lead {
    width: 56%;
    box-sizing: border-box;
    padding-right: 40px;
    float: left;
}

.plan_detail_wrap .plan_detail_ttl {
    font-family: Likurei;
    font-size: 48px;
    font-weight: 400;
    color: #333;
    line-height: 1.25em;
    letter-spacing: .025em;
    padding-bottom: 30px;
}

.gallery .plan_detail_wrap .plan_detail_ttl {
    font-family: Likurei;
    font-size: 32px;
    transform: translateY(-30px);
}

.plan_detail_wrap .plan_detail_txt {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.875em;
    letter-spacing: .025em;
    padding-bottom: 60px;
}

.plan_detail_wrap .plan_detail_txt + .plan_detail_txt {
    margin-top: -30px;
}

.plan_detail_wrap .plan_detail_lead {
    font-size: 30px;
    font-weight: 400;
    line-height: 1.6em;
    letter-spacing: .025em;
    padding-bottom: 20px;
}

.plan_detail_wrap .plan_detail_container .plan_detail_ttl {
    padding-bottom: 60px;
}

.plan_detail_wrap .plan_detail_container .plan_detail_txt {
    padding-bottom: 40px;
}

.plan_detail_wrap .plan_detail_container .plan_detail_lead {
    padding-bottom: 60px;
}

.plan_detail_wrap .plain_table b {
    font-size: 52px;
    font-weight: 400;
    color: #666;
    letter-spacing: .025em;
}

.note_ttl {
    font-family: Likurei;
    font-size: 24px;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: 1px solid #000;
}

.tips_container {
    border: 2px solid #999;
    background-color: #fff;
    padding: 30px 30px 10px;
    margin-bottom: 60px;
    box-sizing: border-box;
}

.plan_detail_container + .tips_container {
    margin-top: -40px;
}

	
/*floating_bnr_container-------------------------------*/

.plan .gallery .floating_bnr_container {
    width: 340px;
    height: 100px;
    background-color: #fff;
    box-shadow: -2px -2px 10px rgba(0,0,0,.2);
    position: fixed;
    bottom: 0;
    right: -400px;
    z-index: 10;
	animation-name:slideInAnime;
	animation-duration:4s;
	animation-fill-mode:forwards;
}

@keyframes slideInAnime{
	0% {
        right: -400px;
	}
	75% {
        right: -400px;
	}
	90% {
        right: 30px;
	}
	100% {
        right: 0;
	}
}

.plan .gallery .floating_bnr_container a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 10px 40px 10px 10px;
    background-color: #5b5552;
}

.plan .gallery .floating_bnr_container .img_container {
    display: block;
    width: 30%;
}

.plan .gallery .floating_bnr_container .txt_container {
    width: 68%;
    font-family: Likurei;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
}

.plan .gallery .floating_bnr_container .floating_bnr_obj {
    background-size: cover;
    background-position: center center;
    display: block;
    width: 80px;
    height: 80px;
    border: 3px solid #eceae6;
    box-sizing: border-box;
}

.plan .gallery .floating_bnr_container .floating_bnr_close {
    display: block;
    font-size: 32px;
    font-weight: 900;
    color: #ccc;
    position: absolute;
    top: 0;
    right: 5px;
    cursor: pointer;
}


/*--------------------------------------*/

/*products*/

/*--------------------------------------*/
	
/*sec01-------------------------------*/

.products .sec01 .sort_list_container {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

.products .sec01 .disabled .sort_btn_container {
    opacity: .6;
    pointer-events: none;
}

.products .sec01 .sort_list_item {
    width: 25%;
    text-align: center;
}

.products .sec01 .sort_btn_container {
    font-family: Likurei;
    font-size: 16px;
    font-weight: 500;
    color: #000;
    text-align: center;
    line-height: 50px;
    letter-spacing: .025em;
    width: 240px;
    height: 50px;
    background-color: #fff;
    border: 1px solid #000;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: .5s ease-out;
    transition: .5s ease-out;
}

.products .sec01 .sort_btn_container.current,
.products .sec01 .sort_btn_container:hover {
    background-color: #000;
    color: #fff;
    -webkit-transition: .5s ease-out;
    transition: .5s ease-out;
}

.products .sec01 .products_list_container {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.products .sec01 .products_list_item {
    width: 500px;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid  #eee;
    position: relative;
    -webkit-transition: .5s ease-out;
    transition: .5s ease-out;
}

@media screen and (max-width: 1499px) {
    .products .sec01 .products_list_container {
        width: 1000px;
        justify-content: center;
    }
    .products .sec01 .products_list_item {
        width: 50%;
    }
}
@media screen and (max-width: 1000px) {
    .products .sec01 .sort_list_container {
        width: 100%;
    }
    .products .sec01 .sort_btn_container {
        font-size: 1.6vw;
        width: 24vw;
    }
    .products .sec01 .products_list_container {
        width: 100%;
    }
}

.products .sec01 .products_list_item a {
    display: block;
    width: 100%;
    padding: 0 0 48%;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.products .products_obj {
    background-position: center center;
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 100%;
}

.products .sec01 .products_list_item .txt_container {
    padding: 20px 0 20px; 
}

.products .products_list_ttl {
    padding-bottom: 10px;
}

.products .products_list_ttl b {
    font-family: SakuraKeisetsu;
    font-size: 29px;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: .025em;
    padding-right: .5em;
}

.products .products_list_ttl span {
    font-family: Likurei;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.88em;
    letter-spacing: .025em;
}

.products .products_list_txt {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.67em;
    letter-spacing: .025em;
}
	
/*detail -------------------------------*/

.products.detail .products_detail_wrap {
    max-width: 1000px;
    margin: 0 auto;
    padding-bottom: 80px;
}

.products.detail .products_detail_tag span {
    font-family: Likurei;
    font-size: 18px;
    font-weight: 400;
    padding-right: 1em;
}

.products.detail .products_detail_ttl {
    font-family: SakuraKeisetsu;
    font-size: 48px;
    font-weight: 400;
    letter-spacing: .025em;
    padding-bottom: 30px;
}

.products.detail .products_detail_read {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.67em;
    letter-spacing: .025em;
    padding-bottom: 20px;
}

.products.detail .products_detail_txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    letter-spacing: .025em;
    padding-bottom: 50px;
}

.viewer_list_container {
    width: 100%;
    padding-bottom: 50px
}
@media screen and (max-width: 1000px) {
    .viewer_list_container {
        width: 670px;
        margin: 0 auto;
    }
}

.viewer_list_item {
    width: 100px;
    height: 100px;
    padding: 0 0 10px 10px;
    float: left
}

.double .viewer_list_item {
    width: 70px;
    height: 70px;
    padding: 0 0 10px 10px;
}

.viewer_list_item:first-child,
.double .viewer_list_item:first-child {
    width: 670px;
    height: 446px;
    padding: 0 0 10px 0;
}

.thumb_bottom .viewer_list_item:first-child {
    width: calc(100% - 20px);
    height: unset;
    aspect-ratio: 335 / 223;
    padding: 0 10px 10px 10px;
}

.vertical_only .viewer_list_item:first-child {
    width: 536px;
    height:804px;
}

.viewer_list_item .photo_container,
.viewer_list_item .view_window {
    display: block;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
}

.viewer_list_item .photo_container img {
    display: none;
}



/*--------------------------------------*/

/*privacy*/

/*--------------------------------------*/

.lower.privacy .mv_container .mv_obj {
    background-position: left center;
}
	
/*sec01-------------------------------*/
	
.privacy_container {
    width: 1000px;
    margin: 0 auto;
}

.privacy_ttl {
    font-family: Likurei;
    font-size: 20px;
    font-weight: 700;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 2px solid #000;
}

.privacy_subttl {
    font-family: Likurei;
    font-size: 18px;
    font-weight: 700;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #ccc;
}

.privacy_txt,
.privacy_list_container {
    padding-bottom: 30px;
    font-size: 16px;
    line-height: 1.8em;
}

.privacy_list_item {
    text-indent: -1em;
    font-size: 16px;
    padding-left: 1em;
    padding-bottom: 10px;
}

.privacy_txt + .privacy_subttl,
.privacy_list_container + .privacy_subttl {
    padding-top: 20px;
}



/*--------------------------------------*/

/*news*/

/*--------------------------------------*/

.lower.news .mv_container .mv_obj {
    background-position: left center;
}
	
/*sec01-------------------------------*/

.news .btn_container {
    padding: 60px 0;
}

.news .btn_container .more {
    display: block;
    width: 60px;
    height: 60px;
    margin: 0 auto;
    background-color: #666;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    line-height: 60px;
    letter-spacing: .05em;
}
	
/*sec01-------------------------------*/

.news .news_ttl {
    width: 1000px;
    margin: 0 auto 50px;
    font-family: Likurei;
    font-size: 30px;
    box-sizing: border-box;
    padding: 0 20px 30px;
    border-bottom: 2px solid #000;
}

.news .news_date {
    width: 1000px;
    margin: 0 auto 50px;
    box-sizing: border-box;
    font-family: Likurei;
    font-size: 14px;
    color: #999;
    text-align: center;
    letter-spacing: .2em;
}

.post_content {
    width: 1000px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
	margin: 0 auto;
    padding: 50px 0;
}

.post_content p {
	font-size: 18px;
	line-height: 2em;
	padding-bottom: 2em;
}
.post_content img {
	max-width: 100%!important;
	height: auto;
	margin-bottom: 1.5em;
}
.post_content figure {
	margin: 0;
}
.post_content a {
	text-decoration: underline;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}
.post_content a:hover {
	opacity: .6;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}
.post_content h1 {
	font-size: 40px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h2 {
	font-size: 35px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h3 {
	font-size: 30px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h4 {
	font-size: 25px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h5 {
	font-size: 22px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h6 {
	font-size: 20px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content strong {
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content em {
	font-style: italic!important;
	padding-bottom: 1.5em;
}
.post_content ul {
	padding-left: 2em;
	padding-bottom: 1.5em;
}
.post_content ul li {
	list-style-type: disc;
	padding-bottom: 0;
	border: 0;
	font-size: 18px;
	line-height: 1.5em;
}
.post_content ol {
	padding-left: 2em;
	padding-bottom: 1.5em;
}
.post_content ol li {
	list-style-type: decimal;
	padding-bottom: 0;
	border: 0;
	line-height: 1.2em;
}
.post_content blockquote {
	margin: 10px;
	padding: 0 20px 10px;
	background-color: rgba(0,0,0,.05);
}
.post_content blockquote:before {
	content: '“';
	font-size: 50px;
	line-height: 1em;
	height: 30px;
	display: block;
	padding-top: 10px;
	color: #666;
}
.post_content blockquote:after {
	content: '”';
	font-size: 50px;
	line-height: 1em;
	height: 20px;
	color: #666;
	display: block;
	padding-bottom: 10px;
	width: 100%;
	text-align: right;
}

.news .btn_wrap {
    padding: 0 0 100px;
}

.news .btn_wrap .btn_reverse {
    top: 0;
}

/*sns_container-------------------------------*/
.sns_container{
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	padding: 30px 0 0;
}

.snstext{
	font-size:13px;
	vertical-align:middle;
	padding-left:10px;
}

.snscount{
	font-size:13px;
	vertical-align:middle;
	padding:0 10px;
}

.sns_container .sns_list_container {
    width: 100%;
    margin: 0 auto;
    padding: 0;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

}
.sns_container .sns_list_item {
    list-style: none;
	width:50%;
}

.sns_container .sns_list_item a {
    font-family: likurei;
	font-size:18px;
	position:relative;
	display:block;
	padding:5px 10px 5px 15px;
	color:#fff;
    letter-spacing: .05em;
	border-radius:3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	text-decoration: none;
	height:28px;
	margin:5px;
	cursor:pointer;
	line-height:25px;
}
.sns_container .sns_list_item a:hover {
	opacity: .6;
}

.sns_container .sns_list_item a i {
    width: 30px;
}

.sns_container .sns_list_item a {
    background-color: #5b5452;
}

/*.sns_container .twitter a {
	background:#55acee;
}

.sns_container .fa-twitter {
	border-right:1px solid #9ACFF4;
}

.sns_container .facebook a {
	background:#3b5998;
}

.sns_container .fa-facebook {
	border-right:1px solid #607BB2;
}

.sns_container .pinterest a {
	background:#e60023;
}

.sns_container .fa-pinterest {
	border-right:1px solid #e8677a;
}

.sns_container .hatebu a {
	background:#00a5de;
}

.sns_container .fa-hatena {
	border-right:1px solid #48B6DB;
    padding-right: 13px;
}

.sns_container .line a {
	background:#25af00;
}

.sns_container .fa-comment {
	border-right:1px solid #29c200;
}

.sns_container .pocket a {
	background:#f03e51;
}

.sns_container .fa-get-pocket {
	border-right:1px solid #F27985;
}*/



/*--------------------------------------*/

/*campaign*/

/*--------------------------------------*/

/*detail-------------------------------*/

.lower.campaign.detail .mv_wrap {
    height: 240px;
}

.lower.campaign.detail .page_ttl {
    bottom: 30px
}

.lower.campaign.detail section:nth-of-type(odd) {
	background: none;
}

.lower.campaign.detail section:nth-of-type(even) {
	background-color: #fff;
}



/*sec01-------------------------------*/

.lower.campaign.detail .sec01 {
    overflow: hidden;
}

.lower.campaign.detail .profile_photo .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/profile_photo/mv.jpg') center 30% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .recruit_idphoto .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/recruit_idphoto_campaign/mv_pc.webp') center top no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .autumn_family_photo_2022 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2022_autumn_family_photo/photo08.jpg') center 30% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .job-hunting-campaign-2022 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2022-job-hunting-campaign/mv_pc.webp') center 30% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .drivers-lisense-id-photo-campaign .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/drivers-lisense-id-photo-campaign/mv_pc.webp') center 50% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .exam_students_campaign .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/exam_students_campaign/mv_pc.jpg') center 50% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .formal_family_photo_campaign .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2023_formal_family_photo_campaign/mv.jpg') center 50% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .mynumbercard_campaign .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/mynubercard_campaign/mv.jpg') center 50% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .cherryblossoms_photo_campaign .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2023_cherryblossoms_photo_campaign/mv.jpg') center 35% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .graduation-admission-anniversary-photo-campaign .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2023-graduation-admission-anniversary-photo-campaign/mv_pc.jpg') center 35% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .graduation-admission-anniversary-photo-campaign-2025 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2025-graduation-admission-anniversary-photo-campaign/mv_pc.webp') center 35% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .weddingannivasery_photo .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/wedding_anniversary_photo_campaign/mv_pc.jpg') center center no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .hydrangea_photo_campaign .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2024_hydrangea_photo_campaign/mv.jpg') center 20% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .examination_student_support_campaign .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2024_examination_student_support_campaign/mv.jpg') center center no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .examination_student_support_campaign_2026 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2026-graduation-admission-anniversary-photo-campaign/mv_pc.webp') center center no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .examination_student_support_campaign_2027 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2027-graduation-admission-anniversary-photo-campaign/mv_pc.webp') center center no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .photo_ai_new_perspectives_campaign_2026 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2026_photo_ai_new_perspectives_campaign/mv_pc.webp') center center no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .autumn_naturalphoto_campaign_2025 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2025_autumn_naturalphoto_campaign/mv_pc.webp') center center no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .summer_portrait_campaign .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2023_summer_portrait_campaign/mv.jpg') center center no-repeat;
    background-size: cover;
    padding: 0;
    border-top: 4px solid #0257b2;
    border-bottom: 4px solid #0257b2;
    border-image: linear-gradient(to right, #0257b2 0%, #74dbec 100%);
    border-image-slice: 1;
}

.lower.campaign.detail .family_photo_campaign .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2023_family_photo_campaign/mv.jpg') center top no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .baby_album_campaign_2024 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2024_baby_album_campaign/mv_pc.jpg') center top no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .cherryblossoms_photo_campaign2024 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2024_cherryblossoms_photo_campaign/mv.jpg') center 35% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .park_photo_campaign .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2024_park_photo_campaign/mv.webp') center 20% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .newyearscards_campaign .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/newyearscards_campaign/mv.webp') right center no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .newyear_profile_portrate_photo_2025 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2025_newyear_profile_portrate_photo_campaign/mv_pc.webp') right top no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .spring_summer_profile_portrate_photo_2025 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2025_spring_summer_profile_portrate_photo_campaign/mv_pc.webp') right top no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .cherryblossoms_photo_campaign2025 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2025_cherryblossoms_photo_campaign/mv.webp') center 35% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .cherryblossoms_photo_campaign2026 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2026_cherryblossoms_photo_campaign/mv.webp') center 35% no-repeat;
    background-size: cover;
    padding: 0;
}

.lower.campaign.detail .graduation_admission_anniversary_photo_campaign_2026 .sec01 {
    width: 100%;
    height: 500px;
    background: url('../img/campaign/2026_graduation_admission_anniversary_photo_campaign/mv.webp') center 35% no-repeat;
    background-size: cover;
    padding: 0;
}

.cp_ttl {
    position: relative;
    margin-bottom: 70px;
}

.sec01 .cp_ttl {
    position: absolute;
    top: 40px;
    left: 30px;
}

.cp_ttl:after {
    content: '';
    display: block;
    width: 100px;
    height: 3px;
    background-color: #5b5452;
    position: absolute;
    bottom: -25px;
    left: 0;
}

.cp_ttl b {
    font-family: SakuraKeisetsu;
    font-size: 72px;
    color: #5b5452;
    letter-spacing: .025em;
    text-shadow : 
    1px  1px 1px #fff,
   -1px  1px 1px #fff,
    1px -1px 1px #fff,
   -1px -1px 1px #fff,
    1px  0px 1px #fff,
    0px  1px 1px #fff,
   -1px  0px 1px #fff,
    0px -1px 1px #fff;
}

.cp_ttl span {
    display: block;
    font-family: Likurei;
    font-size: 30px;
    color: #5b5452;
    letter-spacing: .025em;
    text-shadow : 
    1px  1px 1px #fff,
   -1px  1px 1px #fff,
    1px -1px 1px #fff,
   -1px -1px 1px #fff,
    1px  0px 1px #fff,
    0px  1px 1px #fff,
   -1px  0px 1px #fff,
    0px -1px 1px #fff;
}

.meguro_obj {
    width: 326px;
    position: absolute;
    top: 340px;
    left: 50%;
    margin-left: 190px;
}
@media screen and (max-width: 1080px) {
    .cp_ttl b {
        font-size: 6.67vw;
    }

    .cp_ttl span {
        font-size: 2.78vw;
    }
    .meguro_obj {
        left: auto;
        right: 20px;
        margin-left: 0;
    }
}

.lower.campaign.detail .photo_list_container {
    display: flex;
    justify-content: space-between;
    padding-bottom: 30px;
}

.lower.campaign.detail .photo_list_container .photo_list_item {
    width: 49%;
}

.lower.campaign.detail .photo_list_container.three .photo_list_item {
    width: 32%;
}

.lower.campaign.detail .graduation-admission-anniversary-photo-campaign .plain_table td span.pc {
    display: inline-block;
}

.lower.campaign.detail .schedule_list_container {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 1em;
}

/*sec02-------------------------------*/

.campaign.detail .sec02,
.campaign.detail .sec03,
.campaign.detail .sec04 {
    padding: 60px 0 150px;
}

.cp_subttl {
    font-size: 24px;
    letter-spacing: .025em;
    padding-bottom: 30px;
}

.cp_lead {
    font-size: 24px;
    letter-spacing: .025em;
    padding-bottom: 30px;
}

.cp_txt {
    font-size: 18px;
    line-height: 1.875em;
    letter-spacing: .025em;
    padding-bottom: 1.5em;
}

.cp_txt + .cp_subttl {
    padding-top: 50px;
}

.viewer_list_wrap {
    width: 1000px;
    margin: 40px auto 0;
}

.cp_lead + .viewer_list_wrap {
    margin-top: 0;
}

.campaign.detail .plain_table th {
    font-size: 24px;
}

.campaign.detail .plain_table {
    margin-bottom: 50px;
}

.campaign.detail .plain_table em {
    font-size: 60px;
    font-style: normal;
    color: #666!important;
}

.campaign.detail .plain_table p {
    line-height: 1.4em;
    padding-bottom: 2em;
}

.campaign.detail .plain_table ul li,
.plan.detail .plain_table ul li {
    padding-left: 1.2em;
    text-indent: -1.2em;
    line-height: 1.8em;
    padding-bottom: 1em;
}
.plan.detail .plain_table b {
    line-height: 1.1em;
}

.cp_list_container {
    padding-bottom: 1.2em;
}

.cp_list_item {
    font-size: 18px;
    line-height: 1.875em;
    letter-spacing: .025em;
    padding-left: 2em;
    text-indent: -2em;
}

.cp_list_ttl {
    font-size: 20px;
    display: block;
}

.campaign.detail .btn_wrap {
    margin-top: -50px;
}

.campaign.detail .campain_img_container {
    width: 1000px;
    padding-bottom: 60px;
}

.campaign.detail .btn_container.btn_reserve {
    padding-top: 100px;
}

.campaign.detail .btn_container.btn_ex {
    padding-bottom: 100px;
}

.campaign.detail .btn_container.btn_reserve a {
    display: block;
    margin: 0 auto;
    font-family: Likurei;
    font-size: 16px;
    color: #fff;
    text-align: center;
    line-height: 50px;
    width: 300px;
    height: 50px;
    background-color: #5b5452;
}

.campaign.detail .btn_container.btn_ex a {
    display: block;
    margin: 0 auto;
    font-family: Likurei;
    font-size: 16px;
    color: #fff;
    text-align: center;
    line-height: 50px;
    width: 500px;
    height: 50px;
    background-color: #5b5452;
}

.campaign .idphoto_list_container {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.campaign .idphoto_list_item {
    width: calc(100% / 3);
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #eee;
    position: relative;
    -webkit-transition: .5s ease-out;
    transition: .5s ease-out;
}

.campaign .idphoto_list_container.four .idphoto_list_item {
    width: 25%;
}
@media screen and (max-width: 1000px) {
    .campaign .idphoto_list_item {
        width: 50%;
    }
    .campaign .idphoto_list_container.four .idphoto_list_item {
        width: 50%;
    }
}

.campaign .idphoto_list_item a {
    display: block;
    width: 100%;
    padding: 0 0 120%;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.campaign .idphoto_obj {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    width: 100%;
    height: 100%;
}

.campaign .idphoto_list_item .txt_container {
    padding: 5px 0 20px; 
}

.campaign .idphoto_list_ttl {
    padding-bottom: 10px;
    text-align: center;
}

.campaign .idphoto_list_ttl b {
    font-family: Likurei;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.88em;
    letter-spacing: .025em;
}

.campaign .idphoto_list_container.four .idphoto_list_ttl b {
    font-size: 20px;
    line-height: 1.33em;
}

.campaign .idphoto_list_txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.67em;
    letter-spacing: .025em;
}

.campaign .flex_wrap {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding-bottom: 40px;
}

.campaign .flex_wrap .left_container,
.campaign .flex_wrap .right_container {
    width: 48%;
}

.campaign .plan_subttl_obj {
    max-width: 320px;
}

.campaign .flex_wrap .center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items:center;
}

.campaign .summer_portrait_campaign .idphoto_list_item a {
    padding-bottom: 100%;
}

.campaign .summer_portrait_campaign .idphoto_list_item a .txt_container {
    padding: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
    z-index: 9;
}

.campaign .summer_portrait_campaign .idphoto_list_item a .txt_container .idphoto_list_ttl b {
    font-size: 28px;
    white-space: nowrap;
    color: #57764c;
    text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.campaign .summer_portrait_campaign .cp_subttl {
    font-size: 32px;
}

.campaign .summer_portrait_campaign .cp_subttl span {
    font-size: 20px;
}

.campaign .plan_ttl {
    padding-bottom: 20px;
}

.campaign .plan_ttl b {
    font-family: Likurei;
    font-size: 42px;
}

.campaign .plan_ttl span {
    font-size: 14px;
}

.campaign .flex_wrap .img_container {
    padding-bottom: 15px;
}

.campaign .plan_price_ttl {
    font-size: 24px;
    padding-bottom: 15px;
}

.campaign .plan_price_list_item {
    font-size: 18px;
    padding: 0 0 10px 1em;
    text-indent: -1em;
}

.campaign .plan_subttl {
    font-size: 20px;
    padding-bottom: 15px;
}

.campaign .plan_list_item {
    line-height: 1.6em;
    padding: 0 0 15px 1em;
    text-indent: -1em;
}

.campaign .note {
    display: block;
    padding-top: 20px;
    font-size: 12px;
}

.campaign .discount_list_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items:flex-end;
    padding-bottom: 60px;
}

.campaign .discount_list_container dt {
    width: 16em;
    padding-bottom: 1em;
    font-size: 22px;
}

.campaign .discount_list_container dd {
    width: 21em;
    padding-bottom: 1em;
    font-size: 22px;
}

.campaign .discount_list_container dd strong {
    font-size: 60px;
    font-weight: 900;
    color: rgba(102,102,102,1);
    line-height: .8em;
}

.campaign .discount_list_container.block dd strong {
    font-size: 52px;
}





/*--------------------------------------*/

/*blog*/

/*--------------------------------------*/

.lower.blog .mv_wrap {
    height: 240px;
}

.lower.blog .page_ttl {
    bottom: 30px
}

.blog_index_container {
    width: 90%;
    margin: 0 auto;
}

.blog_ttl {
    font-size: 72px;
    letter-spacing: .025em;
    padding-bottom: 40px;
}

.tax .sec02 .blog_ttl {
    font-family: Likurei;
}



/*sec01-------------------------------*/

.blog .sec01 {
    padding: 60px 0;
}

.blog .sec01 .blog_list_container {
    width: 100%;
    box-sizing: border-box;
    display: flex;
}

.blog .sec01 .blog_list_item {
    width: 50%;
    padding: 10px 20px 30px 0;
    box-sizing: border-box;
}

.blog .sec01 .blog_list_item:last-child {
    padding: 10px 0 30px 20px;
}

.blog .blog_list_item.is-hidden {
    display: none;
}

.blog .blog_list_item.current {
    opacity: 0;
    margin-top: 40px;
}

.blog .sec01 .blog_list_item a {
    display: block;
    width: 100%;
    background-color: #fff;
    position: relative;
}

.blog .sec01 .blog_list_item a:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.3);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
}

.blog .sec01 .blog_list_item a:hover:after {
    background-color: rgba(0,0,0,0);
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
}

.blog .sec01 .blog_list_item a .blog_list_obj {
    display: block;
    background-position: center center;
    background-size: cover;
    width: 100%;
    padding-top: 60%;
}

.blog .sec01 .blog_list_item .txt_container {
    position: absolute;
    bottom: 30px;
    left: 30px;
    z-index: 2;
}

.blog .sec01 .blog_list_item .blog_tit {
    font-family: likurei;
    font-size: 2.14vw;
    color: #fff;
    line-height: 1.33em;
    padding-bottom: 10px;
}
@media screen and (min-width: 1400px) {
    .blog .sec01 .blog_list_item .blog_tit {
        font-size: 30px;
    }
}

.blog .author_container {
    display: flex;
    align-items: center;
}

.blog .author_container .img_container {
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

.blog .author_container .author_obj {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

.blog .author_container .name_container {
    padding-left: 10px;
}

.blog .author_container .name_container b {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #333;
    line-height: 1em;
    white-space: nowrap;
}

.blog .author_container .name_container i {
    font-style: normal;
    font-size: 12px;
    font-weight: 400;
    color: #999;
    line-height: 1em;
}

.blog .sec01 .blog_list_item .author_container .name_container b,
.blog .sec01 .blog_list_item .author_container .name_container i {
    color: #fff;
}



/*sec02-------------------------------*/

.blog .sec02 {
    padding-top: 60px;
}

.blog .sec02.is_date {
    background-color: #fff;
    position: relative;
    z-index: 2;
}

.blog .sec02 .blog_ttl {
    padding-bottom: 10px;
}

.blog .sec02 .post_wrap {
    width: 100%;
    display: flex;
}

.blog .sec02 .left_container {
    width: 70%;
    box-sizing: border-box;
    padding-right: 4.29vw;
    padding-top: 30px;
}

.blog .sec02 .right_container {
    width: 30%;
    box-sizing: border-box;
    position: relative;
    padding-top: 30px;
}

.blog .sec02 .right_container aside {
    width: 27vw;
}

.blog .sec02 .right_container aside.fixed {
    position: fixed;
    top: 30px;
    left: 68%;
}

.blog .sec02 .right_container aside.absolute {
    position: absolute;
    bottom: 0;
    left: 0;
}

.blog .sec02 .blog_list_container {
    width: 100%;
    box-sizing: border-box;
}

.blog .sec02 .blog_list_item {
    width: 100%;
    padding-bottom: 50px;
    box-sizing: border-box;
}

.blog .sec02.is_date option {
    display: none;
}

.blog .sec02 .past_post_item:first-child,
.blog .sec02 .past_post_item:nth-child(2) {
    display: none;
}

.blog .sec02 .blog_list_item a {
    display: block;
    width: 100%;
    min-height: 18.57vw;
    background-color: #fff;
    position: relative;
    display: flex;
}

.blog .sec02 .blog_list_item a .blog_list_obj {
    display: block;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 23.57vw;
    height: 100%;
}

.blog .sec02 .blog_list_item .txt_container {
    padding: 1.79vw 2.14vw 5.36vw;
    position: relative;
}

.blog .sec02 .blog_list_item .blog_tit {
    font-family: likurei;
    font-size: 1.71vw;
    color: #333;
    line-height: 1.25em;
}

.blog .sec02 .blog_list_item .author_container {
    position: absolute;
    bottom: 1.79vw;
    left: 2.14vw;
}

.blog .sec02 .btn_container {
    width: 100%;
    padding: 30px 0;
}

.blog .sec02 .btn_container .more {
    display: block;
    width: 60px;
    height: 60px;
    margin: 0 auto;
    background-color: #666;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    line-height: 60px;
    letter-spacing: .05em;
}
@media screen and (min-width: 1400px) {
    .blog .sec02 .blog_list_item .txt_container {
        padding: 25px 30px 75px;
        position: relative;
    }
    .blog .sec02 .blog_list_item .blog_tit {
        font-family: likurei;
        font-size: 24px;
    }
    .blog .sec02 .blog_list_item .author_container {
        bottom: 25px;
        left: 30px;
    }
}

.blog .sec02 .cat_list_container {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 20px;
}

.blog .sec02 .cat_list_item {
    padding: 0 15px 15px 0;
} 

.blog .sec02 .cat_list_item a {
    display: block;
    height: 32px;
    padding: 0 8px;
    background-color: #5b5452;
    font-family: Likurei;
    font-size: 18px;
    color: #fff;
    text-align: center;
    line-height: 32px;
    letter-spacing: .025em;
}

.blog .sec02 .right_container .author_list_container {
    padding-bottom: 30px;
}

.blog .sec02 .right_container .author_list_item {
    padding-bottom: 30px;
}

.blog .sec02 .right_container .author_list_item a {
    display: block;
}

.blog .sec02 .right_container .author_container {
    display: flex;
    align-items: center;
}

.blog .sec02 .right_container .author_container .img_container {
    display: block;
    width: 72px;
    height: 72px;
    border-radius: 36px;
    overflow: hidden;
    position: relative;
}

.blog .sec02 .right_container .author_container .author_obj {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

.blog .sec02 .right_container .author_container .name_container {
    display: block;
    padding-left: 10px;
}

.blog .sec02 .right_container .author_container .name_container b {
    display: block;
    font-size: 28px;
    color: #333;
    line-height: 72px;
}

.blog #wp-calendar {
    width: 100%;
}

.blog #wp-calendar caption {
    background-color: #5b5452;
    font-family: likurei;
    font-size: 18px;
    color: #fff;
    line-height: 40px;
    padding: 0 10px;
    margin-bottom: 10px;
}

.blog #wp-calendar th {
    width: calc(100% / 7);
    text-align: center;
    padding: 5px 0;
}

.blog #wp-calendar td {
    width: calc(100% / 7);
    text-align: center;
    line-height: 30px;
    min-height: 30px;
}

.blog #wp-calendar td#prev {
    text-align: left;
    padding-top: 15px;
}

.blog #wp-calendar td#next {
    text-align: right;
    padding-top: 15px;
}

.blog #wp-calendar tbody td a {
    display: block;
    width: 100%;
    background-color: #5b5452;
    color: #fff;
}



/*sec03-------------------------------*/

.blog .sec02.is_date + .sec03 {
    position: relative;
    z-index: 2;
}

.blog .sec03 .blog_list_container {
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
    display: flex;
}

.blog .sec03 .blog_list_item {
    width: 25%;
    padding: 5px;
    box-sizing: border-box;
}

.blog .sec03 .blog_list_item a {
    display: block;
    width: 100%;
    background-color: #fff;
    position: relative;
}

.blog .sec03 .blog_list_item a .blog_list_obj {
    display: block;
    background-position: center center;
    background-size: cover;
    width: 100%;
    padding-top: 60%;
}

.blog .sec03 .blog_list_item .txt_container {
    padding: 10px;
}

.blog .sec03 .blog_list_item .blog_tit {
    font-family: likurei;
    min-height: 70px;
    font-size: 18px;
    color: #333;
    line-height: 1.33em;
}



/*detail-------------------------------*/

.blog.detail .post_ttl {
    width: 1000px;
    margin: 0 auto 30px;
    font-family: Likurei;
    font-size: 30px;
    box-sizing: border-box;
    padding: 0 20px 30px;
    border-bottom: 2px solid #000;
}

.blog.detail .sec01 .author_container {
    justify-content: center;
    padding-bottom: 10px;
}

.blog.detail .sec01 .author_container .name_container b {
    font-size: 18px;
    line-height: 40px;
}

.blog.detail .post_date {
    width: 1000px;
    margin: 0 auto 30px;
    box-sizing: border-box;
    font-family: Likurei;
    font-size: 14px;
    color: #999;
    text-align: center;
    letter-spacing: .2em;
}

.blog.detail .btn_wrap {
    padding-bottom: 120px;
}





/*--------------------------------------*/

/*idphoto*/

/*--------------------------------------*/
	
/*sec01-------------------------------*/

.idphoto .sec01 .idphoto_list_container {
    width: 90vw;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.idphoto .sec01 .idphoto_list_item {
    width: 500px;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #eee;
    position: relative;
    -webkit-transition: .5s ease-out;
    transition: .5s ease-out;
}
@media screen and (max-width: 1000px) {
    .idphoto .sec01 .idphoto_list_item {
        width: 50%;
    }
}

.idphoto .sec01 .idphoto_list_item a {
    display: block;
    width: 100%;
    padding: 0 0 48%;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.idphoto .idphoto_obj {
    background-position: center center;
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 100%;
}

.idphoto .sec01 .idphoto_list_item .txt_container {
    padding: 20px 0 20px; 
}

.idphoto .idphoto_list_ttl {
    padding-bottom: 10px;
}

.idphoto .idphoto_list_ttl b {
    font-family: Likurei;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.88em;
    letter-spacing: .025em;
}

.idphoto .idphoto_list_txt {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.67em;
    letter-spacing: .025em;
}



/*detail-------------------------------*/

.detail .option_list_container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.detail .option_list_container dt {
    width: 75%;
}

.detail .option_list_container dd {
    width: 25%;
    text-align: right;
}



/*--------------------------------------*/

/*voice*/

/*--------------------------------------*/
	
/*summary-------------------------------*/

.voice .select_container {
    width: 500px;
    margin: 0 auto;
    position: relative;
}

.voice .select_sub_wrap {
    display: none;
    padding-top: 30px;
}
.voice .select_sub_wrap.active {
    display: block;
}

.voice select {
    width: 500px;
    height: 50px;
    box-sizing: border-box;
    padding-left: 10px;
    background-color: #fff;
    border: 1px solid #ccc;
    color: #666;
    cursor: pointer;
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.voice select:focus {
    outline: none;
    border: 1px solid #666;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.voice select::-ms-expand {
    display: none;
}

.voice .select_container:after {
    content: "";
    width: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #666;
    position: absolute;
    right: 10px;
    top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.voice.disabled .select_container select {
    pointer-events: none;
    color: #999;
    background-color: #eee;
    border: 2px solid #eee;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.voice.disabled .select_container select:focus {
    outline: none;
    border: 2px solid #eee;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.voice.disabled .select_container:after {
    border-top: 8px solid #ccc;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.voice .btn_container {
    padding: 30px 0 100px;
}

.voice .btn_container .reset {
    display: block;
    width: 60px;
    height: 60px;
    margin: 0 auto;
    background-color: #666;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    line-height: 60px;
    letter-spacing: .05em;
}

.voice .btn_container .more {
    display: block;
    width: 60px;
    height: 60px;
    margin: 0 auto;
    background-color: #666;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    line-height: 60px;
    letter-spacing: .05em;
}

.voice .voice_list_container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.voice .empty_txt {
    display: inline-block;
    width: 100%;
    text-align: center;
    font-size: 18px;
    padding: 60px 0;
    opacity: 0;
}

.voice .voice_list_item {
    width: 20%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid  #eee;
    position: relative;
}

.voice .voice_list_item.is-hidden {
    display: none;
}

.voice .voice_list_item.current {
    opacity: 0;
    margin-top: 40px;
}

.voice .voice_list_item .voice_trigger {
    display: block;
    width: 100%;
    padding-top: 100%;
    position: relative;
    cursor: pointer;
}

.voice .voice_obj {
    display: block;
    background-position: center center;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.voice .modal_list_item {
    width: 100%;
    height: 100vh;
    background-color: rgba(0,0,0,.8);
    border: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999999999;
    display: none;
}

.voice .modal_list_item .voice_target {
    width: 1000px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 30px;
    box-sizing: border-box;
    background-color: #fff;
    display: flex;
    align-items: flex-start;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
    cursor: default;
}

.voice .modal_list_item .modal_obj {
    width: 45%;
    position: static;
}

.voice .modal_list_item .txt_container {
    width: 55%;
    padding-left: 20px;
    box-sizing: border-box;
}

.voice .modal_list_item .voice_list_ttl {
    display: block;
    width: 100%;
    font-family: Likurei;
    font-size: 24px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 2px solid #000;
}

.voice .modal_list_item .voice_list_txt {
    display: block;
}

.voice .modal_list_item .close {
    font-size: 72px;
    font-weight: 900;
    color: #fff;
    line-height: 1em;
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 50px;
}

.modal_list_item .voice_list_txt {
    font-size: 18px;
    line-height: 1.64em;
}



/*--------------------------------------*/

/*inquiry*/

/*--------------------------------------*/

.lower.inquiry .mv_wrap {
    height: 240px;
}

.lower.inquiry .page_ttl {
    bottom: 30px
}

.lower.inquiry .inquiry_lead {
    font-family: Likurei;
    font-size: 48px;
    font-weight: 400;
    color: #333;
    line-height: 1.25em;
    letter-spacing: .025em;
    padding-bottom: 30px;
}

.lower.inquiry .mb20 {
    margin-bottom: 20px;
}

input[type="checkbox"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	position: relative;
	right: 0;
	bottom: 0;
	left: 0;
	height: 20px;
	width: 20px;
	vertical-align: -0.8rem;
	transition:all .15s ease-out 0s;
	color: #ddd;
	cursor: pointer;
	display: inline-block;
	margin: .4rem;
	outline: none;
	border-radius: 10%;
}

input[type="checkbox"]:before,input[type="checkbox"]:after {
	position: absolute;
	content: "";
	background: #fff;
	transition: all .2s ease-in-out;
}
input[type="checkbox"]:before {
	left: 2px;
	top: 6px;
	width: 0;
	height: 2px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
}
input[type="checkbox"]:after {
	right: 9px;
	bottom: 3px;
	width: 2px;
	height: 0;
	transform: rotate(40deg);
	-webkit-transform: rotate(40deg);
	-moz-transform: rotate(40deg);
	-ms-transform: rotate(40deg);
	-o-transform: rotate(40deg);
	transition-delay: .2s;
}
input[type="checkbox"]:checked:before {
	left: 1px;
	top: 10px;
	width: 6px;
	height: 2px;
}
input[type="checkbox"]:checked:after {
	right: 5px;
	bottom: 1px;
	width: 2px;
	height: 14px;
}
input[type="checkbox"]:indeterminate:before,input[type="checkbox"]:indeterminate:after {
	width: 7px;
	height: 2px;
	transform: rotate(0);
	-webkit-transform: rotate(0);
	-moz-transform: rotate(0);
	-ms-transform: rotate(0);
	-o-transform: rotate(0);
}
input[type="checkbox"]:indeterminate:before {
	left: 1px;
	top: 7px;
}
input[type="checkbox"]:indeterminate:after {
	right: 1px;
	bottom: 7px;
}

input[type="checkbox"] {
	border: 2px solid #ccc;
	background-color: #fff;
}
input[type="checkbox"]:checked,input[type="checkbox"]:indeterminate {
	background: #333;
	border: 2px solid #333;
}

input[type="text"],
select{
	width: 100%;
	height: 50px;
	font-size: 16px;
	background-color: #fff;
	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 5px;
}

input[type="text"]#zip {
    width: 40%;
}

input:focus,
textarea:focus,
select:focus {
	outline: 5px solid #cc0000;
}
input[type="checkbox"]:focus {
	outline: none;
}

textarea {
	width: 100%;
	height: 10em;
	font-size: 16px;
	background-color: #fff;
	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 5px;
}

.formErrorContent {
	color: #cc0000;
	padding-top: 5px;
}

.req {
	background-color: #cc0000;
	color: #fff;
	font-size: 12px;
	letter-spacing: .2em;
	padding: 0 5px 2px 5px;
	margin-left: 10px;
}

.submit_container {
	text-align: center;
	padding-top: 50px;
    position: relative;
}

form:nth-of-type(2) .submit_container {
    padding-top: 10px;
}

input[type="submit"] {
    display: block;
	margin: 0 auto;
    width: 400px;
    height: 50px;
    background-color: rgba(0,0,0,.7);
    border: 1px solid #fff;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    text-align: center;
    line-height: 50px;
    letter-spacing: .1em;
    position: relative;
    cursor: pointer;
}

input[type="submit"]:focus,
input[type="submit"].back:focus{
	outline: none;
}

.btn_wrap:hover::before,
.back_wrap:hover::before {
    animation: shine_submit .7s;
}
@keyframes shine_submit {
  100% {
    left: 125%;
  }
}

.inquiry article .btn_container {
    padding-top: 50px;
}

.inquiry .btn_container.back a {
    display: block;
	margin: 0 auto;
    width: 400px;
    height: 50px;
    background-color: rgba(0,0,0,.7);
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    text-align: center;
    line-height: 50px;
    letter-spacing: .1em;
}

.error {
	color: #cc0000;
	font-size: 14px;
}

.inquiry .center {
	text-align: center;
}

.inquiry .center.mail {
	padding: 40px 0 80px;
}

.inquiry_txt,
.inquiry_txt a {
	font-size: 16px;
	line-height: 2em;
	padding-bottom: 2em;
}

.password-protected p {
    text-align: center;
}

.post-password-form p + p {
    padding-top: 2em;
    display: block;
}

.post-password-form p label {
    margin-bottom: 2em;
}