@charset "UTF-8";

/*---------------------------------
  Google Fonts
---------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap');

.NotoSans { font-family: 'Noto Sans JP', sans-serif; }
.NotoSerif { font-family: 'Noto Serif JP', serif; }
.ShipporiMincho { font-family: 'Shippori Mincho', serif; }
.MPLUSRounded1c { font-family: 'M PLUS Rounded 1c', sans-serif; }

/*---------------------------------
  表示・非表示（PC / TB / SP）
---------------------------------*/
.pconly {
	display: block;
}
.tbonly {
	display: block;
}
.sponly {
	display: none !important;
}
.pcnone {
	display: none;
}
@media screen and (max-width: 767px) {
.pconly {
	display: none !important;
}
.tbonly {
	display: none !important;
}
.sponly {
	display: block;
}
.pcnone {
	display: inline-block;
}
.spnone {
	display: none;
}
}

/*---------------------------------
  html/bodyの設定
---------------------------------*/
html {
	font-size: 62.5%; /* 62.5%は10px */
	font-family: 'Noto Sans JP', sans-serif;
}
body {
	color: #ffffff;
	background: #1372bc;
	overflow-x: hidden;
    word-break: break-all;
}
@media screen and (max-width: 767px) {
html {
	font-size: 62.5%; /* 62.5%は10px */
	font-family: 'Noto Sans JP', sans-serif;
}
body {
	color: #ffffff;
	background: #1372bc;
	overflow-x: hidden;
    word-break: break-all;
}
}

/*---------------------------------
  画像
---------------------------------*/
img {
	width:100%;
	height:auto;
}
#maincontentswrap01 img {
   vertical-align:bottom;
   pointer-events: none;
}
#maincontentswrap01 a img {
	border-style:none;
}
#maincontentswrap01 img {
	width:100%;
	height:auto;
	image-rendering: auto;
}
#maincontentswrap01 img[src$=".svg"] {
    width: 100%;
}


/*---------------------------------
  テキストリンク
---------------------------------*/
#maincontentswrap01 a:link {
	color: #ffffff;
	text-decoration: underline;
	transition: 1.0s;
}
#maincontentswrap01 a:visited {
	color: #ffffff;
	text-decoration: underline;
	transition: 1.0s;
}
#maincontentswrap01 a:active {
	color: #fed200;
	text-decoration: underline;
	transition: 1.0s;
}
#maincontentswrap01 a:hover {
	color: #fed200;
	text-decoration: underline;
	opacity: 1.0;
	transition: 1.0s;
}


/*---------------------------------
  画像リンク
---------------------------------*/
a img {
	display: block;
}


/*---------------------------------
  アンカー位置設定
---------------------------------*/
#link01,
#link02,
#link03,
#link04,
#link05,
#link06,
#link07,
#link08,
#link09,
#link10 {
	margin: -130px 0 0;
	padding: 130px 0 0;
}
@media screen and (max-width: 767px) {
#link01,
#link02,
#link03,
#link04,
#link05,
#link06,
#link07,
#link08,
#link09,
#link10 {
	margin: -83px 0 0;
	padding: 83px 0 0;
}
}

/*---------------------------------
  画像鏡面反射
---------------------------------*/
.img-reflection01 {
  -webkit-box-reflect:
    below 0px 
  -webkit-gradient(linear, left top, left bottom, from(transparent), 
    color-stop(0.8, transparent), 
    to(rgba(255, 255, 255, 0.3)));
}

/*---------------------------------
  フォントカラー
---------------------------------*/
.font-white01 { color: #ffffff; }
.font-blue01 { color: #2B457D; }
.font-black01 { color: #000000; }
.font-red01 { color: #c50018; }
.font-yellow01 { color: #fff338; }
.font-green01 { color: #7fbd26; }


/*---------------------------------
  テキスト頭揃え
---------------------------------*/
.indent01-01 {
	text-indent: -1em;
	padding: 0 0 0 1em;
}
.indent01-05 {
	text-indent: -1.5em;
	padding: 0 0 0 1.5em;
}

/*---------------------------------
  文字間調整用
---------------------------------*/
.letterspace01 {
	letter-spacing: -0.02em;
}

/*---------------------------------
  テキスト位置
---------------------------------*/
.textleft {
	text-align: left !important;
}
.textcenter {
	text-align: center !important;
}
.textright {
	text-align: right !important;
}

/*---------------------------------
  テキスト太さ
---------------------------------*/
.textbold {
	font-weight: 600;
}

/*---------------------------------
  改行設定
---------------------------------*/
.break:before {
	content: "\A";
	white-space: pre;
}
.pcno-break:before {
	content: "";
	white-space: pre;
}
.spno-break:before {
	content: "\A";
	white-space: pre;
}
@media screen and (max-width: 767px) {
.break:before {
	content: "\A";
	white-space: pre;
}
.pcno-break:before {
	content: "\A";
	white-space: pre;
}
.spno-break:before {
	content: "";
	white-space: pre;
}
}

/*---------------------------------
  リスト要素感調整
---------------------------------*/
ul.listbottommargin01 {
    display: block;
}
ul.listbottommargin01 li {
    display: block;
    padding: 0 0 1.5em;
}
ul.listbottommargin01 li:last-child {
    padding: 0;
}

/*---------------------------------
  ローディング
---------------------------------*/
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #1372bc;
	background-size: 10%;
	z-index: 999999;
	text-align: center;
	color: #fff;
}

#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定 */
#splash-logo img {
	width: 80%;
}

/*画面遷移アニメーション*/
/*画面遷移の後現れるコンテンツ設定*/
#wrapper{
	opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #wrapper{
	animation-name:PageAnimeAppear;
	animation-duration:1s;
	animation-delay:0.2s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes PageAnimeAppear{
0% {
	opacity: 0;
}
100% {
	opacity: 1;
}
}
@media screen and (max-width: 767px) {
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #1372bc;
	background-size: 30%;
	z-index: 999999;
	text-align: center;
	color: #fff;
}

#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
/* Loading アイコンの大きさ設定 */
#splash-logo img {
	width: 80%;
}
}

/*---------------------------------
  ヘッダー
---------------------------------*/
#headwrap01 {
	width: 100%;
	padding: 0;
	position: fixed;
	top: 0;
	z-index: 888;
	background: rgba(19,114,188,0.0);
	transition: 0.5s;
}
#headwrap01.transform {
	background: rgba(19,114,188,1.0);
	/*-webkit-box-shadow: 0px 10px 9px -6px rgba(102,102,102,0.2);
	-moz-box-shadow: 0px 10px 9px -6px rgba(102,102,102,0.2);
	box-shadow: 0px 10px 9px -6px rgba(102,102,102,0.2);*/
	transition: 0.5s;
}
#headwrap02 {
	width: 85vw; /* 1600px基準でwidth: 1360px; */
	margin: 0 auto;
    display: table;
}
.headinner01 {
	display: table-cell;
	width: calc(100% - 188px);
	vertical-align: middle;
	font-size: 1.6rem;
	font-weight: 500;
    padding: 50px 0 20px;
}
.headinner01:after {
	content:"";
	display:block;
	clear:both;
}
.headinner01:nth-child(1) {
	width: 188px;
}
.headinner01:nth-child(2) {
}
.headinner01:nth-child(2) ul {
	float: right;
	display: flex;
    width: calc(36px * 4 + 60px);
    gap: 0 20px;
}
.headinner01:nth-child(2) ul li {
	width: 36px;
}
.headinner01:nth-child(3) {
    display: none;
}
.headinner01 a:link img {
    transition: all 0.3s ease-in 0s;
}
.headinner01 a:hover img {
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    filter: drop-shadow(0px 0px 10px rgba(255,255,255,0.8));
}
.headinner01:nth-child(2) ul li a:hover img {
    transform: rotate3d(0, 0, 1, 360deg);
    -webkit-transform: rotate3d(0, 0, 1, 360deg);
    transform-origin: center center;
    -webkit-transform-origin: center center;
}
@media screen and (max-width: 767px) {
#headwrap01 {
	width: 100%;
	padding: 0;
	position: fixed;
	top: 0;
	z-index: 888;
	background: rgba(19,114,188,0.0);
	transition: 0.5s;
}
#headwrap01.transform {
	background: rgba(19,114,188,1.0);
	/*-webkit-box-shadow: 0px 10px 9px -6px rgba(102,102,102,0.2);
	-moz-box-shadow: 0px 10px 9px -6px rgba(102,102,102,0.2);
	box-shadow: 0px 10px 9px -6px rgba(102,102,102,0.2);*/
	transition: 0.5s;
}
#headwrap02 {
	width: 100%;
	margin: 0;
    display: table;
}
.headinner01 {
	display: table-cell;
	width: calc(100% - 40vw);
	vertical-align: middle;
    padding: 2.666666666666667vw 0; /* 750px基準でpadding: 50px 0;*/
}
.headinner01:after {
	content:"";
	display:block;
	clear:both;
}
.headinner01:nth-child(1) {
	width: 40vw; /* 750px基準でwidth: 300px;*/
    padding: 0 0 0 5%;
}
.headinner01:nth-child(2) {
    display: none;
}
.headinner01:nth-child(2) ul {
	float: right;
	display: flex;
    width: calc(8vw * 4 + 12vw); /* 750px基準でwidth: 300px;*/
    gap: 0 4vw; /* 750px基準でgap: 0 30px;*/
}
.headinner01:nth-child(2) ul li {
	width: 8vw; /* 750px基準でwidth: 60px;*/
}
.headinner01:nth-child(3) {
	width: 100%;
    display: block;
    position: relative;
    text-align: center;
}
.headinner01 a:link img {
    transition: all 0.3s ease-in 0s;
}
.headinner01 a:hover img {
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    filter: drop-shadow(0px 0px 10px rgba(255,255,255,0.8));
}
.headinner01:nth-child(2) ul li a:hover img {
    transform: rotate3d(0, 0, 1, 360deg);
    -webkit-transform: rotate3d(0, 0, 1, 360deg);
    transform-origin: center center;
    -webkit-transform-origin: center center;
}
}


/*---------------------------------
  アイコンナビ
---------------------------------*/
#iconnaviwrap01 {
	width: 20%;
	position: fixed;
	top: 270px;
    left: 3.75vw; /* 1600px基準でleft: 60px; */
	z-index: 888;
}
.menu-item,
.menu-open-button {
   background: #ffffff;
   border-radius: 100%;
   width: 80px;
   height: 80px;
   margin-left: -2.5vw; /* 1600px基準でmargin-left: -40px; */
   position: absolute;
   text-align: center;
   line-height: 80px;
   -webkit-transform: translate3d(0, 0, 0);
   transform: translate3d(0, 0, 0);
   -webkit-transition: -webkit-transform ease-out 200ms;
   transition: -webkit-transform ease-out 200ms;
   transition: transform ease-out 200ms;
   transition: transform ease-out 200ms, -webkit-transform ease-out 200ms;
}

.menu-open {
   display: none;
}

.lines {
   width: 25px;
   height: 3px;
   background: #1372bc;
   display: block;
   position: absolute;
   top: 50%;
   left: 50%;
   margin-left: -12.5px;
   margin-top: -1.5px;
   -webkit-transition: -webkit-transform 200ms;
   transition: -webkit-transform 200ms;
   transition: transform 200ms;
   transition: transform 200ms, -webkit-transform 200ms;
}

.line-1 {
   -webkit-transform: translate3d(0, -8px, 0);
   transform: translate3d(0, -8px, 0);
}

.line-2 {
   -webkit-transform: translate3d(0, 0, 0);
   transform: translate3d(0, 0, 0);
}

.line-3 {
   -webkit-transform: translate3d(0, 8px, 0);
   transform: translate3d(0, 8px, 0);
}

.menu-open:checked + .menu-open-button .line-1 {
   -webkit-transform: translate3d(0, 0, 0) rotate(45deg);
   transform: translate3d(0, 0, 0) rotate(45deg);
}

.menu-open:checked + .menu-open-button .line-2 {
   -webkit-transform: translate3d(0, 0, 0) scale(0.1, 1);
   transform: translate3d(0, 0, 0) scale(0.1, 1);
}

.menu-open:checked + .menu-open-button .line-3 {
   -webkit-transform: translate3d(0, 0, 0) rotate(-45deg);
   transform: translate3d(0, 0, 0) rotate(-45deg);
}

.menu {
   margin: auto;
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   width: 80px;
   height: 80px;
   text-align: center;
   box-sizing: border-box;
   font-size: 26px;
}


/* .menu-item {
   transition: all 0.1s ease 0s;
} */

.menu-item {
   box-shadow: 3px 3px 0 0 rgba(0, 0, 0, 0.14);
   text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.12);
}
.menu-item img {
   border-radius: 100%;
    transition: all 0.3s ease-in 0s;
}
.menu-item img:hover {
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    transform: rotate3d(0, 0, 1, 360deg);
    -webkit-transform: rotate3d(0, 0, 1, 360deg);
    transform-origin: center center;
    -webkit-transform-origin: center center;
}
.menu-item:hover {
   background: #EEEEEE;
   color: #3290B1;
}

.menu-item:nth-child(3) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-item:nth-child(4) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-item:nth-child(5) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-item:nth-child(6) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-item:nth-child(7) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-item:nth-child(8) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-item:nth-child(9) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-open-button {
   z-index: 2;
   -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
   transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
   -webkit-transition-duration: 400ms;
   transition-duration: 400ms;
   -webkit-transform: scale(1.1, 1.1) translate3d(0, 0, 0);
   transform: scale(1.1, 1.1) translate3d(0, 0, 0);
   cursor: pointer;
   box-shadow: 3px 3px 0 0 rgba(0, 0, 0, 0.14);
}

.menu-open-button:hover {
   -webkit-transform: scale(1.2, 1.2) translate3d(0, 0, 0);
   transform: scale(1.2, 1.2) translate3d(0, 0, 0);
}

.menu-open:checked + .menu-open-button {
   -webkit-transition-timing-function: linear;
   transition-timing-function: linear;
   -webkit-transition-duration: 200ms;
   transition-duration: 200ms;
   -webkit-transform: scale(0.8, 0.8) translate3d(0, 0, 0);
   transform: scale(0.8, 0.8) translate3d(0, 0, 0);
}

.menu-open:checked ~ .menu-item {
   -webkit-transition-timing-function: cubic-bezier(0.935, 0, 0.34, 1.33);
   transition-timing-function: cubic-bezier(0.935, 0, 0.34, 1.33);
}

.menu-open:checked ~ .menu-item:nth-child(3) {
   transition-duration: 180ms;
   -webkit-transition-duration: 180ms;
   -webkit-transform: translate3d(0.08361px, -104.99997px, 0);
   transform: translate3d(0.08361px, -104.99997px, 0);
}

.menu-open:checked ~ .menu-item:nth-child(4) {
   transition-duration: 280ms;
   -webkit-transition-duration: 280ms;
   -webkit-transform: translate3d(90.9466px, -52.47586px, 0);
   transform: translate3d(90.9466px, -52.47586px, 0);
}

.menu-open:checked ~ .menu-item:nth-child(5) {
   transition-duration: 380ms;
   -webkit-transition-duration: 380ms;
   -webkit-transform: translate3d(90.9466px, 52.47586px, 0);
   transform: translate3d(90.9466px, 52.47586px, 0);
}

.menu-open:checked ~ .menu-item:nth-child(6) {
   transition-duration: 480ms;
   -webkit-transition-duration: 480ms;
   -webkit-transform: translate3d(0.08361px, 104.99997px, 0);
   transform: translate3d(0.08361px, 104.99997px, 0);
}

.menu-open:checked ~ .menu-item:nth-child(7) {
   transition-duration: 580ms;
   -webkit-transition-duration: 580ms;
   -webkit-transform: translate3d(-90.86291px, 52.62064px, 0);
   transform: translate3d(-90.86291px, 52.62064px, 0);
}

.menu-open:checked ~ .menu-item:nth-child(8) {
   transition-duration: 680ms;
   -webkit-transition-duration: 680ms;
   -webkit-transform: translate3d(-91.03006px, -52.33095px, 0);
   transform: translate3d(-91.03006px, -52.33095px, 0);
}

.menu-open:checked ~ .menu-item:nth-child(9) {
   transition-duration: 780ms;
   -webkit-transition-duration: 780ms;
   -webkit-transform: translate3d(-0.25084px, -104.9997px, 0);
   transform: translate3d(-0.25084px, -104.9997px, 0);
}
@media screen and (max-width: 767px) {
#iconnaviwrap01 {
    display: none;
	width: 100%;
	position: fixed;
	top: auto;
    bottom: 22%;
    left: 50%;
    transform: translateX(-55%);
	z-index: 888;
}
.menu-item,
.menu-open-button {
   background: #ffffff;
   border-radius: 100%;
   width: 80px;
   height: 80px;
   margin-left: -2.5vw; /* 1600px基準でmargin-left: -40px; */
   position: absolute;
   text-align: center;
   line-height: 80px;
   -webkit-transform: translate3d(0, 0, 0);
   transform: translate3d(0, 0, 0);
   -webkit-transition: -webkit-transform ease-out 200ms;
   transition: -webkit-transform ease-out 200ms;
   transition: transform ease-out 200ms;
   transition: transform ease-out 200ms, -webkit-transform ease-out 200ms;
}

.menu-open {
   display: none;
}

.lines {
   width: 25px;
   height: 3px;
   background: #1372bc;
   display: block;
   position: absolute;
   top: 50%;
   left: 50%;
   margin-left: -12.5px;
   margin-top: -1.5px;
   -webkit-transition: -webkit-transform 200ms;
   transition: -webkit-transform 200ms;
   transition: transform 200ms;
   transition: transform 200ms, -webkit-transform 200ms;
}

.line-1 {
   -webkit-transform: translate3d(0, -8px, 0);
   transform: translate3d(0, -8px, 0);
}

.line-2 {
   -webkit-transform: translate3d(0, 0, 0);
   transform: translate3d(0, 0, 0);
}

.line-3 {
   -webkit-transform: translate3d(0, 8px, 0);
   transform: translate3d(0, 8px, 0);
}

.menu-open:checked + .menu-open-button .line-1 {
   -webkit-transform: translate3d(0, 0, 0) rotate(45deg);
   transform: translate3d(0, 0, 0) rotate(45deg);
}

.menu-open:checked + .menu-open-button .line-2 {
   -webkit-transform: translate3d(0, 0, 0) scale(0.1, 1);
   transform: translate3d(0, 0, 0) scale(0.1, 1);
}

.menu-open:checked + .menu-open-button .line-3 {
   -webkit-transform: translate3d(0, 0, 0) rotate(-45deg);
   transform: translate3d(0, 0, 0) rotate(-45deg);
}

.menu {
   margin: auto;
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   width: 40px;
   height: 40px;
   text-align: center;
   box-sizing: border-box;
   font-size: 26px;
}


/* .menu-item {
   transition: all 0.1s ease 0s;
} */

.menu-item {
   box-shadow: 3px 3px 0 0 rgba(0, 0, 0, 0.14);
   text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.12);
}
.menu-item img {
   border-radius: 100%;
    transition: all 0.3s ease-in 0s;
}
.menu-item img:hover {
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    transform: rotate3d(0, 0, 1, 360deg);
    -webkit-transform: rotate3d(0, 0, 1, 360deg);
    transform-origin: center center;
    -webkit-transform-origin: center center;
}
.menu-item:hover {
   background: #EEEEEE;
   color: #3290B1;
}

.menu-item:nth-child(3) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-item:nth-child(4) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-item:nth-child(5) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-item:nth-child(6) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-item:nth-child(7) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-item:nth-child(8) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-item:nth-child(9) {
   -webkit-transition-duration: 180ms;
   transition-duration: 180ms;
}

.menu-open-button {
   z-index: 2;
   -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
   transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
   -webkit-transition-duration: 400ms;
   transition-duration: 400ms;
   -webkit-transform: scale(1.1, 1.1) translate3d(0, 0, 0);
   transform: scale(1.1, 1.1) translate3d(0, 0, 0);
   cursor: pointer;
   box-shadow: 3px 3px 0 0 rgba(0, 0, 0, 0.14);
}

.menu-open-button:hover {
   -webkit-transform: scale(1.2, 1.2) translate3d(0, 0, 0);
   transform: scale(1.2, 1.2) translate3d(0, 0, 0);
}

.menu-open:checked + .menu-open-button {
   -webkit-transition-timing-function: linear;
   transition-timing-function: linear;
   -webkit-transition-duration: 200ms;
   transition-duration: 200ms;
   -webkit-transform: scale(0.8, 0.8) translate3d(0, 0, 0);
   transform: scale(0.8, 0.8) translate3d(0, 0, 0);
}

.menu-open:checked ~ .menu-item {
   -webkit-transition-timing-function: cubic-bezier(0.935, 0, 0.34, 1.33);
   transition-timing-function: cubic-bezier(0.935, 0, 0.34, 1.33);
}

.menu-open:checked ~ .menu-item:nth-child(3) {
   transition-duration: 180ms;
   -webkit-transition-duration: 180ms;
   -webkit-transform: translate3d(0.08361px, -104.99997px, 0);
   transform: translate3d(0.08361px, -104.99997px, 0);
}

.menu-open:checked ~ .menu-item:nth-child(4) {
   transition-duration: 280ms;
   -webkit-transition-duration: 280ms;
   -webkit-transform: translate3d(90.9466px, -52.47586px, 0);
   transform: translate3d(90.9466px, -52.47586px, 0);
}

.menu-open:checked ~ .menu-item:nth-child(5) {
   transition-duration: 380ms;
   -webkit-transition-duration: 380ms;
   -webkit-transform: translate3d(90.9466px, 52.47586px, 0);
   transform: translate3d(90.9466px, 52.47586px, 0);
}

.menu-open:checked ~ .menu-item:nth-child(6) {
   transition-duration: 480ms;
   -webkit-transition-duration: 480ms;
   -webkit-transform: translate3d(0.08361px, 104.99997px, 0);
   transform: translate3d(0.08361px, 104.99997px, 0);
}

.menu-open:checked ~ .menu-item:nth-child(7) {
   transition-duration: 580ms;
   -webkit-transition-duration: 580ms;
   -webkit-transform: translate3d(-90.86291px, 52.62064px, 0);
   transform: translate3d(-90.86291px, 52.62064px, 0);
}

.menu-open:checked ~ .menu-item:nth-child(8) {
   transition-duration: 680ms;
   -webkit-transition-duration: 680ms;
   -webkit-transform: translate3d(-91.03006px, -52.33095px, 0);
   transform: translate3d(-91.03006px, -52.33095px, 0);
}

.menu-open:checked ~ .menu-item:nth-child(9) {
   transition-duration: 780ms;
   -webkit-transition-duration: 780ms;
   -webkit-transform: translate3d(-0.25084px, -104.9997px, 0);
   transform: translate3d(-0.25084px, -104.9997px, 0);
}
}


/*---------------------------------
  ハンバーガーナビ
---------------------------------*/
@media screen and (max-width: 767px) {
#g-nav {
    display: block;
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 999998;
    /*ナビのスタート位置と形状*/
	top: -200vh;
    left: 0;
	width: 100%;
    height: 100vh;/*ナビの高さ*/
    background: rgba(19,114,188,1.0);
	opacity: 1.0;
    /*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
    top: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#g-navwrap {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
	width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.g-navinner01 {
	display: table;
	width: 98%;
	margin: 50px auto;
	font-size: 4vw; /* 750px基準で30px */
	font-weight: 400;
	color: #232f32;
}
.g-navilistwrap01 {
	display: block;
}
.g-navilistwrap01 ul {
	width: 80%;
    margin: 0 auto;
    text-align: left;
    border-top: none;
}
.g-navilistwrap01 ul li {
	display: block;
	width: 100%;
    border-bottom: none;
}
.g-navilistwrap01 ul li:nth-child(1) {
    border-bottom: 1px solid #ffffff;
    padding: 0 0 5px;
    margin: 0 0 10px;
	font-size: 5.066666666666666vw; /* 750px基準で38px */
    font-weight: 600;
}
.g-navilistwrap01 ul li:nth-child(7) {
    border-bottom: 1px solid #ffffff;
    padding: 0 0 5px;
    margin: 0 0 15px;
}
.g-navilistwrap01 ul li a {
	display: table-cell;
	color: #ffffff !important;
    margin: 0 0 5px;
}
.g-navilistwrap01 ul li a:link {
    display: block;
	color: #ffffff !important;
	background: none !important;
	text-decoration: none;
	padding: 2vw 0; /* 750px基準でpadding: 20px 0; */
	transition: 1.0s ;
}
.g-navilistwrap01 ul li a:visited {
	color: #ffffff;
	background: none;
	text-decoration: none;
	transition: 1.0s ;
}
.g-navilistwrap01 ul li a:hover {
	color: #ffffff !important;
	text-decoration: none;
	transition: 1.0s ;
}
.g-navilistwrap01 ul li a:active {
	color: #ffffff !important;
	text-decoration: none;
	transition: 1.0s ;
}
.g-navilistwrap01 ul li a:before {
	display: table-cell;
    width: 10px;
    content: "";
}
.g-navilistwrap01 ul li:nth-child(1) a:before {
	display: table-cell;
    width: 0;
    content: "";
}
.g-navilistwrap01 ul li a p {
	display: table-cell;
    vertical-align: middle;
}
.g-navilistwrap01 ul li a p:nth-child(2) {
    padding: 0 0 0 20px;
}
.g-navilistwrap01 ul li:nth-child(1) a p {
    padding: 0;
}
.g-navilistwrap01 ul li a p img {
	width: 13.333333333333334vw; /* 750px基準でwidth: 100px; */
    border-radius: 50%;
}

.g-navilistwrap01 ul.iconlink {
    width: auto;
    margin: 0 auto;
    display: table;
}
.g-navilistwrap01 ul.iconlink li {
    width: 25%;
    display: table-cell;
    text-align: center;
}
.g-navilistwrap01 ul.iconlink li a {
	width: 13.333333333333334vw; /* 750px基準でwidth: 100px; */
    margin: 0 4vw;
}
.g-navilistwrap01 ul.iconlink li:nth-child(1) {
    border-bottom: none;
    padding: 0;
    margin: 0;
	font-size: 5.066666666666666vw; /* 750px基準で38px */
    font-weight: 600;
}

/*========= ボタンのためのCSS ===============*/
#openbtnwrap {
    display: block;
    width: 100%;
    height: 45px;
	position: relative;
	cursor: pointer;
    z-index: 999999;/*ボタンを最前面に*/
    background: rgba(255,255,255,.0);
}
#openbtnwrap p {
    font-size: 2.4vw; /* 750px基準でfont-size: 18px; */
	position: absolute;
    bottom: 2px;
    right: 2px;
    color: #ffffff;
}
#openbtninner {
    width: 45px;
    height: 45px;
	top: 0;
	right: 5%;
	margin: 0;
    background: rgba(255,255,255,.0);
	position: absolute;
    z-index: 9999;/*ボタンを最前面に*/
	transition: all 0.6s;
}
.openbtn {
	display: block;
	position: absolute;
    z-index: 9999;/*ボタンを最前面に*/
	top: -5px;
	right: -7.5px;
}
	
/*×に変化*/	
.openbtn span {
    display: inline-block;
    transition: all .4s;
	position: absolute;
    right: 12px;
    height: 3px;
	background: #ffffff;
  	width: 35px;
	transition: all 0.6s;
    border-radius: 10px;
}

.openbtn span:nth-of-type(1) {
	top: 12px;
}

.openbtn span:nth-of-type(2) {
	top: 22px;
}

.openbtn span:nth-of-type(3) {
	top: 32px;
}

#openbtnwrap.active p {
    display: none;
	color: #ffffff;
}
#openbtnwrap.active #openbtninner {
	background: rgba(255,255,255,.0);
}
#openbtnwrap.active .openbtn span {
	background: #ffffff;
	transition: all 0.6s;
}
#openbtnwrap.active .openbtn span:nth-of-type(1) {
    top: 12px;
    right: 12px;
    transform: translateY(10px) rotate(-45deg);
    width: 35px;
}

#openbtnwrap.active .openbtn span:nth-of-type(2) {
	opacity: 0;
}

#openbtnwrap.active .openbtn span:nth-of-type(3) {
    top: 32px;
    right: 12px;
    transform: translateY(-10px) rotate(45deg);
    width: 35px;
}
}


/*---------------------------------
  メインビジュアル（トップページ）
---------------------------------*/
#mainvisualwrap01 {
    width: 100%;
    height: 100vh;
    position: relative;
}
/*bodyにappearクラスがついたら出現*/
body.appear #mainvisualwrap02 {
    width: 27.250000000000004vw; /* 1600px基準でwidth: 436px; */
    position: absolute;
    top: 150px;
    right: 6%;
    animation-name: faderight;
    animation-duration: 1.3s;
    /*animation-delay: 1.5s;*/
    animation-iteration-count: 1;
}
@keyframes faderight {
from {
    opacity: 0;
    transform: translateX(-500%);
}
to {
    opacity: 1;
    transform: translateX(0);
}
}
@media screen and (max-width: 767px) {
#mainvisualwrap01 {
    width: 100%;
    height: 100vh;
    position: relative;
}
/*bodyにappearクラスがついたら出現*/
body.appear #mainvisualwrap02 {
    width: 70%; /* 1600px基準でwidth: 436px; */
    position: absolute;
    top: 50%;
    right: auto;
    left: 50%;
    transform: translate(-50% , -50%);
    animation-name: spfaderight;
    animation-duration: 1.3s;
    /*animation-delay: 1.5s;*/
    animation-iteration-count: 1;
}
}
@keyframes spfaderight {
from {
    opacity: 0;
    transform: translate(-500% , -50%);
}
to {
    opacity: 1;
    transform: translate(-50% , -50%);
}
}


/*---------------------------------
  スクロールダウン
---------------------------------*/
#scrolldownwrap {
	width: 20px;
	position: absolute;
    z-index: 2;
    bottom: 3.125vw; /* 1600px基準でbottom: 50px; */
    left: 12.5vw; /* 1600px基準で200px */
}
.bound {
  animation: key .6s ease infinite alternate;
}
@keyframes key {
  0% {transform: translateY(0px);}
  100% {transform: translateY(-10px);}
}
@media screen and (max-width: 767px) {
#scrolldownwrap {
	width: 16px;
	position: absolute;
    z-index: 2;
    bottom: 5vh;
    left: 4.266666666666667vw; /* 750px基準で32px */
}
.bound {
  animation: key .6s ease infinite alternate;
}
}


/*---------------------------------
  スライダー
---------------------------------*/
#sliderwrap01 {
    width: 100%;
    position: relative;
    padding: 0 30px 60px;
	overflow-x: hidden;
}
.swiper {
  max-width: 100%;
}

.swiper-wrappar {
  height: auto;
}

.swiper-slide {
  height: auto;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
}
.swiper-pagination {
  position:absolute;
  left: 50%;
  bottom: 20px;  
  transform: translateX(-50%);
}
.swiper-pagination-bullet {
    width: 15px;
    height: 15px;
    margin: 0 7px;
    border-radius: 0;
    background: #ffffff;
    opacity: 1;
}
.swiper-pagination-bullet-active {
    background: #fed200;
}
@media screen and (max-width: 767px) {
#sliderwrap01 {
    width: 100%;
    position: relative;
    padding: 0 4vw 8vw; /* 750px基準でpadding: 0 30px 60px; */
}
.swiper {
  max-width: 100%;
}

.swiper-wrappar {
  height: auto;
}

.swiper-slide {
  height: auto;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
}
.swiper-pagination {
  position:absolute;
  left: 50%;
  bottom: 20px;  
  transform: translateX(-50%);
}
.swiper-pagination-bullet {
    width: 2vw; /* 750px基準でwidth: 15px; */
    height: 2vw; /* 750px基準でwidth: 15px; */
    margin: 0 0.9333333333333335vw; /* 750px基準でmargin: 0 7px; */
    border-radius: 0;
    background: #ffffff;
    opacity: 1;
}
.swiper-pagination-bullet-active {
    background: #fed200;
}
}



/*---------------------------------
  メインコンテンツ
---------------------------------*/
#maincontentswrap01 {
	width: 100%;
    font-size: 1.6rem;
    line-height: 140%;
    position: relative;
    z-index: 1;
    padding: 30px 0 0;
}
#maincontentswrap02 {
	width: 100%;
	margin: 0 auto;
    padding: 0 0 0 16.25vw; /* 1600px基準でpadding: 0 0 0 260px; */
}
@media screen and (max-width: 767px) {
#maincontentswrap01 {
	width: 100%;
    font-size: 3.4666666666666663vw; /* 750px基準で26px（1.4remくらい） */
    line-height: 140%;
    position: relative;
    z-index: 1;
    padding: 0;
}
#maincontentswrap02 {
	width: 100%;
	margin: 0 auto;
    padding: 0;
}
}


/*---------------------------------
  コンテンツ（共通）
---------------------------------*/
.contentswrap01 {
	width: 1024px;
    margin: 0 auto;
	padding: 0 0 80px;
}
.contentswrap01:last-child {
	padding: 0;
}
.contentswrap01:after {
	content: "";
	clear: both;
	display: block;
}
.contentswrap01 img {
	display: block;
	width: 100%;
	height: auto;
}
.contentsinner01 {
	width: 100%;
	margin: 0 auto;
    padding: 0 0 60px;
}
.contentsinner01:last-child {
    padding: 0;
}
@media screen and (max-width: 767px) {
.contentswrap01 {
	width: 92%;
    margin: 0 auto;
	padding: 0 0 50px;
}
.contentswrap01:last-child {
	padding: 0;
}
.contentswrap01:after {
	content: "";
	clear: both;
	display: block;
}
.contentswrap01 img {
	display: block;
	width: 100%;
	height: auto;
}
.contentsinner01 {
	width: 100%;
	margin: 0 auto;
    padding: 0 0 30px;
}
.contentsinner01:last-child {
    padding: 0;
}
}


/*---------------------------------
  タイトル
---------------------------------*/
.whitetitle01 {
    padding: 0 0 50px;
    font-size: 6.0rem;
    font-weight: 900;
    color: #ffffff;
}
@media screen and (max-width: 767px) {
.whitetitle01 {
    padding: 0 0 30px;
    font-size: 3.6rem;
    font-weight: 900;
    color: #ffffff;
}
}


/*---------------------------------
  NEWS
---------------------------------*/
#newswrap01 {
    display: block;
}
.newsinner01 {
    padding: 0 0 30px;
}
.newsinner01:last-child {
    padding: 0;
}
.newsdatewrap01 {
    padding: 0 0 5px;
}
.newsdatewrap01 ul {
    display: table;
}
.newsdatewrap01 ul li {
    display: table-cell;
    line-height: 100%;
    vertical-align: middle;
}
.newsdatewrap01 ul li:nth-child(1) p {
    padding: 2px 5px;
    background: #000000;
    margin: 0 0.5em 0 0;
}
.newsdatewrap01 ul li:nth-child(2) p {
    padding: 0 5px 4px;
    background: #ff2495;
    border-radius: 38%;
}
@media screen and (max-width: 767px) {
#newswrap01 {
    display: block;
}
.newsinner01 {
    padding: 0 0 20px;
}
.newsinner01:last-child {
    padding: 0;
}
.newsdatewrap01 {
    padding: 0 0 5px;
}
.newsdatewrap01 ul {
    display: table;
}
.newsdatewrap01 ul li {
    display: table-cell;
    line-height: 100%;
    vertical-align: middle;
}
.newsdatewrap01 ul li:nth-child(1) p {
    padding: 2px 5px;
    background: #000000;
    margin: 0 0.5em 0 0;
}
.newsdatewrap01 ul li:nth-child(2) p {
    padding: 0 5px 4px;
    background: #ff2495;
    border-radius: 38%;
}
}


/*---------------------------------
  PROFILE
---------------------------------*/
.profilewrap01 {
    width: 80%;
    display: table;
    padding: 0 0 50px;
}
.profilewrap01:last-child {
    padding: 0;
}
.profileinner01 {
    width: calc(100% - 252px - 30px);
    display: table-cell;
    vertical-align: top;
    word-break: normal;
}
.profileinner01:nth-child(2) {
    width: 252px;
    padding: 0 0 0 30px;
}
.profileinner01 img {
    border-radius: 10px;
}
.profiletitle01 {
    padding: 0 0 25px;
    font-size: 4.6rem;
    font-weight: 900;
}
@media screen and (max-width: 767px) {
.profilewrap01 {
    width: 100%;
    display: block;
    padding: 0 0 30px;
}
.profilewrap01:last-child {
    padding: 0;
}
.profileinner01 {
    width: 100%;
    display: block;
    vertical-align: top;
    word-break: normal;
}
.profileinner01:nth-child(2) {
    width: 100%;
    padding: 30px 0 0;
}
.profileinner01 img {
    border-radius: 10px;
}
.profiletitle01 {
    padding: 0 0 25px;
    font-size: 2.8rem;
    font-weight: 900;
}
}


/*---------------------------------
  ギャラリーなど
---------------------------------*/
.listwrap01 {
    width: 100%;
    display: flex;
    flex-wrap:wrap;
    gap: 30px 30px;
    padding: 0 0 50px;
}
.listwrap01:last-child {
    padding: 0;
}
.listwrap01 img {
    width: 300px !important;
    height: 200px !important;
    object-fit: cover;
}
.listwrap02 {
    width: 100%;
    display: flex;
    flex-wrap:wrap;
    gap: 30px 30px;
    padding: 0 0 50px;
}
.listwrap02:last-child {
    padding: 0;
}
.listwrap02 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}
.listwrap03 {
    width: 100%;
    display: flex;
    flex-wrap:wrap;
    gap: 30px 30px;
    padding: 0 0 50px;
}
.listwrap03:last-child {
    padding: 0;
}
.listwrap03 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}
.listinner01 {
    width: 30.4%;
    border: 1px solid #1372bc;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}
.listinner01 a:link {
    display: block;
    text-decoration: none !important;
}
.listinner01 a:hover {
    display: block;
	opacity: 1.0 !important;
	transition: 1.0s;
}
.listinner01 a:link img {
    transform: scale(1.1, 1.1);
	transition: 1.0s;
}
.listinner01 a:hover img {
    transform: scale(1.2, 1.2);
	transition: 1.0s;
}
.listinner02 {
    width: 22%;
    border: 1px solid #1372bc;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}
.listinner02 a:link {
    display: block;
    text-decoration: none !important;
}
.listinner02 a:hover {
    display: block;
	opacity: 1.0 !important;
	transition: 1.0s;
}
.listinner02 a:link img {
    transform: scale(1.0, 1.0);
	transition: 1.0s;
}
.listinner02 a:hover img {
    transform: scale(1.2, 1.2);
	transition: 1.0s;
}
.listinner03 {
    width: 50%;
    border: 1px solid #1372bc;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}
.listinner03 a:link {
    display: block;
    text-decoration: none !important;
}
.listinner03 a:hover {
    display: block;
	opacity: 1.0 !important;
	transition: 1.0s;
}
.listinner03 a:link img {
    transform: scale(1.0, 1.0);
	transition: 1.0s;
}
.listinner03 a:hover img {
    transform: scale(1.2, 1.2);
	transition: 1.0s;
}
.listtitle01 {
    width: 101%;
    position: relative;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: #000000;
    font-weight: 600;
    text-align: center;
    padding: 10px;
    background: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 0 0 10px 10px;
}
.listtitle01 p {
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
}
.listinner01 a:hover .listtitle01 p {
    color: #1372bc;
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    filter: drop-shadow(0px 0px 10px rgba(254,210,0,1.0));
}
.listinner02 a:hover .listtitle01 p {
    color: #1372bc;
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    filter: drop-shadow(0px 0px 10px rgba(254,210,0,1.0));
}
.listinner03 a:hover .listtitle01 p {
    color: #1372bc;
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    filter: drop-shadow(0px 0px 10px rgba(254,210,0,1.0));
}
@media screen and (max-width: 767px) {
.listwrap01 {
    width: 100%;
    display: block;
    flex-wrap:wrap;
    gap: 30px 30px;
    padding: 0 0 50px;
}
.listwrap01:last-child {
    padding: 0;
}
.listwrap01 img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover;
}
.listwrap02 {
    width: 100%;
    display: block;
    flex-wrap:wrap;
    gap: 30px 30px;
    padding: 0 0 50px;
}
.listwrap02:last-child {
    padding: 0;
}
.listwrap02 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}
.listwrap03 {
    width: 100%;
    display: block;
    flex-wrap:wrap;
    gap: 30px 30px;
    padding: 0 0 50px;
}
.listwrap03:last-child {
    padding: 0;
}
.listwrap03 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}
.listinner01 {
    width: 100%;
    margin: 0 0 30px;
    border: 1px solid #1372bc;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}
.listinner01:last-child {
    margin: 0;
}
.listinner01 a:link {
    display: block;
    text-decoration: none !important;
}
.listinner01 a:hover {
    display: block;
	opacity: 1.0 !important;
	transition: 1.0s;
}
.listinner01 a:link img {
    transform: scale(1.0, 1.0);
	transition: 1.0s;
}
.listinner01 a:hover img {
    transform: scale(1.2, 1.2);
	transition: 1.0s;
}
.listinner02 {
    width: 100%;
    margin: 0 0 30px;
    border: 1px solid #1372bc;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}
.listinner02:last-child {
    margin: 0;
}
.listinner02 a:link {
    display: block;
    text-decoration: none !important;
}
.listinner02 a:hover {
    display: block;
	opacity: 1.0 !important;
	transition: 1.0s;
}
.listinner02 a:link img {
    transform: scale(1.1, 1.1);
	transition: 1.0s;
}
.listinner02 a:hover img {
    transform: scale(1.2, 1.2);
	transition: 1.0s;
}
.listinner03 {
    width: 100%;
    margin: 0 0 30px;
    border: 1px solid #1372bc;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}
.listinner03:last-child {
    margin: 0;
}
.listinner03 a:link {
    display: block;
    text-decoration: none !important;
}
.listinner03 a:hover {
    display: block;
	opacity: 1.0 !important;
	transition: 1.0s;
}
.listinner03 a:link img {
    transform: scale(1.1, 1.1);
	transition: 1.0s;
}
.listinner03 a:hover img {
    transform: scale(1.2, 1.2);
	transition: 1.0s;
}
.listtitle01 {
    width: 101%;
    position: relative;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: #000000;
    font-weight: 600;
    text-align: center;
    padding: 10px;
    background: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 0 0 10px 10px;
}
.listtitle01 p {
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
}
.listinner01 a:hover .listtitle01 p {
    color: #1372bc;
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    filter: drop-shadow(0px 0px 10px rgba(254,210,0,1.0));
}
.listinner02 a:hover .listtitle01 p {
    color: #1372bc;
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    filter: drop-shadow(0px 0px 10px rgba(254,210,0,1.0));
}
.listinner03 a:hover .listtitle01 p {
    color: #1372bc;
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    filter: drop-shadow(0px 0px 10px rgba(254,210,0,1.0));
}
}


/*---------------------------------
  ページトップ
---------------------------------*/
#pagetopwrap {
    width: 100%;
    margin: 0 auto;
    position: relative;
}
#pagetop {
    width: 40px;
}
#pagetop a:link {
    width: 40px;
	position: fixed;
	bottom: 10px;
    left: 12.5vw; /* 1600px基準でleft: 200px; */
    z-index: 7000;
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    filter: drop-shadow(0px 0px 10px rgba(19,114,188,0.8));
}
#pagetop a:hover {
    width: 40px;
    right: 0;
    bottom: 20px;
    position: fixed;
    margin: 0;
    z-index: 7000;
	transition: 0.5s;
}
@media screen and (max-width: 767px) {
#pagetopwrap {
    width: 96%;
    margin: 0 auto;
    position: relative;
}
#pagetop {
    width: 8vw; /* 750px基準で60px */
}
#pagetop a:link {
    width: 8vw; /* 750px基準で60px */
    left: auto;
    right: 30px;
    bottom: 20px;
    position: fixed;
    margin: 0;
    z-index: 7000;
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    filter: drop-shadow(0px 0px 10px rgba(19,114,188,0.8));
}
#pagetop a:hover {
    width: 8vw; /* 750px基準で60px */
    left: auto;
    right: 30px;
    position: fixed;
    margin: 0;
    z-index: 7000;
	transition: 0.5s;
}
}


/*---------------------------------
  フッター
---------------------------------*/
#footer {
    width: 100%;
    font-size: 1.4rem;
    font-weight: 900;
    text-align: center;
    padding: 40px;
}
@media screen and (max-width: 767px) {
#footer {
    width: 100%;
    font-size: 2.666666666666667vw; /* 750px基準でfont-size: 20px; */
    font-weight: 900;
    text-align: center;
    padding: 40px;
}
}


/*---------------------------------
  リンク無効
---------------------------------*/
.nolink01 {
    pointer-events: none;
}