/* こちらのサイトから（https://coliss.com/articles/build-websites/operation/css/a-modern-css-reset.html） */

/* Box sizing rules */
/* Box sizingの定義 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
/* デフォルトのpaddingを削除 */
ul[class],
ol[class] {
  padding: 0;
}

/* Remove default margin */
/* デフォルトのmarginを削除 */
body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core body defaults */
/* bodyのデフォルトを定義 */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
/* class属性を持つul、ol要素のリストスタイルを削除 */
ul[class],
ol[class] {
  list-style: none;
}

/* A elements that don't have a class get default styles */
/* classを持たない要素はデフォルトのスタイルを取得 */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
/* img要素の扱いを簡単にする */
img {
  max-width: 100%;
  display: block;
}

/* Natural flow and rhythm in articles by default */
/* article要素内の要素に自然な流れとリズムを定義 */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
/* inputやbuttonなどのフォントは継承を定義 */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
/* 見たくない人用に、すべてのアニメーションとトランジションを削除 */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* リセットCSSここまで */

/* 共通コンテナ */
.container{
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

/* ヘッダー */
header .container{
  height: 105px;
  position: relative;
  justify-content: space-evenly;
  align-items: center;
  font-family: 'Bodoni 72','Bodoni MT','Garamond','Times New Roman',serif;
}
.nav-logo{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: 36px;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
a.logo{
  text-decoration: none;
  color: rgb(43, 41, 41);
}
.nav-list{
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.2em;
}
.nav-list li:not(:last-child){
  margin-right: 45px;
}
.nav-left li:last-child{
  margin-right: 100px;
}
.nav-right li:first-child{
  margin-left: 100px;
}
ul{
  display: flex;
  justify-content: space-evenly;
}

/* トップラッパー */
.top-wrapper{
  /* ボタンやリストボタンのため */
  position: relative;
  padding-bottom: 123px;
}
/* ----------------------------------以下カルーセルのデザイン */
.carousel-item{
  height: 710px;
}
.top1{
  background-color: #f1dfc8;
}
.top2{
  background-color: lightseagreen;
}
.top3{
  background-color: lightblue;
}
.carousel-wrapper {
  display: flex;
  overflow-x: scroll;
  /* 横軸に対して mandatory が効くようになり, 必ず scroll-snap-align で指定した位置までスクロールして止まる */
  scroll-snap-type: x mandatory;
}
.carousel-wrapper .carousel-item {
  flex: 1 0 auto;
  width: 100vw;
  /* height: 100vh; */
  scroll-snap-align: start;
}
.carousel-wrapper::-webkit-scrollbar {
  display: none;
}
/* prev/nextボタン */
.btn {
  position: absolute;
  cursor: pointer;
}
.btn-prev{
  top: 45%;
  left: 30px;
}
.btn-next{
  top: 45%;
  right: 30px;
}
/* インデックスボタン */
#paging{
  left: 50%;
  transform: translate(-50%,0%);
  padding: 0;
  margin: 0;
  display: flex;
	position: absolute;
	bottom:80px;
  list-style: none;
}
#paging li{
  background-color: rgb(216, 227, 238);
	width:11px;
	height:11px;
  border-radius: 50%;
  cursor: pointer;
}
/* 擬似クラスで最後のボタン以外に余白 */
#paging li:not(:last-child){
  margin-right: 43px;
}
#paging li.active{
  background-color: lightslategray;
}
/* ----------------------------------カルーセルここまで */


/* top1 >heading-box */
.top1 .heading-box{
  margin-top: 240px;
  text-align: center;
}
.top1 .heading-box h1{
  font-family: 'Snell Roundhand',cursive;
  font-size: 186px;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #fff;
  transform: rotate(-5.1deg);
}
/* Fontサイズ以外は共通 */
.subtitle{
  font-family: '游明朝体+36ポかな','YuMincho +36p Kana','ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ Ｐ明朝','MS PMincho','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',serif;
}
.h-link,.c20-heading-box h3,.c20-h-link{
  font-family: 'Futura','Century Gothic',sans-serif;
}
.top1 .subtitle{
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.2em;
  margin-bottom: 45px;
}
.top1 .h-link{
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: darkgrey;
}
/* top1 >モデルBox */
.model-box{
  margin-left: 80px;
}
.circle{
  height: 710px;
  width: 388px;
  background-color: #f4f4f4;
  /* 上から540px下ったところを中心にして、横幅は左右50%（全体に）、縦は上に491pxのところまで引き伸ばす。中心が真ん中より下にあるので、楕円の下方あたりは存在しない。 */
  clip-path: ellipse(50% 491px at 50% 540px);
  cursor: pointer;
}


/* 2020 */
.c20-wrapper{
  height: 800px;
}
.img-box{
  position: relative;
  width: 730px;
}
.top-img{
  position: absolute;
  left: 30px;
  z-index: 5;
  width: 700px;
  height: 700px;
}
.back-img{
  position: absolute;
  top: 50px;
  width: 700px;
  height: 700px;
}
/* c20ヘディングBox */
.c20-heading-box{
  margin-top: 60px;
  margin-left: 85px;
}
.c20-heading-box h2{
  font-family: 'Didot','Hoefler Text','Calisto MT','Garamond','Cambria Math',serif;
  font-size: 64px;
  line-height: 1;
  letter-spacing: 0.1em;
}
.c20-heading-box h3{
  font-weight: 100;
  margin-bottom: 15px;
}
.c20-heading-box .subtitle{
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.3em;
  margin-top: 20px;
  margin-bottom: 45px;
}
.c20-h-link{
  display: inline-block;
  font-size: 15px;
  color: darkgrey;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-bottom: 5px;
  border-bottom: 1px solid darkgrey;
}