/* ========================================== */
/* base */
/* ========================================== */

body {
	font-family: "Noto Sans JP",'メイリオ',Meiryo,"HiraKakuProN-W3","ヒラギノ角ゴ ProN W3",sans-serif;
	line-height:1.8;
	color:#5F6368;
	font-size:14px;
}

.container {
    max-width: 1030px;
}

.container.main {
    margin-top: 110px;
}

@media screen and (max-width:1199px){
    .container.main {
        margin-top: 90px;
    }
}

ul {
	padding:0px;
	margin:0;
	list-style:none;
}

ul.indent li {
	text-indent:-1em;
	padding-left:1em;
}

dt {
	font-weight:normal;
}

a {
    color: #f987a3;
	text-decoration:none;
	word-wrap:break-word;
	word-break: break-all;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}

a:hover {
    color: #f987a3;
    opacity: 0.8;
	text-decoration:none;
}
 
a:focus {
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

input[type="text"],input[type="password"],input[type="email"],textarea,select{ 
	font-family: inherit;
	font-size:1em !important;
	font-weight:inherit;
    -webkit-appearance: none;
}

dl,dd,p {
	margin:0;
	padding:0;
}



/* ========================================== */
/* フォント */
/* ========================================== */


.font-accent {
font-family: 'Dosis', sans-serif;
}

.font-xs {
  font-size: 11px;
  line-height: 1.4rem;
}

a {
	-webkit-transition:.3s ease;
	transition:.3s ease;
}

a:hover {
	text-decoration:none;
}




/* ========================================== */
/* ヘッダー */
/* ========================================== */

/* ヘッダーグラデーション */
@media screen and (min-width:1200px){
header .navbar.bg-base{
    height: 55px;
    background: linear-gradient(91deg, #FFD1DC 15%, #fff 40%);
}
}
@media screen and (max-width:1199px){
header .header-xl-wrap {
    background: linear-gradient(91deg, #FFD1DC 15%, #fff 40%);
}
}

header .brand-logo img {
	height: 23px;
}
header a {
	color: #333;
	text-decoration:none;
}
header a:hover {
	opacity: 0.7;
}
header .btn {
	min-width:100px;
}
header .nav-link {
	border-bottom:none;
}
header .nav-link:hover {
    color: #333;
    opacity: 0.7;
	border-bottom:none;
}
header.navbar{
    padding: 0;
}
header .brand-logo {
    line-height: 1;
    padding: 0.7rem 0.5rem 0.35rem 15px;
}
header a:hover{
    opacity: 0.7;
    background-color:transparent;
}
header a.no_hover {
    color: #B3B3B3;
}

@media screen and (max-width: 767px) {
header .brand-logo {
    padding: 0.7rem 0.5rem 0.8rem 15px;
}
}

@media (min-width: 1201px) and (max-width: 1350px) {
header a.nav-link {
	font-size:0.85em;
}
}

@media screen and (max-width: 1199px) {
header .btn {
	min-width:80px;
	font-size:90%;
}
header.navbar {
	padding:0;
}
header .nav-link {
    padding: 0.5rem 1rem;
    font-size: 25px;
}
header a.hr-b:hover,
header a.hr-b:visited{
    border-bottom: solid 1px #E0E0E0;
}
.navbar-toggler-custom-icon {
    width: 18px;
	height: 16px;
}
}

@media screen and (min-width: 1200px) {
header .nav-link {
    padding: 0.8rem 1rem;
}
header .header_nav {
	color:#333;
	text-decoration:none;
	padding:0 0 1px !important;
	margin:0 .5rem;
	position:relative;
	-webkit-transition:.3s ease;
	transition:.3s ease;
}
header .header_nav:hover {
	opacity:0.8;
	text-decoration:none;
}
header .header_nav::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	-webkit-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
	background-color: #333;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
header .header_nav:hover::after {
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
}
}


/*--- ログイン　ログアウト ---*/
header .log{
    line-height: 1;
    background-color: #111;
    border-color: transparent!important;
    color: #fff;
    position: relative;
    padding: 1.4em 15px 0.8em 42px;
    border-radius: 0;
}

header .log:hover {
    background-color: #222624;
}

header a.log span::before{
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    vertical-align: middle;
    transform: translateY(8%);
    height: 100%;
    z-index: 1;
}

header a.login span::before{
    background-image: url("../../images/icon/login.svg");
    background-size: 100%;
    left: 15px;
    width: 15%;
    top: 15px;
}

header a.logout span::before{
    background-image: url("../../images/icon/logout.svg");
    background-size: 100%;
    left: 15px;
    width: 15%;
    top: 15px;
}


@media screen and (max-width: 1199px){
header .log{
    padding: 1.2em 10px 0.7em 40px;
}
header a.login span::before{
    left: 14px;
    top: 12px;
}
header a.logout span::before{
    left: 14px;
    top: 12px;
}
}

/*--- 会員登録　マイページ ---*/
header .member{
    background-color: #808080;
    border-color: transparent!important;
    color: #fff;
    position: relative;
    padding: 1.1em 15px 1em 42px;
    border-radius: 0;
    font-size: 1em;
}

header .member:hover {
    background-color: #808080;
}

header a.member span::before{
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    vertical-align: middle;
    transform: translateY(8%);
    height: 100%;
    z-index: 1;
}

header a.registration span::before{
    background-image: url("../../images/icon/mypage.svg");
    background-size: 100%;
    left: 15px;
    width: 17%;
    top: 14px;
}

header a.mypage span::before{
    background-image: url("../../images/icon/mypage.svg");
    background-size: 100%;
    left: 15px;
    width: 15%;
    top: 14px;
}


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

header .navbar-toggler-custom-icon .bg-toggle {
    background-color: #000;
}
header .member{
    background-color: #808080;
    border-color: transparent!important;
    color: #fff;
    position: relative;
    padding: 0.8em 15px 0.8em 40px;
    border-radius: 0;
}
header .navbar-nav .btn-group{
    display: block;
}

header a.registration span::before {
    left: 12px;
    top: 11px;
} 
header a.mypage span::before {
    left: 12px;
    top: 11px;
} 
}

@media screen and (max-width: 767px){
header.navbar .navbar-brand img {
    width: 140px;
}
header .btn{
     font-size: 75%!important;
}

header h1{
      margin: 0;  
}
}

/*--- グロナビ PC---*/
@media (min-width: 1200px){
header.navbar-expand-xl .navbar-nav .nav-link{
    padding-right: 1.1rem;
    padding-left: 1.1rem;
    font-size: 1.3em;
}
header .icn-x {
   width: 16px;
   height: 16px;
   margin-top: -5px;
   padding: 0;
}
 
}

/*--- ハンバーガーメニュー ---*/
@media screen and (max-width: 1199px){
header .header-xl-wrap{
    display: flex;
    overflow: hidden;
    height: 46px;
    width: 100%;
    box-sizing: border-box;
    z-index: 10;
 }

 div#navbarNavAltMarkup {
    padding: 50px 15px 50px 15px;
 }

.collapse.show {
    height: 100vh;
    display: inline-block;
    overflow: auto;
    position: relative;
    background-color: #fff;
}    

.navbar-toggler .navbar-toggler-custom-icon span {
    height: 2px;
    color: #000;
    border-radius: 0;
}

.navbar-toggler[aria-expanded="false"] .navbar-toggler-custom-icon span:nth-child(2){
        width: 15px;
        top: 0;
        bottom: 0;
        margin: auto;
}
.navbar-toggler[aria-expanded="false"] .navbar-toggler-custom-icon span:nth-child(3) {
        width: 0.8rem;
        top: inherit;
        bottom: 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-custom-icon span:nth-child(1),
.navbar-toggler[aria-expanded="true"] .navbar-toggler-custom-icon span:nth-child(3) {
    top: 8px;
}

header a.nav-link {
    position: relative;
}

header a.hr-b {
    border-bottom: solid 1px #E0E0E0;
}

header .navbar-nav .nav-link {
    padding-left: 15px;
}

header .navbar-nav a.nav-link::after {
    content: "";
    margin: auto;
    border: none;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    width: 13px;
    height: 13px;
    background: transparent url("../../images/icon/arrow_bk.svg") no-repeat;
}

header .navbar-nav .header_under img{
    max-width: 245px;
    margin: 0 auto;
}
header #navbarNavAltUnderup .navbar-nav img{
    margin: 0 auto;
}
}


/*--- SP グロナビ　下部---*/
@media screen and (max-width: 1199px){
.header_under img.logo{
    max-width: 280px;
    margin: 0 auto;
    display: block;
    padding-top: 40px;
}

.header_under .fa-twitter:before {
    font-size: 3em;
    color: #FFD1DC;
    border-radius: 50%;
    padding: 0.3em;
    position: relative;
    margin: 10px 0;
}

.header_under .log{
    line-height: 1;
    background-color: #222624;
    border-color: transparent!important;
    color: #fff;
    position: relative;
    padding: 1.5em 0 0 2em;
    border-radius: 0;
    margin-left: 10px;
    display: inline-block;
    width: 42.5%;
    height: 55px;
}
    
.header_under a.log span::before{
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    z-index: 1;
    width: 20px;
    top: 20%;
}
    
.header_under a.login span::before{
    background-image: url("../../images/icon/login.svg");
    background-repeat: no-repeat;
    left: 30px;
    top: 13px;
    width: 18px;
}

.header_under a.logout span::before{
    background-image: url("../../images/icon/logout.svg");
    left: 30px;
    top: 15px;
    width: 18px;
}

.header_under .member{
    line-height: 1;
    background-color: #808080;
    border-color: transparent!important;
    color: #fff;
    position: relative;
    padding: 1.5em 0 0 2em;
    border-radius: 0;
    margin-right: 10px;
    display: inline-block;
    width: 42.5%;
    height: 55px;
}

.header_under a.member span::before{
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    z-index: 1;
    width: 20px;
    top: 25%;
}

.header_under a.registration span::before,
.header_under a.mypage span::before {
    background-image: url("../../images/icon/mypage.svg");
    left: 30px;
    top: 15px;
}

.header_under ul{
     height: 120px;   
}
    
}

/*---  追加 header ---*/
header #navbarNavAltUnderup{
    background: #F0F0F0;
    height: auto;
    top: 55px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16)
}
header #navbarNavAltUnderup .navbar-collapse{
    justify-content: flex-end;
}

header .navbar-nav .mx-3{
    display: flex;
    margin-right: 0!important;
    margin-left: 0!important;
}

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

header #navbarNavAltUnderup {
    top: 46px;
}
}

@media screen and (min-width:767px){
header #navbarNavAltUnderup .navbar-nav img{
    padding: 0.4rem 1rem 0.4rem 0;
}
}

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

header .brand-logo img {
        width: 175px;
    }
header #navbarNavAltUnderup{
    top:46px;
}
header #navbarNavAltUnderup .navbar-nav img{
    position: absolute;
    left: 0;
    padding: 1.2rem 0.5rem 0.35rem 15px;
}
}
@media screen and (min-width:1200px){
.dp-xl-block {
    display: block;
}
}


/* ========================================== */
/* CONTENTS */
/* ========================================== */
.container h2{
    position: relative;
	font-size: 40px;
    font-weight: 400;
	text-align: center;
    margin: 70px 0;
    letter-spacing: 0.1rem;
    padding-bottom: 25px;
}

.container h2::after{
    content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 1px;
    background-color: #333;
} 

@media screen and (max-width:767px){
.container h2{
    font-size: 30px;
    margin: 50px 0;
    padding-bottom: 20px;
}
}


/* ========================================== */
/* フッター */
/* ========================================== */

footer {
	padding: 0 0 50px;
    background-color: #EEEEEE;
}
footer ul {
	margin-bottom:0;
}
footer li {
	display:inline-block;
	margin-right:32px;
}
footer li a {
	color:#5F6368;
}
footer li a:hover {
	opacity:0.8;
	color:#5F6368;
}
footer .copy {
    font-size: 15px;
    line-height: 1.4;
}
@media screen and (max-width: 991px) {
footer li {
	display:inline-block;
	margin-right:18px;
}
}
@media screen and (min-width: 768px) {
footer li i.fa{
	margin-top: 5px;
}
}
@media screen and (max-width: 767px) {

footer {
    padding-bottom: 30px;
}
footer li {
	display:block;
	margin:0 0 16px;
}
footer .copy {
    font-size: 12px;
}
}

/*---  LINK ---*/
#link_list{
    padding: 60px 0;
    background: #FFD1DC;
}

@media screen and (max-width: 767px) {
    #link_list {
        padding-bottom: 40px;
    }
}

footer p {
    display: block;
}
footer .footer-wrap ul{
    text-align: center;
    margin-bottom: 20px;
}
footer .footer-wrap ul li{
    position: relative;
}

footer .footer-wrap ul li:hover{
    opacity: 0.8;
}
footer .footer-wrap ul li a{
    margin: 0 5px;
} 
footer .footer-wrap ul li a::before{
  background-image: url("../../images/icon/arrow_bk.svg");
  background-repeat: no-repeat;
  content: "";
  width: 12px;
  height: 11px;
  position: absolute;
  left: -14px;
  bottom: 7px;
}

footer #link_list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
footer #link_list img.logo{
    max-width: 227px;
}
footer #link_list li {
    width: 23.0%;
    display: inline-block;
}

footer #link_list li a{
    display: block;
}

footer #link_list a:hover {
    opacity: 0.7;
}

@media screen and (min-width: 575px) {

footer #link_list li {
	margin: 0 0.75% 24px;
}

}


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

footer #link_list li {
    width: 47%;
    margin: 0 1.5% 16px;
    display: inline-block;
    float: left;
    max-width: 575px;
}

}


@media screen and (max-width: 767px){
footer .footer-wrap li {
    display: inline-block;
}
footer .footer-wrap ul li a{
    display: block; 
    padding-left: 12px;
} 
footer .footer-wrap ul li a::before{
    left: 2px;
    bottom: 7px;
    display: inline-block;
}
}



/* ========================================== */
/* 共通カラー */
/* ========================================== */
/* ベースカラー */
/* 背景 */
.bg-base {
  /* サイト全体の背景色 */
  background-color: #fff;
}
.bg-toggle {
  /* サイト全体の背景色 */
  background-color: #333;
}

/* メインカラー */
/* 背景 */
.bg-main {
  /* 主にヘッダの背景色 */

  background-color: #212121;
}
/* サブカラー */
.bg-sub {
  /* 主にフッタの背景色 */
  background-color: #F0F0F0;
}
/* アクセントカラー */
/* 任意でUIパーツの色を増やしたいときに定義を増やす */
.bg-accent-light-gray {
  background-color: #f8f8f8;
}
.bg-accent-light-red {
  background-color: #efdfdf;
}

/* テキスト */
.text-base {
  color: #fff;
}
.text-main {
  color: #333;
}
.text-accent-light-gray {
  color: #c0c0c0;
}
.red {color:#FF0004;}

/* ========================================== */
/* UIパーツ別 */
/* ========================================== */
/* ボタン */
.btn {
  border-radius: 2rem;
}
.btn-main {
	color: #333 !important;
	background-color: #FFD1DC;
    border-radius: 3em;
    padding: 10px;
    margin: 0 auto;
    text-align: center;
    box-shadow: 0px 0px 8px rgb(0 0 0 / 35%);
    border: none;
    position: relative;
}

.btn-main::after {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 14px;
    width: 10px;
    height: 10px;
    background: transparent url("../../images/icon/arrow_gray.svg") no-repeat;
    background-size: 10px;
}
@media screen and (min-width: 768px) {
.btn-main {
    font-size: 16px;
}
}
.btn-main:hover {
	color: #333;
    opacity: 0.7;
    background-color: #FFD1DC;
    border-color: #FFD1DC;
}

a.btn {
	text-decoration:none;
}


/* アラート */
.alert-main {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
}
.alert-registration-mail.alert,
.alert-mypage-change-email.alert {
  border: none;
}
.alert-registration-mail.alert .alert-heading,
.alert-mypage-change-email.alert .alert-heading {
  color: #ff0000;
}
.alert-registration-mail.alert .alert-body,
.alert-mypage-change-email.alert .alert-body {
  color: #808080;
}
@media screen and (max-width: 991px) {
.mypagetop-attension-should-upload-photo, .mypagetop-attension-should-continue-plan, .mypagetop-attension-should-resubscribe-es, .mypagetop-attension-will-need-to-reregister-plan-payment-method {
    width: 96vw;
    margin-left: -48vw;
}
}

/* バッジ（ラベル） */
.badge-history-status.badge {
  font-size: 100%;
  font-weight: normal;
  padding: .5em 1em;
}
.badge-history-status.badge-secondary {
  color: #343a40;
  background-color: #e9ecef;
}

/* ========================================== */
/* 画面別 */
/* ========================================== */


/* マイページ履歴 */
@media screen and (min-width: 768px) {
.row-history-left {
  border-right: 1px solid rgba(0,0,0,.1);
}
}


/*--------------------
  MYPAGE
--------------------*/
@media screen and (min-width: 768px) {
.row-history-left {
  border-right: 1px solid rgba(0,0,0,.1);
}
}

.mypage-plan-contract-footer {
    display: none;
}

.uploaded-photo-status-label, .shipping-history-status-label, .ec-history-status-label, .ticket-history-status-label, .ticket-history-ticket-status-label {
    border-radius: 2rem;
	padding: 6px 1em;
}

/*membership-card*/

.membership-card-image .membership-card-image-on-member-number {
right: 3%;
bottom: 3%;
color:#333;
font-size: 16px;
}

@media screen and (max-width: 575px) {
.membership-card-image .membership-card-image-on-member-number {
font-size: 4vw;
}
}

/*------------------------
 pagination上余白
------------------------*/
ul.pagination {
	margin-top: 80px;
    flex-wrap: wrap;
}

/*-- pagination色 --*/
.page-link{
	color: #5F6368;
    border-color: #5F6368;
    border-radius: 0!important;
}
.page-item.disabled .page-link{
    border-color: #5F6368;
}
.page-item.active .page-link {
    background-color: #5F6368;
    border-color: #5F6368;
}

.page-link:hover{
	color: #fff;
	background-color: #5F6368;
	border-color: #5F6368;
}

/*--------------------------------
 form 内容確認ページ
--------------------------------*/
form dd{
	margin-bottom:1rem;
}
form dt label{
	font-weight: 700;
}

/*--------------------
  STORE TAG
--------------------*/
#store .store_tag ul{
  text-align: left!important;
  display: inline;
}

#store .store_tag ul li{
  padding: 0!important;
  margin-left: 1em;
}

/*-----------------------------
  NEWS　一覧
-----------------------------*/
.container #news .post-item-type_a1 .post-title{
    padding-left: 4.2em;
    padding-top: 0.4em;
}
.container #news .post-item-type_a1 .post-option{
    padding-left: 5em;
}
@media screen and (max-width:767px){
.container #news .post-body{
    padding: 16px 0px !important;
}
.container #news .post-item-type_a1 .post-title{
    padding-left: 3em;
}
.container #news .post-item-type_a1 .post-option{
    padding-left: 3.6em;
}
}
/*-----------------------------
  NEW icon
-----------------------------*/
.new-on::before {
  position: absolute;
  z-index: 999;
}

/* ヘッダー内 */
header .new-on::before {
    content: " ";
    background-color: #FFD1DC;
    border-radius: 50%;
    padding: 4px;
}


/* TOP NEWS内 */
.top-main-contents #news .new-on::before{
    content: " ";
    background: transparent url("../../images/icon/new.svg") no-repeat center/100%;
    left: -25px;
    top: 35px;
    width: 50px;
    height: 50px;
}
@media screen and (max-width:767px){
    .top-main-contents #news .new-on::before{
        width: 40px;
        height: 40px;
        top: 31px;
        left: -9px;
    }
}

/* NEWS　一覧内 */
.container #news .new-on::before{
    content: " ";
    background: transparent url("../../images/icon/new.svg") no-repeat center/100%;
    top: 20px;
    left: 5px;
    width: 50px;
    height: 50px; 
}
@media screen and (max-width:767px){
.container #news .new-on::before{
    width: 40px;
    height: 40px;
    top: 15px;
    left: 0;
}
}

/* CONTENTS内 */
#contents .new-on::before {
    content: " ";
    background: transparent url("../../images/icon/new.svg") no-repeat center/100%;
    width: 50px;
    height: 50px;
    top: -15px;
    left: -5px;
}
@media screen and (max-width:767px){
#contents .new-on::before {
    left: -5px;
}
}

.top-main-contents #contents .new-on::before {
    top: 0;
    left: 5px;
}

@media screen and (max-width:767px){
    .top-main-contents #contents .new-on::before {
        top: -10px;
        left: -5px;
    }
}


/* グロナビ内 */
@media (max-width: 1200px){
header #navbarNavAltMarkup .navbar-nav .new-on::before {
    content: " ";
    background-color: #FFD1DC;
    border-radius: 50%;
    padding: 3px;
    left: 5px;
}
/* ハンバーガーメニュー内 */
header .navbar-toggler .navbar-toggler-custom-icon.new-on::before{
	transform: translate(10px, -14px);
    right: 0;
    top: 4px;
}
}

/*-- NEW icon day --*/
.post-5d-ago::before,.post-7d-ago::before,.post-14d-ago::before , .post-30d-ago::before{
    display:none;
}