:root{
    /* カラー　*/
    --color_black: #000000;
    --color_yellow: #F2D970;
}

/*** ----------------------------------------------------------------------------- 

reset

-----------------------------------------------------------------------------  ***/
.clearfix:after {
	content:".";
	display:block;
	visibility:hidden;
	clear:both;
	height:0.1px;
	font-size:0.1em;
	line-height:0;
}
.clearfix {
	display:inline-table;
	zoom:1;
}
/*Hides from IE-mac \*/
* html .clearfix {
	height:1%;
}
.clearfix {
	display:block;
}


/* End hide from IE-mac */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
	margin:0px;
	padding:0px;
}　
table {
	border-collapse:collapse;
	border-spacing:0;
}
fieldset, img {
	border:0;
}
address, caption, cite, code, dfn, em, th, var {
	font-style:normal;
	font-weight:normal;
}
ul {
	list-style:none;
}
ol li{
	list-style:none;
}
caption, th {
	text-align:left;
}
h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:normal;
}
q:before, q:after {
	content:'';
}
abbr, acronym {
	border:0;
	font-variant:normal;
}
sup {
	vertical-align:top;
}
sub {
	vertical-align:text-bottom;
}
input, textarea, select {
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit;
}
input, textarea, select {
 *font-size:100%;
}
legend {
	color:#000000;
}
img {
	vertical-align:bottom;
  height: auto;
}
table caption {
	font-weight: bold;
	margin:0 0 5px;
}
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


/*** ------------------------------------------------------------------------------ 

HTML5

-----------------------------------------------------------------------------  ***/
#header, footer, nav, section, article, figure, aside {
	display:block;
}
* {
	box-sizing:border-box;
}
i{
	margin: 0 5px 0 0;
}
img{
	max-width: 100%;
	image-rendering: -webkit-optimize-contrast;
}

/*** ------------------------------------------------------------------------------ 

common

-----------------------------------------------------------------------------  ***/
html {
	height: 100%;
  font-size: 10px;
	overflow-x: hidden;
  overflow-x: clip;
}
body {
	color: var(--color_black);
	line-height: 2.0;
	font-size: 1.6rem;  
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
  overflow-x: clip;
}
main{
  margin-top: 45px;
}

@media (max-width:768px){
	body {
		font-size: 1.6rem;
	}
}


.l-section-inner{
  width: 880px;
	max-width:100%;
	padding: 45px 20px 55px;
	box-sizing: border-box;
	margin: 0 auto;
}

.p-section-ttl{
  padding-top: 20px;
  text-align: center;
  position: relative;
  margin: 0 auto 65px;
}
.p-section-ttl--mb-small{
  margin-bottom: 25px;
}
.p-section-ttl--mb-medium{
  margin-bottom: 30px;
}
.p-section-ttl:before{
  content: '';
  display: block;
  width: 95px;
  height: 1px;
  background: var(--color_black);
  position: absolute;
  top:0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.p-section-ttl-item{
  display: inline-block;
  line-height: 1.5;
  letter-spacing: 3px;
  font-size: 2.2rem;
}
.p-section-ttl-item span{
  display: inline-block;
  line-height: 1.2;
  letter-spacing:1px;
  font-size: 1.1rem;
}

.p-link-txt{
  display: block;
  text-align: right;
}
.p-link-txt__item{
  display: inline-block;
  transition: .3s;
}
.p-link-txt__item-txt{
  display: inline-block;
  padding: 6px 32px 7px 0;
  line-height: 1;
  font-size: 1.2rem;
  position: relative;
  transition: .3s;
}
.p-link-txt__item-txt:after{
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/common/icon/crycle-arrow-right--black.svg)no-repeat center center / contain;
  position: absolute;
  top:0;
  right: 0;
}

.p-btn{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap:20px;
}
.p-btn__item{
  display: inline-block;
  width: 230px;
  max-width: 100%;
  padding: 11px 10px 13px;
  text-align: center;
  border-radius: 50px;
  border: solid 1px #718695;
  box-sizing: border-box;
  background: #718695;
  line-height: 1;
  transition: .3s;
}
.p-btn__item-txt{
  display: inline-block;
  padding-right: 19px;
  line-height: 1;
  font-size: 1.4rem;
  font-weight: 400;
  color:#fff;
  position: relative;
  transition: .3s;
}
.p-btn__item-txt:after{
  content: '';
  display: block;
  width: 6px;
  height: 100%;
  background: url(../img/common/icon/arrow-right--white.svg)no-repeat center center / contain;
  position: absolute;
  top:0;
  right: 0;
  transition: .3s;
}

.p-vertical-ttl{
  display: inline-block;
  writing-mode: vertical-rl;
  font-size: 4rem;
  position: relative;
  z-index: 2;
}
.p-vertical-ttl__item {
  line-height: 2.2;
}
.p-vertical-ttl__item span{
  padding: 0 13px 0 0;
  border-right: solid 2px var(--color_black);
  letter-spacing: 7px;
}

.pc{ display: block;}
.sp{ display: none;}
.u-txt--en{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
}

@media(any-hover: hover){
  .p-btn__item:hover{
    background: #000;
  }
  .p-link-txt__item:hover{
    opacity: .6;
  }
  .p-link-txt__item:hover .p-link-txt__item-txt{
    text-decoration: underline;
  }
}
@media (max-width:768px){
	.pc{ display: none;}
	.sp{ display: block;}

  .l-section-inner{
    padding: 40px 30px 60px;
    box-sizing: border-box;
    margin: 0 auto;
  }

  .p-section-ttl{
    padding-top: 20px;
    margin: 0 auto 20px;
  }
  .p-section-ttl--mb-small{
    margin-bottom: 25px;
  }
  .p-section-ttl--mb-medium{
    margin-bottom: 30px;
  }
  .p-section-ttl-item{
    line-height: 1.4;
  }
  .p-section-ttl-item span{
    display: block;
    margin-top: 8px;
  }

  .p-link-txt{
    display: block;
    text-align: center;
  }

  .p-vertical-ttl{
    font-size: 2rem;
    margin-bottom: 30px;
  }
  .p-vertical-ttl__item {
    line-height: 2.2;
  }
  .p-vertical-ttl__item span{
    padding: 0 8px 0 0;
    border-right: solid 1px var(--color_black);
  }

}

/*** ------------------------------------------------------------------------------ 

アニメーション

-----------------------------------------------------------------------------  ***/
.scroll_fade {
    transition: 0.8s ease-in-out;
    opacity: 0;
}
.scroll_fade.on {
    opacity: 1.0;
}


/*** ------------------------------------------------------------------------------ 

リンク

-----------------------------------------------------------------------------  ***/
/* 基本 */
a{
  color: var(--color_black);
	outline:none;
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
}
a:link {
	text-decoration: none;
}
a:visited {
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
a:not(:link):hover{
  text-decoration: none;
  opacity: 1;
}
a:not(:link):hover span{
  opacity: 1;
}
a:active {
	text-decoration: none;
}
a img {
	transition: 0.3s;
}

input[type=text],
textarea {
  -webkit-appearance: none;
}



/*** ------------------------------------------------------------------------------ 

.l-header

-----------------------------------------------------------------------------  ***/
.l-header{
  width: 100%;
  max-width: 100%;
  padding: 0 0 0 20px;
  background: #fff;
  position: fixed;
  top:0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 999;
}
.l-header__inner{
  display: flex;
  justify-content: space-between;
}
.l-header__nav{
  display: flex;
  justify-content: flex-end;
}
.l-header__list{
  display: flex;
  justify-content: flex-end;
  border-right: solid 1px #D9D9D9;
  padding-right: 30px;
}
.l-header__list-item{
  display: inline-block;
  padding: 14px;
  line-height: 1.2;
  letter-spacing: 2px;
  font-size: 1.4rem;
  color: var(--color_black);
  margin-left: 30px;
}
.l-header__list-item a{
  transition: .3s;
}
.l-header__button{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 14px 0 10px;
  transition: .3s;
}
.l-header__button--sp{
  display: none;
}
.l-header__button span{
  display: inline-block;
  padding-right: 20px;
  position: relative;
}
.l-header__button span:after{
  content: '';
  display: block;
  width: 12px;
  height: 100%;
  background: url(../img/common/icon/tab--black.svg)no-repeat center center / contain;
  position: absolute;
  top:0;
  right: 0;
}
.l-header__button span img{
  width: 105px;
}
.l-header__menu-btn{
  display: none;
}
.l-header__sp-menu{
  display: none;
}

@media(any-hover: hover){
  .l-header__list-item a:hover{
    opacity: .6;
  }
  .l-header__button:hover{
    opacity: .6;
  }
}
@media(max-width:800px){
  .l-header{
    padding: 0;
  }
  .l-header__inner{
    display: flex;
    justify-content: flex-end;
  }
  .l-header__logo{
    display: flex;
    align-items: center;
    width:128px;
    height: 45px;
    padding: 11px 19px;
    margin-right: auto;
  }
  .l-header__logo img{
    width: 90px;
    height: 23px;
  }
  .l-header__nav{
    display: none;
  }
  .l-header__button--sp{
    display: flex;
    border-left: solid 1px #D9D9D9;
    border-right: solid 1px #D9D9D9;
  }
  .l-header__sp-menu{
    display: block;
    width: 100%;
    height:calc(100vh - 45px);
    background:#F6F5F2;
    position: fixed;
    top:45px;
    left: 0;
    z-index: 9999;
    transform: translateX(100%);
    transition: .3s;
  }
  .l-header__sp-menu.active{
    transform: translateX(0);
  }
  .l-header__sp-menu-list{
    display: block;
    width: 100%;
    padding: 40px;
    border-top: solid 1px #D9D9D9;
  }
  .l-header__sp-menu-list-item{
    display: block;
    width: 100%;
    border-bottom: solid 1px #D9D9D9;
  }
  .l-header__sp-menu-list-item a{
    display: block;
    width: 100%;
    padding: 20px 0;
    background: url(../img/common/icon/crycle-arrow-right--black.svg)no-repeat center right / 16px;
    text-align: left;
    line-height: 1.2;
    font-size: 1.6rem;
  }
  .l-header__menu-btn{
    display: block;
  }
  .l-header__menu-btn button{
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap:5px;
    height: 100%;
    padding: 0 12px;
    border: none;
    background: none;
  }
  .l-header__menu-btn span{
    display: block;
    width: 23px;
    height: 2px;
    border-radius: 5px;
    background: #2C2C2C;
  }
}


/*** ------------------------------------------------------------------------------ 

.l-footer

-----------------------------------------------------------------------------  ***/
.l-footer{
  padding: 40px 20px 100px;
}
.l-footer__inner{
  text-align: center;
}
.l-footer__sns{
  display: flex;
  justify-content: center;
  gap:48px;
  margin: 0 auto 70px;
}
.l-footer__sns-item a{
  transition: .3s;
}
.l-footer__logo{
  margin-bottom: 22px;
}
.l-footer__links{
  margin-bottom:2.3rem;
}
.l-footer__links-item a{
  font-size: 1.5rem;
  transition: .3s;
}
.l-footer__copyright{
  font-size: 1.3rem;
}

@media(any-hover:hover){
  .l-footer__sns-item a:hover{
    opacity: .5;
  }
  .l-footer__links-item a:hover{
    opacity: .5;
  }
}

@media(max-width:768px){
  .l-footer{
    padding: 40px 35px 85px;
  }
  .l-footer__sns{
    display: flex;
    justify-content: center;
    gap:48px;
    margin: 0 auto 70px;
  }
  .l-footer__links{
    margin-bottom:23px;
  }
  .l-footer__copyright{
    line-height: 1.6;
    font-size: 1.3rem;
  }
}


/*** ------------------------------------------------------------------------------ 

pg-top

-----------------------------------------------------------------------------  ***/

/* .pg-top-visual */
.pg-top-visual{
  background: url(../img/home/visual-bg.jpg)no-repeat center center / cover;
  position: relative;
}
.pg-top-visual__inner{
  display: block;
  width: 100%;
  max-width: 1140px;
  padding:140px 20px 50px;
  text-align: right;
  margin: 0 auto;
}
.pg-top-visual__catch{
  display: inline-block;
  text-align: center;
  letter-spacing: 2px;
  line-height: 1.8;
  font-size: 4.2rem;
  margin-bottom: 238px;
}
.pg-top-visual__catch span{
  display: inline-block;
  line-height: 1.8;
  font-size: 2rem;
  color:#4A4A4A;
  margin-top: 20px;
}
.pg-top-visual__box{
  display: flex;
  justify-content: flex-start;
  gap:35px;
  width: 760px;
  max-width: 100%;
  margin: 0 auto;
}
.pg-top-visual__box-img{
  width: 320px;
}
.pg-top-visual__box-txt{
  text-align: left;
  letter-spacing: 1px;
  font-size: 1.5rem;
  color: #566377;
}
.pg-top-visual__box-txt-note{
  display: inline-block;
  padding-left: 15px;
  font-size: 1.1rem;
  position: relative;
  margin-top: 25px;
}
.pg-top-visual__box-txt-note:before{
  content:'※';
  position: absolute;
  top:0;
  left: 0;
}

@media(max-width:900px){
  
  .pg-top-visual__box{
    display: flex;
    flex-direction: column-reverse;
    gap:20px;
    width: 480px;
    max-width: 100%;
  }
  .pg-top-visual__box-img{
    width: 320px;
    margin: 0 auto;
  }
  .pg-top-visual__box-txt{
    text-align: center;
  }
  .pg-top-visual__box-txt-note{
    display: block;
    text-align: left;
    line-height: 1.6;
    font-size: 1.1rem;
    margin-top: 8px;
  }
}

@media(max-width:800px){
  .pg-top-visual{
    background: url(../img/home/visual-bg--sp.jpg)no-repeat top -60px center / cover;
  }
  .pg-top-visual__inner{
    padding:70px 25px 35px;
    text-align: center;
  }
  .pg-top-visual__catch{
    letter-spacing: 2px;
    line-height: 1.6;
    font-size: 2.5rem;
    margin-bottom:50vh;
  }
  .pg-top-visual__catch span{
    font-size: 1.2rem;
    margin-top: 11px;
  }
}


/* .pg-top-news */
.pg-top-news{
  background: #F6F5F2;
}
.pg-top-news__list{
  margin-bottom: 60px;
}
.pg-top-news__list-item{
  display: block;
  margin-bottom: 40px;
}
.pg-top-news__list-item-link{
  display: flex;
  justify-content: flex-start;  
  align-items: center;
  transition: .3s;
}
.pg-top-news__list-item-date{
  display: inline-block;
  font-size: 1.2rem;
  margin-right: 55px;
}
.pg-top-news__list-item-ttl{
  font-size: 1.5rem;
}

@media(any-hover: hover){
  .pg-top-news__list-item-link:hover{
    opacity: .6;
  }
}
@media(max-width:768px){
  .pg-top-news__list-item{
    margin-bottom: 18px;
  }
  .pg-top-news__list-item-link{
    display: block;
  }
  .pg-top-news__list-item-date{
    display: block;
    line-height: 1.2;
    font-size: 1.2rem;
    margin-right: 0;
  }
}


/* .pg-top-list */
.pg-top-list__head{
  display: flex;
  align-items: center;
  gap:25px;
  margin: 0 auto 55px;
}
.pg-top-list__head-img{
  width: calc(50% - 14px);
}
.pg-top-list__head-inner{
    width: calc(50% - 11px);
}
.pg-top-list__head-ttl{
  display: inline-block;
  line-height: 1.2;
  font-size: 2.5rem;
  margin-bottom: 25px;
}
.pg-top-list__head-txt{
  line-height: 1.8;
  font-size: 1.5rem;
}
.pg-top-list__list{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap:27px 50px;
  margin: 0 auto 65px;
}
.pg-top-list__list-item{
  width: calc((100% - 100px) / 3);
}
.pg-top-list__list-item-img{
  margin-bottom: 5px;
}
.pg-top-list__list-item-name{
  line-height: 1.8;
  font-size: 1.5rem;
}
.pg-top-list__list-item-price{
  line-height: 1.8;
  font-size: 1.2rem;
}

@media(max-width:768px){
  .pg-top-list__head{
    display: block;
    gap:11px;
    text-align: center;
    margin: 0 auto 50px;
  }
  .pg-top-list__head-img{
    width: 100%;
    margin-bottom: 11px;
  }
  .pg-top-list__head-inner{
    width: 100%;
  }
  .pg-top-list__head-ttl{
    margin: 0 auto;
  }
  .pg-top-list__head-txt{
    text-align: left;
    line-height: 1.8;
    font-size: 1.5rem;
  }
  .pg-top-list__list{
    gap:20px 30px;
    margin: 0 auto 40px;
  }
  .pg-top-list__list-item{
    width: calc(50% - 15px);
  }
  .pg-top-list__list-item-img{
    margin-bottom: 10px;
  }
}


/* .pg-top-feat */
.pg-top-feat{
  background: url(../img/home/feat-bg.jpg)no-repeat center center / cover;
}
.pg-top-feat .l-section-inner{
  width: 1110px;
}
.pg-top-feat__content{
  display: flex;
  justify-content: flex-start;
  gap:6%
}
.pg-top-feat__img{
  width: 43%;
}
.pg-top-feat__img img{
  width: 100%;
}
.pg-top-feat__txt{
  width: 51%;
  padding-top: 45px;
  line-height: 2.2;
  font-size: 1.5rem;
}

@media(max-width:768px){
  .pg-top-feat{
    background: url(../img/home/feat-bg--sp.jpg)no-repeat center center / cover;
  }
  .pg-top-feat .l-section-inner{
    padding-top: 60px;
  }
  .pg-top-feat__content{
    display: block;
  }
  .pg-top-feat__img{
    width: auto;
    max-width: 100%;
  }
  .pg-top-feat__txt{
    width: 100%;
    padding-top:10px;
  }
}


/* .pg-top-guide */
.pg-top-guide .l-section-inner{
  width: 1140px;
  padding-top: 65px;
  padding-bottom: 90px;
}
.pg-top-guide__list{
  display: flex;
  justify-content: flex-start;
  gap:70px;
  margin: 0 auto;
}
.pg-top-guide__list-item{
  width: calc((100% - 140px) / 3);
  padding: 25px;
  background: #F5F5F5;
}
.pg-top-guide__list-item-head{
  display: flex;
  align-items: flex-start;
  gap:9%;
  margin-bottom: 14px;
}
.pg-top-guide__list-item-head-img{
  width: 44%;
}
.pg-top-guide__list-item-head-ttl{
  display: block;
  width: 47%;
  line-height: 1.7;
  font-size: 1.9rem;
  font-size: clamp(1.6rem,1.7vw,1.9rem);
}
.pg-top-guide__list-item-head-ttl span{
  display: inline-block;
  line-height: 1;
  font-size: 2.4rem;
  margin-bottom: 14px;
}
.pg-top-guide__list-item-txt{
  line-height: 2;
  font-size: 1.5rem;
}

@media(max-width:900px){
  .pg-top-guide .l-section-inner{
    padding-top: 40px;
    padding-bottom: 55px;
  }
  .pg-top-guide__list{
    display: block;
    width: 480px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .pg-top-guide__list-item{
    width: 100%;
    padding: 25px;
    position: relative;
    margin-bottom: 60px;
  }
  .pg-top-guide__list-item:last-child{
    margin-bottom: 0;
  }
  .pg-top-guide__list-item:not(:last-child):before{
    content: '';
    display: block;
    width: 100%;
    height: 24px;
    background: url(../img/common/icon/crycle-arrow-dwn--black.svg)no-repeat center center / contain;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -41px;
    margin: 0 auto;

  }
  .pg-top-guide__list-item-head{
    display: flex;
    align-items: flex-start;
    gap:9%;
    margin-bottom: 14px;
  }
  .pg-top-guide__list-item-head-img{
    width: 120px;
  }
  .pg-top-guide__list-item-head-ttl{
    width: calc(100% - 120px);
    font-size: 1.9rem;
    margin-top: -4px;
  }
  .pg-top-guide__list-item-head-ttl span{
    display: inline-block;
    line-height: 1;
    font-size: 2.4rem;
    margin-bottom: 14px;
  }
  .pg-top-guide__list-item-txt{
    line-height: 2;
    font-size: 1.5rem;
  }
}


/* .pg-top-scene */
.pg-top-scene .l-section-inner{
  width: 880px;
  padding-top: 0;
  position: relative;
}
.pg-top-scene .p-vertical-ttl__item{
  margin: 0 0 85px 70px;
}
.pg-top-scene__img{
  max-width: 100%;
  position: relative;
  z-index: 2;
}
.pg-top-scene__img span{
  display: block;
  position: relative;
}

.pg-top-scene__img--01{
  position: absolute;
  top:200px;
  right: 60px;
  z-index: 3;
}
.pg-top-scene__img--01 span::before{
  content: '';
  display: block;
  width: 226px;
  height: 108px;
  background: url(../img/home/scene-text.svg)no-repeat left bottom / contain;
  position: absolute;
  top:-122px;
  right: 84px;
}
.pg-top-scene__img--02{
  margin-bottom: 40px;
}
.pg-top-scene__img--02 span{
  padding-bottom: 78px;
}
.pg-top-scene__img--02 span::before{
  content: '';
  display: block;
  width: 264px;
  height: 210px;
  background: url(../img/home/scene-illust01.svg)no-repeat left bottom / contain;
  position: absolute;
  right: 124px;
  bottom: 0;
}
.pg-top-scene__txt{
  display: block;
  width: 840px;
  line-height:2;
  font-size: 1.5rem;
}

@media(max-width:900px){
  .pg-top-scene__img--01{
    max-width: 50vw;
  }
}

@media(max-width:768px){
  .pg-top-scene .l-section-inner{
    width: 100%;
    max-width: 400px;
    padding-bottom: 70px;
  }
  .pg-top-scene .p-vertical-ttl__item{
    margin: 0;
  }
  .pg-top-scene__img{
    max-width: 100%;
  }
  .pg-top-scene__img span{
    display: block;
    position: relative;
  }

  .pg-top-scene__img--01{
    width: 242px;
    max-width: 100%;
    top:120px;
    right: 0;
  }
  .pg-top-scene__img--01 span::before{
    width: 112px;
    height: 62px;
    top:-69px;
    right: 42px;
  }
  .pg-top-scene__img--02{
    margin-left: -30px;
    margin-bottom: 0;
  }
  .pg-top-scene__img--02 span{
    padding-bottom: 45px;
  }
  .pg-top-scene__img--02 span::before{
    width: 132px;
    height: 105px;
    top:147px;
    right: -32px;
    bottom: auto;
  }
  .pg-top-scene__txt{
    max-width: 100%;
    margin: 0 auto;
  }
}


/* .pg-top-gift */
.pg-top-gift .l-section-inner{
  width: 880px;
  padding-top: 135px;
  position: relative;
}
.pg-top-gift .p-vertical-ttl{
  display: block;
  position: absolute;
  top:35px;
  right: 95px;
}
.pg-top-gift__img{
  max-width: 100%;
}
.pg-top-gift__img span{
  display: block;
  position: relative;
}
.pg-top-gift__img--01{
  margin: 0 0 140px 50px;
}
.pg-top-gift__img--01 span::before{
  content: '';
  display: block;
  width: 228px;
  height: 198px;
  background: url(../img/home/gift-illust01.svg)no-repeat left top / contain;
  position: absolute;
  left: 70px;
  bottom: -104px;
}
.pg-top-gift__img--02{
  position: absolute;
  top:700px;
  right: 80px;
}
.pg-top-gift__txt{
  display: block;
  line-height:2;
  font-size: 1.5rem;
}

@media(max-width:900px){
  .pg-top-gift__img--02{
    right: 0;
  }
}

@media(max-width:768px){
  .pg-top-gift .l-section-inner{
    width: 100%;
    max-width: 400px;
    padding-top: 50px;
    position: relative;
  }
  .pg-top-gift .p-vertical-ttl{
    display: block;
    position: absolute;
    top:0;
    right: 30px;
  }
  .pg-top-gift__img--01{
    width: 326px;
    max-width: 100%;
    margin: 0 0 75px -30px;
  }
  .pg-top-gift__img--01 span::before{
    width: 114px;
    height: 98px;
    left: 35px;
    bottom: -52px;
  }
  .pg-top-gift__img--02{
    width: 160px;
    position: absolute;
    top:332px;
    right: 35px;
  }
  .pg-top-gift__txt{
    display: block;
    line-height:2;
    font-size: 1.5rem;
  }
}


/* .pg-top-accent */
.pg-top-accent .l-section-inner{
  width: 880px;
  padding-top: 15px;
  position: relative;
}
.pg-top-accent .p-vertical-ttl{
  display: block;
  margin: 0 0 106px -25px;
}
.pg-top-accent__img{
  max-width: 100%;
}
.pg-top-accent__img span{
  display: block;
  position: relative;
}
.pg-top-accent__img--01{
  position: absolute;
  top:153px;
  left: 153px;
}
.pg-top-accent__txt{
  display: block;
  line-height:2;
  font-size: 1.5rem;
}

@media(max-width:768px){
  .pg-top-accent .l-section-inner{
    width: 100%;
    max-width: 400px;
    padding-top: 0;
  }
  .pg-top-accent .p-vertical-ttl{
    margin: 0 0 30px -16px;
  }
  .pg-top-accent__img--01{
    width: 288px;
    top:70px;
    left: auto;
    right: 0;
  }
}


/* .pg-top-others */
.pg-top-others{
  background:#F6F5F2;
}
.pg-top-others .l-section-inner{
  width: 1140px;
  padding-top: 60px;
  padding-bottom: 85px;
}
.pg-top-others .p-section-ttl{
  margin-bottom: 35px;
}
.pg-top-others__list{
  display: flex;
  justify-content: center;
  gap:50px;
  margin: 0 auto 45px;
}
.pg-top-others__list-item{
  width: calc((100% - 150px) / 4);
}
.pg-top-others__list-item-img{
  margin-bottom: 9px;
}
.pg-top-others__list-item-ttl{
  font-size: 1.5rem;
}
.pg-top-others__txt{
  display: block;
  font-size: 1.5rem;
  margin: 0 auto 50px;
}
.pg-top-others__movie{
  width: 645px;
  max-width: 100%;
  margin: 0 auto;
}
.pg-top-others__movie-ttl{
  background: var(--color_black);
  text-align: center;
  font-size: 1.5rem;
  font-weight: 500;
  color: #fff;
  margin: 0 auto 8px;
}
.pg-top-others__movie-txt{
  display: block;
  text-align: center;
  font-size: 1.5rem;
  margin: 0 auto 10px;
}
.pg-top-others iframe{
  width: 100% !important;
  height: 365px;
}

@media(max-width:768px){
  .pg-top-others .l-section-inner{
    padding-bottom: 45px;
  }
  .pg-top-others__list{
    flex-wrap: wrap;
    gap:18px 30px;
    margin: 0 auto 15px;
  }
  .pg-top-others__list-item{
    width:calc(50% - 15px);
  }
  .pg-top-others__list-item-img{
    margin-bottom: 5;
  }
  .pg-top-others__list-item-ttl{
    font-size: 1.5rem;
  }
  .pg-top-others__list-item-ttl span{
    font-size: 1.2rem;
  }
  .pg-top-others__txt{
    margin: 0 auto 30px;
  }
  .pg-top-others__movie-txt{
    font-size: 1.3rem;
  }
  .pg-top-others__movie iframe{
    width: 100%;
    height: 46vw;
  }
}


/* .pg-top-greating */
.pg-top-greating{
  background: url(../img/home/greati-bg--sp.jpg)no-repeat center bottom / cover;
}
.pg-top-greating .l-section-inner{
  width: 1140px;
  padding-bottom: 112px;
}
.pg-top-greating .p-section-ttl{
  margin-bottom: 50px;
}
.pg-top-greating__box{
  display: flex;
  gap:4%;
  margin: 0 auto 40px;
}
.pg-top-greating__txt-img{
  width: 46%;
}
.pg-top-greating__txt{
  width:50% ;
  font-size: 1.5rem;
}
.pg-top-greating__txt .u-txt--en{
  display: block;
  font-size: 2rem;
  margin-bottom: 15px;
}
.pg-top-greating__txt .u-txt--en sup{
  display: inline-block;
  font-size: 1.4rem;
  transform: translateY(1px);
}
.pg-top-greating__note{
  display: block;
  padding-left: 15px;
  line-height: 1.4;
  font-size: 1.1rem;
  color:#566377 ;
  position: relative;
  margin-top: 5px;
}
.pg-top-greating__note:before{
  content: '※';
  display: block;
  position: absolute;
  top:0;
  left: 0;
}

@media(max-width:810px){
  .pg-top-greating .l-section-inner{
    width: 500px;
    max-width: 100%;
    padding-top: 45px;
    padding-bottom: 100px;
  }
  .pg-top-greating .p-section-ttl{
    margin-bottom: 25px;
  }
  .pg-top-greating__box{
    display: block;
    margin: 0 auto 45px;
  }
  .pg-top-greating__txt-img{
    width:252px;
    max-width: 100%;
    margin: 0 auto;
  }
  .pg-top-greating__txt{
    width:100%;
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
  .pg-top-greating__txt .u-txt--en{
    line-height: 1.6;
    margin-bottom: 8px;
  }
  .pg-top-greating__txt .u-txt--en sup{
    font-size: 1.3rem;
    transform: translateY(4px);
  }
  .pg-top-greating__img{
    text-align: center;
    margin: 0 auto;
  }
}


/* .pg-top-story */
.pg-top-story .l-section-inner{
  width: 1140px;
  padding-top: 70px;
  padding-bottom: 50px;
}
.pg-top-story .p-section-ttl{
  margin-bottom: 40px;
}
.pg-top-story__box{
  display: flex;
  gap:4%;
}
.pg-top-story__box-img{
  width: 29%;
}
.pg-top-story__box-inner{
  width: 67%;
}
.pg-top-story__txt{
  display: block;
  font-size: 1.5rem;
  margin-bottom: 20px;
}
.pg-top-story__txt .u-txt--en{
  display: block;
  font-size: 2rem;
  margin-bottom: 20px;
}

@media(max-width:900px){
  .pg-top-story .l-section-inner{
    width: 500px;
    max-width: 100%;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .pg-top-story .p-section-ttl{
    margin-bottom: 33px;
  }
  .pg-top-story__box{
    display: block;
  }
  .pg-top-story__box-img{
    width: 100%;
    margin-bottom: 15px;
  }
  .pg-top-story__box-img .u-txt--en{
    display: block;
    line-height: 1.8;
    font-size: 2rem;
    margin-bottom: 15px;
  }
  .pg-top-story__box-inner{
    width: 100%;
  }
  .pg-top-story__txt{
    margin-bottom: 45px;
  }
  .pg-top-story__txt .u-txt--en.pc{
    display: none;
  }
  .pg-top-story .p-link-txt{
    padding-right: 10px;
    text-align: right;
  }
}


/* .pg-top-intro */
.pg-top-intro{
  background: #2C2C2C;
  color: #fff;
}
.pg-top-intro .l-section-inner{
  width: 100%;
  padding: 55px 0 70px;
  background: url(../img/home/intro-bg.jpg)no-repeat top center / cover;
}
.pg-top-intro__title{
  display: block;
  text-align: center;
  font-size: 2.4rem;
  margin: 0 auto 25px;

}
.pg-top-intro__box{
  display: flex;
  flex-direction: row-reverse;
  gap:5%;
  width: 1140px;
  max-width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
  margin: 0 auto;
}
.pg-top-intro__box-movie{
  width: 58%;
}
.pg-top-intro__box-inner{
  width: 37%;
}
.pg-top-intro__txt{
  font-size: 1.5rem;
}
.pg-top-intro__txt-catch{
  display: block;
  font-size: 2rem;
  margin-bottom: 8px;
}
.pg-top-intro__box-movie-ttl{
  background: var(--color_black);
  text-align: center;
  font-size: 1.5rem;
  font-weight: 500;
  color: #fff;
  margin: 0 auto 8px;
}
.pg-top-intro__box-movie-txt{
  display: block;
  text-align: center;
  font-size: 1.3rem;
  margin: 0 auto 5px;
}
.pg-top-intro iframe{
  width: 100% !important;
  height: 340px;
}
.pg-top-intro__list{
  display: flex;
  justify-content: center;
  gap:6%;
  width: 1140px;
  max-width: 100%;
  padding: 50px 20px 65px;
  margin: 0 auto;
}
.pg-top-intro__list-item{
  width: calc(88% / 3);
}

@media(max-width:900px){
  .pg-top-intro .l-section-inner{
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 45px;
    background: url(../img/home/intro-bg--sp.jpg)no-repeat top center / cover;
  }
  .pg-top-intro__title{
    text-align: left;
  }
  .pg-top-intro__box{
    flex-direction: column-reverse;
    padding: 0;
  }
  .pg-top-intro__box-movie{
    width:100%;
  }
  .pg-top-intro__box-inner{
    width: 100%;
    margin-bottom: 55px;
  }
  .pg-top-intro__txt{
    font-size: 1.5rem;
  }
  .pg-top-intro__txt-catch{
    line-height: 1.8;
    font-size: 2rem;
    margin-bottom: 8px;
  }
  .pg-top-intro__box-movie iframe{
    width: 100% !important;
    height: 50vw;
  }
  .pg-top-intro__list{
    width: 500px;
    max-width: 100%;
    gap:40px;
    flex-wrap: wrap;
    padding: 50px 30px 70px;
  }
  .pg-top-intro__list-item{
    width: 100%;
  }
}


/* .pg-top-company */
.pg-top-company{
  background: #F6F5F2;
}
.pg-top-company .l-section-inner{
  padding-top: 60px;
  padding-bottom: 90px;
}
.pg-top-company .p-section-ttl{
  margin-bottom: 36px;
}
.pg-top-company__table {
  font-size: 1.5rem;
}
.pg-top-company__table tr th{
  width: 100px;
  padding: 24px 0;
  border-bottom: dotted 1px #D9D9D9;
  font-weight: bold;
}
.pg-top-company__table tr td{
    border-bottom: dotted 1px #D9D9D9;
}

@media(max-width:768px){
  .pg-top-company .l-section-inner{
    padding-top: 60px;
    padding-bottom: 105px;
  }
  .pg-top-company .p-section-ttl{
    margin-bottom: 36px;
  }
  .pg-top-company__table {
    font-size: 1.5rem;
  }
  .pg-top-company__table tr th{
    display: block;
    width: 100%;
    padding: 22px 0 0;
    border: none;
  }
  .pg-top-company__table tr td{
    display: block;
    padding:0 0 22px;
  }
}


/* .pg-top-vision */
.pg-top-vision .l-section-inner{
  width: 960px;
  padding-top: 60px;
  padding-bottom: 90px;
}
.pg-top-vision .p-section-ttl{
  margin-bottom: 24px;
}
.pg-top-vision__list{
  display: flex;
  flex-wrap: wrap;
  gap:50px;
}
.pg-top-vision__list-item{
  display: flex;
  gap:5%;
  width: 100%;
  margin: 0 auto;
}
.pg-top-vision__list-item-img{
  width: 35%;
}
.pg-top-vision__list-item-img img{
  width: 100%;
}
.pg-top-vision__list-item-inner{
  width: 60%;
}
.pg-top-vision__list-item-ttl{
  display: block;
  line-height: 1.4;
  font-size: 2.3rem;
  margin-bottom: 15px;
}
.pg-top-vision__list-item-ttl.sp{
  display: none;
}
.pg-top-vision__list-item-txt{
  line-height: 2.2;
  font-size: 1.5rem;
}

@media(max-width:768px){
  .pg-top-vision .l-section-inner{
    padding-top: 45px;
    padding-bottom: 50px;
  }
  .pg-top-vision .p-section-ttl{
    margin-bottom: 22px;
  }
  .pg-top-vision__list{
    display: flex;
    flex-wrap: wrap;
    gap:35px;
  }
  .pg-top-vision__list-item{
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  .pg-top-vision__list-item-img{
    width:100%;
    margin-bottom: 12px;
  }
  .pg-top-vision__list-item-inner{
    width:100%;
  }
  .pg-top-vision__list-item-ttl{
    margin-bottom: 11px;
  }
  .pg-top-vision__list-item-ttl.pc{
    display: none;
  }
  .pg-top-vision__list-item-ttl.sp{
    display: block;
  }
  .pg-top-vision__list-item-txt{
    line-height: 2.2;
    font-size: 1.5rem;
  }
}


/* .pg-top-shop */
.pg-top-shop{
  background: url(../img/home/shop-bg.jpg)no-repeat center center / cover;
  text-align: center;
  color: #fff;
}
.pg-top-shop .l-section-inner{
  padding-top: 80px;
  padding-bottom: 80px;
}
.pg-top-shop .p-section-ttl{
  padding-top: 0;
  margin: 0 auto 25px;
}
.pg-top-shop .p-section-ttl:before{
  display: none;
}
.pg-top-shop .p-section-ttl-item {
  font-size: 2.4rem;
}
.pg-top-shop .p-section-ttl-item span{
  font-size: 1.5rem;
}
.pg-top-shop__btn{
  display: inline-block;
  text-align: center;
  transition: .3s;
}
.pg-top-shop__btn img{
  display: block;
  margin: 0 auto;
}
.pg-top-shop__btn img:nth-child(1){
  margin-bottom: 3px;
}

@media(any-hover:hover){
  .pg-top-shop__btn:hover{
    opacity: .5;
  }
}

@media(max-width:768px){
  .pg-top-shop{
    background: url(../img/home/shop-bg--sp.jpg)no-repeat center center / cover;
  }
  .pg-top-shop .l-section-inner{
    padding-top: 75px;
    padding-bottom: 70px;
  }
  .pg-top-shop .p-section-ttl{
    margin: 0 auto 26px;
  }
  .pg-top-shop .p-section-ttl:before{
    display: none;
  }
  .pg-top-shop .p-section-ttl-item {
    font-size: 2.3rem;
  }
}