@charset "UTF-8";

/*-----------------------------------------------
(Component)
__Default Clear
__Layout
-----------------------------------------------*/

/*-----------------------------------------------
__Default Clear
-----------------------------------------------*/
html{
	overflow-y: scroll;
}
*{
	box-sizing: border-box;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,figure,hr,img,p{
	margin: 0;
	padding: 0;
	-webkit-appearance: none;
	outline: none;
	border: none;
}
body{
	background:var(--white);
	font-family:"Plus Jakarta Sans","Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	line-height:1.4;
	letter-spacing: 0.04em;
	font-weight: 500;
	font-size: 1.1rem;
	color:var(--font);
	text-align: justify;
}
address,caption,cite,code,dfn,em,strong,th,var{
	font-style: normal;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
caption,th{
	text-align: left;
}
q:before,q:after{
	content: '';
}
object,embed{
	vertical-align: top;
}
legend{
	display: none;
}
h1,h2,h3,h4,h5,h6{
	font-size: 100%;
	font-weight: 800;
	line-height: 1.2;
}
img,abbr,acronym,fieldset,iframe{
	border: 0;
}
img{
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
	width /***/:auto;
}
li{
	list-style-type: none;
}
p{
	clear: both;
	margin-bottom: 1.4em;
}
a{
	text-decoration:none;
	transition: all ease .3s;
}
a img{
	transition: all ease .3s;
}
hr{
	display: block;
	clear: both;
	border: none;
	border-bottom:1px solid var(--gray);
	margin: 60px auto;
}
hr.hr_sm{
	margin: 30px auto !important;
}
hr.b_bl{
	border-color: var(--font);
}
hr.dash{
	border-bottom:1px dashed var(--gray);
	margin: 60px auto;
}
hr.b_none{
	border-bottom: none;
	margin: 60px 0;
}
.wrap hr.wrap{
	width: 100% !important;
}

audio{
	margin: 20px 0;
}

input,textarea,button{
	font-family:"Plus Jakarta Sans","Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	-webkit-appearance: none;
	outline: none;
	border: none;
	border-radius:none;
	background: none;
}
::selection {
    background: var(--main);
    color: var(--white);
}
::-moz-selection {
    background: var(--main);
    color: var(--white);
}

.img-ofi {
	width: 100%;
	height: 100%;
  object-fit: cover;
  object-position: center;
	font-family: 'object-fit: cover;'
}
.img-btm {
  object-fit: cover;
  object-position: center bottom;
}
.img-top {
  object-fit: cover;
  object-position: center top;
}

em{
	font-weight: 800;	
}

.ta_center{
	text-align: center;
}
.ta_right{
	text-align: right;
}

.red{
	color: var(--red);
}

/*-----------------------------------------------
__variable
-----------------------------------------------*/
:root{
	--main: #0064FF;
	--main-rgb: 0, 100, 255;

	--sky: #F0F8FF;
	--sky-rgb: 240, 248, 255;

	--gray: #D2D7DC;
	--gray-rgb: 210, 215, 220;

	--white: #ffffff;
	--white-rgb:255,255,255;

	--font: #000000;
	--font-rgb: 0,0,0;

	--red: #E41316;
}

/*-----------------------------------------------
__Layout
-----------------------------------------------*/
#container,
header,
main,
footer{
	width: 100%;
	margin: 0 auto;
}
.wrap{
	width: 90%;
	margin:0 auto;
	max-width: 1440px;
}
.s_wrap{
	width: 90%;
	max-width: 880px;
	margin:0 auto;
}

main a{
	text-decoration: underline;
	color: var(--font);
}
main a:hover{
	text-decoration: none;
}
.btn a,
.s_btn a{
	text-decoration: none;
}

.fl_box{
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

a:has(.material-icons),
a:has(.material-icons-outlined){
	text-decoration: none;
}
.material-icons,
.material-icons-outlined{
	vertical-align: middle;
	margin-right: 5px;
	color: var(--main);
}
.pd{
	padding: 130px 0;
}

.line_yl{
	display: inline-block;
	position: relative;
}
.line_yl::before{
	content: "";
	position: absolute;
	left: 0;
	bottom: -0.1em;
	width: 100%;
	height: 50%;
	background: #FFEE36;
	mix-blend-mode: multiply;
	pointer-events: none;
}

#topcontrol{
	z-index:100
}
#pagetop{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width:60px;
	height:60px;
	border: 1px solid var(--main);
	background: var(--sky);
}
#pagetop::after{
	content: "\e5d8";
	font-family: "Material Icons";
	font-size: 24px;
	color: var(--main);
}