@charset "UTF-8";

/* Reset box-model and set borders */
/* ============================================ */

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the main element consistently in IE.
 */

main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd em font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd em font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent sub and sup elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */

option {
  padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */

[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */

label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/

table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}


/*========= ローディング画面のためのCSS ===============*/
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #106a8f;
	z-index: 9999999;
	text-align:center;
	color:#fff;
}

#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: "noto-sans-cjk-jp", sans-serif;
font-weight: 900;
font-style: normal;
font-size: 3.5vw;
}


/*========= 画面遷移のためのCSS ===============*/

/*画面遷移アニメーション*/

body{
    background:#106a8f;/*遷移アニメーションと同じ色を指定*/
    height:85vw;
    
}

body.appear{
    background:#ffffff; /*画面を開いた後の背景色を指定*/
	
}

.splashbg{
	position: fixed;
	top: 0;
	right:0;
	bottom:0;
	left: 0;
	border-width: 0px;/*開始はボーダーの太さは0*/
	border-style:solid;
    border-color: #106a8f;/*拡大する四角の色*/
	animation-duration:0.5s;
	animation-fill-mode:forwards;
}

@keyframes backBoxAnime{
	99.9% {/*アニメーション終了ぎりぎりまで*/
        z-index: 2;/*最前面に*/
		border-width: 0px;/*開始はボーダーの太さは0*/
	}
    100%{
       z-index: -1; /*最背面に*/
        border-width: 0px;/*終了はボーダーの太さは0*/
    }
}

/*画面遷移の後現れるコンテンツ設定*/
#container{
    position: relative;
	opacity: 0;/*はじめは透過0に*/
    
}

/*bodyにappearクラスがついたら出現*/
body.appear #container{
	animation-name:PageAnimeAppear;
	animation-duration:1s;
	animation-delay:0.2s;
	animation-fill-mode:forwards;
	opacity: 0;
    
}

@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}

#slider {
    position: fixed;   /* 画面に固定 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;     /* 画面の高さいっぱい */
    z-index: -1;       /* コンテンツより後ろに */
}

h1{
	font-family: "nexa", sans-serif;
  font-weight: 600;
  font-style: normal;
font-size: 5.5vw;
color: #ffffff;
text-align: center;
text-shadow: 4px 4px 5px rgba(0,0,0,0.7);
margin-top:10vw ;
}



.sub{
	font-family: "noto-sans-cjk-jp", sans-serif;
font-weight: 900;
font-style: normal;
font-size: 4vw;
color: #ffffff;	
}

.toppage{
	height: 100vh;
	width:100vw;
	display: flex;
    justify-content: center; /* 横方向中央 */
    align-items: center;    /* 縦方向中央 */ 
}

.all{
    position: relative;
    z-index: 1; /* ヘッダーより下 */
    background-color: rgba(0, 0, 0, 0.4); /* 黒色を50%の透明度で設定 */
    height: 60vw;
     display: flex;
    flex-direction: column; /* 上下に並べる */
    align-items: center;    /* 横方向中央揃え */
    width: 70vw;
    margin: 0 auto;
    margin-top: 3vw;
    margin-bottom: 7vw;

      
     
}

header {
    display: flex;
    align-items: center;
    height:8vw;
    width:100vw;
    position:fixed;
    top:0;
    z-index:110;
    font-size:1.7vw;
	 font-family: "nexa", sans-serif;
  font-weight: 600;
  font-style: normal;
 gap: 8vw; /* ← これで均等に隙間をあける */
color: #ffffff;
justify-content:flex-end;
text-shadow: 4px 4px 5px rgba(0,0,0,0.7);

  }

  header a{
    text-decoration: none;
    color:#ffffff;
  }



 

  .insta{
    margin-right: 5vw;
     width: 3.5vw;
   
  }

  .kouken{
   
    
     width: 15vw;
    
    margin-left: 5vw;
  }


  .btn05{
    /*線の基点とするためrelativeを指定*/
    position: relative;
    /*ボタンの形状*/
    display: inline-block;
    color: #333;
    padding: 10px 20px;
    text-decoration: none;
    outline: none;
    /*アニメーションの指定*/
    transition: all .3s;
    transition-delay: .4s;/*0.7秒遅れてアニメーション*/
}

/*hoverした際の、ボタンの背景とテキスト色の変更*/
.btn05:hover{
	background:#333;
	color: #fff;
}

/*線の設定*/
.btn05 span{
    display: block;
}

/*横線の設定*/
.btn05::before,
.btn05::after{
    content:"";
    /*絶対配置で線の位置を決める*/   
    position: absolute;
    /*線の形状*/   
    width: 1.5px;
    height: 1.5px;
    background: #333;
    /*アニメーションの指定*/
    transition: all 0.2s linear;
}

/*縦線の設定*/
.btn05 span::before,
.btn05 span::after{
    content:"";
    /*絶対配置で線の位置を決める*/   
    position: absolute;
    /*線の形状*/
    width:1px;
    height:0;
    background: #333;
    /*アニメーションの指定*/
    transition: all 0.2s linear;
}

/*hoverした際、線が縦横100%伸びる*/
.btn05:hover::before,
.btn05:hover::after{
    width: 100%;
}
.btn05:hover span::before,
.btn05:hover span::after{
    height: 100%;
}

/*== 左上と右下から枠線が伸びて塗に */

/*横線が0.2秒送れて出現*/

.bordercircle1::before{
    right: 0;
    top: 0;
    transition-delay: 0.2s;
}
.bordercircle1::after{
    left: 0;
    bottom: 0;
    transition-delay: 0.2s;
}

/*縦線が出現*/
.bordercircle1 span::before{
    left: 0;
    top: 0;
}
.bordercircle1 span::after{
    right: 0;
    bottom: 0;
}




  h2{
    font-family: "noto-sans-cjk-jp", sans-serif;
font-weight: 900;
font-style: normal;
font-size:1.5vw;
color: #ffffff;
text-align: center;
text-shadow: 4px 4px 5px rgba(0,0,0,0.7);
background-color: rgba(0,0,0,0.2) ;
line-height:2 ;
width: 65vw;
margin: 0 auto;
padding-top: 4vw;
padding-bottom: 4vw;
margin-top: 3vw;
margin-bottom: 2vw;



  }

  html, body {
  overflow-x: hidden; /* 横スクロール禁止 */
}

video, img {
  max-width: 100%; /* 親幅を超えないようにする */
  height: auto;
  display: block; /* 余白の原因になるinline要素挙動を防ぐ */
}


/*全て共通：hideエリアをはじめは非表示*/
.hide-area{
	display: none;

}

.listed{
display: flex;
width: 80vw;
margin-left: 17vw;
margin-top: 5vw;

}

.listed2{
display: flex;
width: 80vw;
margin-left: 17vw;
margin-top: 5vw;
margin-bottom: 10vw;
}

.container{
  margin-bottom: 10vw;
}

.info{
  background-color: #106a8f;
  color: #ffffff;
  font-family: "noto-sans-cjk-jp", sans-serif;
font-weight: 900;
font-style: normal;
font-size:3vw;
width:12vw;
height: 12vw;
 display: block; 
 border-radius: 50%;
 text-align: center;  /* 中央揃え */
 line-height: 12vw;
 margin-right: 5vw;
box-shadow: 0.8vw 0.8vw 1vw rgba(0,0,0,0.7);

}

/*== ボタン共通設定 */
.btn{
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
	overflow: hidden;
    /*アニメーションの指定*/   
    transition: ease .2s;
}

/*ボタン内spanの形状*/
.btn span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color:#ffffff;
}

.btn:hover span{
	color:#106a8f;
}

/*== 背景が流れる（斜め） */
.bgskew::before {
	content: '';
  position: absolute;     /* ← これ必須！ */
  top: 0;
  left: -200%;    
   /*色や形状*/
	background:#ffffff;
	width:120%;
height: 120%;
	transform: skewX(-25deg);
}

/*hoverした時のアニメーション*/
.bgskew:hover::before {
	animation: skewanime .5s forwards;/*アニメーションの名前と速度を定義*/
}

@keyframes skewanime {
	100% {
		left:-10%;/*画面の見えていない左から右へ移動する終了地点*/
	}
}



.bgcenterout:before {
	content: '';
    /*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
    /*色や形状*/
	background: #ffffff;
	width: 100%;
	height: 100%;
  border-radius: 50%;
    /*アニメーション*/
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 0);
	transform-origin:center;
}

/*hoverした際の形状*/
.bgcenterout:hover:before{
	transform:scale(1, 1);
}

.senzai{
  width: 10vw;
}


h3{
  color: #106a8f;
  font-family: "noto-sans-cjk-jp", sans-serif;
font-weight: 900;
font-style: normal;
font-size:3vw;
text-align: center;
}


.botan{
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.botan:hover {
  transform: scale(1.1); /* 1.2倍に拡大 */
   filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.5));
}


.kuma{
  width: 20vw;
  margin-right: 2.5vw;
  padding-top:1vw;
   

}

.hebi{
 width: 20vw;
  margin-right: 2.5vw;
}

.shishi{
  width: 18vw;
  margin-right: 2.5vw;
}

.washi{
  width: 22vw;
  padding-top:2vw;
}

.spade{
  width: 480vw;
}

.daiya{
  width: 540vw;
  padding-top:2vw ;
}

.club{
  width: 510vw;
  padding-top:2vw ;
}

.love{
  width: 500vw;
  padding-top:2vw ;
}

.yuri{
  width: 400vw;
  padding-top:2vw ;
}

.kinmokusei{
  width: 400vw;
  padding-top:2vw ;
}

.kaede{
  width: 450vw;
  padding-top:2vw ;
}

.yanagi{
  width: 400vw;
  padding-top:2vw ;
}

.ayanan{
  width: 350vw;
  padding-top:2vw ;
}

.yuukosu{
  width: 400vw;
  padding-top:2vw ;
}

.ru{
  width: 400vw;
  padding-top:2vw ;
}

.masaru{
  width: 350vw;
  padding-top:2vw ;
}

.hana{
  width: 400vw;
  padding-top:2vw ;
}

.sayumi{
  width: 420vw;
  padding-top:3vw ;
}

.chihiro{
  width: 400vw;
  padding-top:2vw ;
}

.pee{
  width: 380vw;
  padding-top:2vw ;
}



p{
  display: flex;
}


.outer-content {
  display: block; /* 初期は1段階目を表示 */
}

.inner-content {
  display: none; /* 初期は非表示 */
}
.modaal-content {
  max-height: 80vh; /* モーダルの最大高さを画面80％に */
  overflow-y: auto;  /* コンテンツが大きい場合スクロール */
}
.inner-content .back {
  display: inline-block;
  margin-top: 1vw;
  padding: 0.5vw 1vw;
  background-color: #106a8f;
  color: #fff;
  text-decoration: none;
  border-radius: 0.5vw;
}
.inner-content .back:hover {
  background-color: #0b4f6f;
}


  .modal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 2列 */
  gap: 10px; /* 画像の間隔 */
  justify-items: center; /* 中央寄せ */
}

.modal-grid img {
  width: 90%;   /* 列の幅いっぱいに広げる */
  max-width: 154px; /* 画像が大きすぎないように制限 */
  height: auto;
}

.logo2017{
  width: 100vw !important;
  margin-top: 2vw;
}

.logo2019{
  margin-top: 2.5vw;
}

.logo2022{
  margin-top: 2vw;
}

