@charset "utf-8";
/* CSS Document */

@media print{
   /*印刷用CSSで適用させる定義を記述*/
    .to_top{
        display: none;
    }
}

html {    
    overflow-x: hidden;
    overflow-y: scroll;
    font-size: 62.5%;
}

/*-----------------------------------------------------------*/

@media screen and (max-width: 1700px) {
  html {  
      font-size:90%;
	}
}

@media screen and (max-width: 1400px) {
    html {
      font-size:87.5%;
	}
}

@media screen and (max-width: 1300px) {
    html {
	   font-size:85%;
	}
}

@media screen and (max-width: 1200px) {
  html {
      font-size:72.5%;
	}    
}

/*-----------------------------------------------------------*/

body {
    font-family: "IBM Plex Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;    
    font-size: 1.08rem;/*100%;*/
    -webkit-text-size-adjust: none;
	color: #222;
    overflow: hidden;
    line-height: 1.5;
}

#all_wrap {
	/*
	※ない方がいいかも
	overflow: hidden;*/
}

::-webkit-scrollbar-track {
	background: #333;
}
::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}
::-webkit-scrollbar-thumb {
	background: #ccc;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

*{
	margin: 0;
	padding: 0;
}

*:focus {
  outline: none;
}

img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: top;
	vertical-align: bottom;
}

.pc_hide {
	display: none !important;
}

.sp_hide {
}

a {
	font-size: 1.08rem;
	outline: none;
	color: #222;
	text-decoration:none;
	transition: 0.3s;
	opacity: 1;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    cursor:pointer;
}
a:hover {
	opacity: 0.6;
}

ul{
    list-style-type: none;
}

input, textarea{
    /*bodyと同じフォントcssを入れる*/
    font-family: "IBM Plex Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;    
    font-size: 1.08rem;/*100%;*/
    -webkit-text-size-adjust: none;
	color: #222;
    overflow: hidden;
    line-height: 1.5;
}
input:-webkit-autofill {
    box-shadow: 0 0 0 1000px white inset;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}

select::-ms-expand {
    display: none;
}

button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

/*-----------------------------------------------------------*/
/*フォント*/

.ibmreg {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.ibmmed {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.ibmsemi {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.ibmbold {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.kufamreg {
  font-family: "Kufam", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

/*-----------------------------------------------------------*/
/*リンク（横幅・高さ指定無し）*/


/*-----------------------------------------------------------*/
/*ヘッダー*/

#header_wrap{
	width: 100%;
	height: 120px;
	background-color: #fff;
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.1);
	display: flex;
	justify-content: center;
	align-items: center;
}
#header_wrap #g-nav ul{
    width: fit-content;
    height: 30px;
    margin: 0 auto;
	display: flex;
	justify-content: center;
	gap: 0 75px;
    z-index: 100;
}
#header_wrap #g-nav ul li{
}

#header_wrap #g-nav ul li a{
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
	position: relative;
	font-size: 22px;
}
#header_wrap #g-nav ul li:not(:last-child) a::after{
    content: '';
	display: block;
	width: 2px;
	height: 100%;
	background-color: #00a9ff;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: -38px;
}
#header_wrap #g-nav ul li a:hover{
    color: #00a9ff;
}
#header_wrap #g-nav ul li:not(:last-child) a:hover::after{
    opacity: 1.0;
}

/*-----------------------------------------------------------*/
/*フッター*/

#footer_wrap{
	height: 190px;
	background: url(../images/bg_footer.jpg) 0 0 / cover no-repeat;
	display: flex;
	flex-direction: column;
	gap: 50px 0;
	justify-content: center;
	align-items: center;
}
#footer_wrap .info{
	font-size: 16px;
	color: #fff;
	font-weight: 500;
	text-align: center;
}
#footer_wrap .copy{
	font-size: 13px;
	color: #fff;
	text-align: center;
}

/*-----------------------------------------------------------*/
/*to top*/

#pagetop {
    position: fixed;
    right: 5%;
    bottom: 5%;
    z-index: 10;
}
#pagetop img{
    filter: drop-shadow(0 0 8px rgba(86,114,154,0.50));
}

/*-----------------------------------------------------------*/
/*アニメーション*/

/*フェードアップ*/
.fadeUpTrigger, .afterloadfadeUp{
    opacity: 0;
}
.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*ipad横向き時*/
@media screen and (max-width: 1500px) and (orientation: landscape) {
    
}/*ここまで*/

/*ipad縦向き時*/
@media screen and (min-width: 820px) and (orientation: portrait) {
 
}/*ここまで*/

/*-----------------------------------------------------------*/
/*色別*/

/*YELLOW*/
html.pageYellow {
}

/*BLACK*/
html.pageBlack {
}

/*BLUE*/
html.pageBlue {
}


/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/

