@charset "UTF-8";
svg {
	display: flex;
}
.UiToTop_toTop__TFRXs {
	position: sticky;
	bottom: 50px;
	left: calc(100% - 105px);
	z-index: 9;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5.4rem;
	height: 5.4rem;
	margin: -15rem 0 0;
	visibility: hidden;
	background-color: #000;
	border-radius: 50%;
	opacity: 0;
	transition: opacity .2s ease,visibility .2s ease,color .3s ease,background .3s ease
}

	.UiToTop_toTop__TFRXs.UiToTop_visible__Ko6PV {
		visibility: visible;
		opacity: 1
	}

@media screen and (min-width: 1440px) {
	.UiToTop_toTop__TFRXs {
		width: 54px;
		height: 54px
	}
}

@media screen and (max-width: 768px) {
	.UiToTop_toTop__TFRXs {
		bottom: 1.4rem;
		left: calc(100% - 5rem) !important;
		width: 3.4rem;
		height: 3.4rem
	}
}

@media screen and (min-width: 769px) {
	.UiToTop_toTop__TFRXs:hover {
		color: #fff;
		background-color: #5d5d5d;
		border: 1px solid #5d5d5d
	}

		.UiToTop_toTop__TFRXs:hover .UiToTop_toTopIcon__kqF_X {
			color: #fff
		}
}

@media screen and (max-width: 768px) {
	.UiToTop_toTop__TFRXs {
		right: 1.5rem;
		bottom: 1.5rem;
		width: 3.4rem;
		height: 3.4rem
	}
}

.UiToTop_toTopIcon__kqF_X {
	width: 1rem;
	height: 1rem;
	color: #fff
}

@media screen and (min-width: 1440px) {
	.UiToTop_toTopIcon__kqF_X {
		width: 10px;
		height: 10px
	}
}

blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, hr, p, pre {
	margin: 0
}
menu, ol, ul {
	list-style: none;
	margin: 0;
	padding: 0
}

li {
	list-style: none
}
@media screen and (min-width: 769px) {
	.sp-only {
		display: none !important;
	}

	.pc-only {
		display: block !important;
	}
}

@media screen and (max-width: 768px) {
	.sp-only {
		display: block !important;
	}

	.pc-only {
		display: none !important;
	}
}
/*
! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com
*/
a {
	color: inherit;
	text-decoration: inherit
}
*, :after, :before {
	box-sizing: border-box;
	border: 0 solid #e5e7eb
}

:after, :before {
	--tw-content: ""
}

/*-----------------------------------------------------------
    ～768 （Mobile）	リキッド
 769～1023（Tablet）	リキッド
1024～1440（PC）		リキッド
1440～    （PC）		コンテンツ幅固定。左右の余白が広がる

ブレークポイント768px/1024px/1441px
-----------------------------------------------------------*/
/*-- base font-size -----------------------------------------
769px～	font-size: calc(1000vw/1440)
	1440pxのとき1rem:10px
～768px	font-size: calc(1000vw/360)
	360pxのとき1rem:10px;
-----------------------------------------------------------*/

/* 色設定 */
:root {
--color_darkblue: #000E7B;
}

/* font-size */
/*【PC】従来の表示に寄せるためコンテンツ幅はmax 960pxとし、以下をリキッドとする
　 さらにページ幅960px 以上はフォントサイズ16pxでとまるようにする
  【SP】幅420px弱時のfont-sizeを従来のテンプレートに合わせて16pxにする
   ベースのfont-sizeを1.4remとすることで、幅360px時14px→幅420px時16.333...pxとなる */
/* px→em変換
	10px=0.625em(10/16)
	20px=1.25em
	40px=2.5em
*/

/* font-size */
.osv * {
	font-size:2.4rem;/* 1.6*1440/960 */
}
@media screen and (min-width: 961px) {
	.osv * {
		font-size:16px;
	}
}
@media screen and (max-width: 768px) {
	.osv * {
		font-size:1.4rem;
	}
}
.osv {
	background-color: #fafafa;
	padding-bottom: 5em;
	word-break:normal;
}
.osv .inner{
	max-width:960px;
	width:96%;
	margin:auto;
	padding:1em 0;
}

.osv h2{
	font-size:2em;
}
.osv h2.ttl_line{
	border-bottom: 2px solid #ccc;
	font-size:1.5em;
	padding-bottom:5px;
}
.osv h3.accordion_switch{
	font-size:1.3em;
	line-height: 1.4
}
.osv h4{
	font-size:1.2em;
	color:	#0070c0;
	font-weight:600;
	position: relative;
	letter-spacing: 0;
}
.osv h5{
	font-weight:600;
	font-size:1.1em;
	position: relative;
	text-indent:-1em;
	padding-left:1em
}
.osv h5::before{
	content:"・";
}
.osv h5 ~ p {
	padding-left:1em;
}
.osv .aquos_only{
	font-size: 0.75em;
	font-weight: 400;
	line-height: 1.6;
	display: inline-block;
	position:absolute;
	top:0;right:0;
	color: #fff;
	background: #3b3bce;
	border-radius: 5px;
	padding: 1px 0.5em;
	letter-spacing: 0;
	text-indent:0;
}

@media screen and (max-width: 768px) {
	.osv .inner{
		width:94%;
	}
	.osv .aquos_only{
		font-size:1.2rem;
		top:0.4rem;
	}
	.osv h4:has(.aquos_only),
	.osv h5:has(.aquos_only){
		padding-right:8rem;
	}
}
.osv a {
	text-decoration: underline;
	font-size:inherit;
}
@media screen and (min-width: 769px) {
	.osv .flex_pc {
		display:flex;
		gap: 2em;
	}
	.osv .flex_pc > * {
		width:100%;
	}
}

/* ------------------------------------
	notes
------------------------------------ */
.osv .notes > li {
	font-size: 0.875em;
	color: #666;
	margin-left: 1.25em;
	text-indent: -1.25em;
}
.osv .notes.num > li {
	margin-left: 1.8em;
	text-indent: -1.8em;
}

/* ------------------------------------
	main visual
------------------------------------ */
.osv .main_visual{
	max-width: 1152px;
	margin:0 auto;
}
.osv .main_visual img{
	width:100%;
}


/* ------------------------------------
	lead
------------------------------------ */
.osv .lead{
	margin:5em 0 7em;
	text-align: center;
}
.osv .lead h2{
	line-height: 1.6;
	font-size:2.3em;
	letter-spacing: 0.04em;
}
.osv .lead p{
	line-height: 1.8;
}
.osv .lead p span{
	font-weight: bold;
}
@media screen and (max-width: 768px) {
	.osv .lead{
		margin:3em 0 5em;
	}
	.osv .lead p{
		text-align: left;
	}
}
/* ------------------------------------
	index
------------------------------------ */
.osv .index{
	
}
.osv .index h2{
	
}

.osv .index .index_list li{
	margin-top:1em;
	padding-left:1em;
	position: relative;
}
.osv .index .index_list li::before{
	content: "";
    position: absolute;
    top: 0.65em;
    left: 0.2em;
    width: 0.375em;
    height: 0.375em;
    border-radius: 50%;
    background-color:#666;
    vertical-align: middle;
}

/* ------------------------------------
	content
------------------------------------ */
.osv .content{
	margin-top:3em;
}

/* ------------------------------------
	accordion
------------------------------------ */

.osv h3.accordion_switch{
	border:1px solid #999;
	padding:0.25em 2em 0.25em 0.75em;
	position: relative;
	cursor: pointer;
	background-color: #fff;
}
.osv h3.accordion_switch::after{
	content:"＋";
	position:absolute;
	top:50%;
	right:0.3em;
	transform:translateY(-50%);
	width:1.2em;
	height:1.2em;
	background-color: #aaa;
	color:#fff;
	font-size:1em;
	font-weight: 600;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
}
.osv h3.accordion_switch.open::after{
	content:"－";
}
.osv .accordion_contents {
	display:none;

}

/* ------------------------------------
	caution
------------------------------------ */
.osv .caution_list li {
	margin-top:0.5em;
	text-indent:-1em;
	padding-left: 1em;
}

/* 画像 -----------------------------*/
.osv figure{
	text-align: center;
}
.osv figure img{
	display: inline-block;
}
.osv .w90p{width:90%;}
.osv .w80p{width:80%;}
.osv .w70p{width:70%;}
.osv .w60p{width:60%;}
.osv .w50p{width:50%;}
.osv .w40p{width:40%;}
.osv .w30p{width:30%;}
.osv .w25p{width:25%;}
.osv .w20p{width:20%;}
@media screen and (max-width: 768px) {
	.osv figure.overflow{
		overflow-x: scroll;
		position: relative;
	}
/*	.osv figure.overflow::after{
		content:"■";
		font-size:30px ;
		font-weight: bold;
		position: absolute;
		right:0;
		top:50%;
		opacity:0.4;
		transition: 1s;
		animation: test 2s infinite;
	}
*/	.overflow_img{
		position: relative;
	}
	.overflow_img .scroll_img{
		width:50px;
		height:50px;
		background-color: rgb(165 165 165 / 80%);
		border-radius: 4px;
		position:absolute;
		bottom:5px;
		right:5px;
		opacity:1;
		transition: 2s;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	.overflow_img .scroll_img::before{
		content:"";
		width:20px;
		height:10px;
		background:url("../images/ico_arrow.svg") no-repeat;
		background-size: 100%;
	}
	.overflow_img .scroll_img::after{
		content:"";
		width:20px;
		height:20px;
		background:url("../images/ico_hand.svg");
		background-size: 100%;
		animation:scroll 2s ease-in-out infinite;
	
	}
	@keyframes scroll {
		from {
			transform: translateX(8px);
		}
		to {
			transform: translateX(-8px);
		}
	}
	
	.osv figure.overflow.scroll::after{
		opacity:0;
	}
	.osv .sp_wauto{width:auto;}
	.osv .sp_w90p{width:90%;}
	.osv .sp_w80p{width:80%;}
	.osv .sp_w70p{width:70%;}
	.osv .sp_w60p{width:60%;}
	.osv .sp_w50p{width:50%;}
	.osv .sp_w40p{width:40%;}
	.osv .sp_w30p{width:30%;}
	.osv .sp_w20p{width:20%;}
	.osv .sp_w200p{width:200%;max-width: none}
	
}

/* テーブル -----------------------------*/

.osv table th,
.osv table td {
	border:1px solid #bbb;
	padding:0.5em 1em;
}
.osv table th{
	font-weight:500;
	background-color: #eee;
}

/* Margin */
.osv .mt--0 { margin-top: 0 !important;}
.osv .mr--0 { margin-right: 0 !important;}
.osv .mb--0 { margin-bottom: 0 !important;}
.osv .ml--0 { margin-left: 0 !important;}
.osv .mt--1em { margin-top: 1em !important;}
.osv .mr--1em { margin-right: 1em !important;}
.osv .mb--1em { margin-bottom: 1em !important;}
.osv .ml--1em { margin-left: 1em !important;}
.osv .mt--2em { margin-top: 2em !important;}
.osv .mr--2em { margin-right: 2em !important;}
.osv .mb--2em { margin-bottom: 2em !important;}
.osv .ml--2em { margin-left: 2em !important;}
.osv .mt--3em { margin-top: 3em !important;}
.osv .mr--3em { margin-right: 3em !important;}
.osv .mb--3em { margin-bottom: 3em !important;}
.osv .ml--3em { margin-left: 3em !important;}
.osv .mt--4em { margin-top: 4em !important;}
.osv .mr--4em { margin-right: 4em !important;}
.osv .mb--4em { margin-bottom: 4em !important;}
.osv .ml--4em { margin-left: 4em !important;}
.osv .mt--5em { margin-top: 5em !important;}
.osv .mr--5em { margin-right: 5em !important;}
.osv .mb--5em { margin-bottom: 5em !important;}
.osv .ml--5em { margin-left: 5em !important;}
