@charset "UTF-8";
/* common.css */
/* ============================================ */
/*基本設定*/ :root {
  --design-width-pc: 1128;
  --design-width-sp: 640;
  --vw-ratio: calc(100vw / var(--design-width-pc));
  --color-base-text: #000000; /*テキストの色*/
  --color-base-textsub: #BFBDBA;
  --color-base-main: #1D2943; /*メインカラー*/
  --color-base-accent: #BA9C72; /*アクセントカラーGold*/
  --color-base-bg: #F4F2F0;
--color-base-fin: #8D8B87;
  --color-base-gradient: linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(75, 72, 68, 1) 100%);
	 --color-base-gradient_hover:  linear-gradient(90deg, #4B4844 0%, #807B75 100%);
  --fontfamily-base: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  --box-radius-small: 6px;
  --box-radius-medium: 12px;
  --box-radius-large: 15px;
  --inner-Max-Width: 1128px;
  --inner-Min-Width: 932px;
  --inner-Width: 90%;
}
body {

	font-family: var(--fontfamily-base);

	position: relative;
	
	&::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: url(../img/common/bg.svg) repeat center top;
		background-size: 63px auto;
  pointer-events: none;
}
	
}
body.menu-open {
  overflow: hidden;
}
img {
  max-width: 100%;
}
a{transition: opacity 0.4s ease;
	&:hover{
		opacity: 0.7;
	}}


.fadein {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .6s ease, transform .6s ease;
}

.fadein.show {
  opacity: 1;
  transform: translateY(0);
}


header {
  width: 100%;
  position: fixed;
  top: 36px;
  z-index: 8888;
  a {
    color: var(--color-base-main);
    font-weight: bold;
    font-size: 16px;
  }
  .header_inner {
    width: var(--inner-Width);
    max-width: var(--inner-Max-Width);
	  min-width: var(--inner-Min-Width);
    border-radius: var(--box-radius-medium);
    background: #fff;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0 0 0 24px;
    box-sizing: border-box;
    overflow: hidden;
	  box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.05);
  }
  h1 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    img {
      width: 155px;
      height: auto;
		                            aspect-ratio: 150 / 23;
    }
  }
  .global_nav {
    display: flex;
    ul {
      display: flex;
      gap: 36px;
		            height: 100%;
      li {
       display: flex;
		                  align-items: center;
		  a{
			  color: transparent;
			  overflow: hidden;
			    text-shadow: 0 -1.5em 0 var(--color-base-main), 0 0 0 var(--color-base-main);
  transition: text-shadow 0.3s;
			  
			  &:hover {
  text-shadow: 0 0 0 var(--color-base-main), 0 1.5em 0 var(--color-base-main); /* 2つの影の位置を上方向に1.5emずつずらす */
}
			  
		  }
      }
    }
  }
#session_btn {
  width: 272px;
  text-align: center;
  background: var(--color-base-gradient);
  position: relative;
  overflow: hidden;

  &::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--color-base-gradient_hover);
    opacity: 0;
    transition: opacity 0.4s ease;
    border-radius: inherit;
  }

  &:hover::before {
    opacity: 1;
  }

  a {
    position: relative;
    z-index: 1;
    color: #fff;
    line-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
	  opacity: 1;

    &::after {
      content: "";
      width: 24px;
      height: 24px;
      background: url("../img/common/icn_arr_bottom.svg") no-repeat center;
      display: inline-block;
      margin-left: 12px;
    }
  }
}
}
main {}
footer {
  background: var(--color-base-bg);
  .footer_inner {
    width: 90%;
    max-width: var(--inner-Max-Width);
    margin: 0 auto;
    display: flex;
    align-items: center;
    &:first-of-type {
      border-bottom: 1px solid #BFBDBA;
      margin-bottom: 60px;
    }
    .logo img {
      width: auto;
      height: 120px;
    }
    .company_info {
      padding: 60px 0;
      dl {
        display: flex;
        font-size: 16px;
        margin-left: 120px;
        &:not(:last-of-type) {
          margin-bottom: 16px;
        }
        dt {
          width: 10em;
          font-weight: bold;
          color: var(--color-base-main);
        }
        dd {
          width: calc(100% - 10em);
        }
        a {
          text-decoration: underline;
        }
      }
    }
    &.sub {
      justify-content: space-between;
      padding-bottom: 60px;
      .copy_sns {
        display: flex;
        align-items: center;
        .sns_list {
          display: flex;
          li {
			  width: 24px;
            margin: 0 24px;
          }
        }
        .copy {
          font-size: 12px;
          padding-right: 36px;
        }
      }
      .privacypolicy {
        font-size: 12px;
        a {
          text-decoration: underline;
          position: relative;
			                    padding-right: 5em;
          
          span {
            border-radius: 4px;
            background: var(--color-base-main);
            color: #fff;
            font-weight: bold;
            line-height: 22px;
            padding-bottom: 2px;
            width: 3.5em;
            display: inline-block;
            text-align: center;
            position: absolute;
            right: 0;
            top: -2px;
          }
        }
      }
    }
  }
}
@media screen and (max-width: 940px) {
  header {
    .header_inner {
      flex-wrap: wrap;
      position: relative;
		min-width:var(--inner-Width);
		padding: 0;
      h1 {
        min-height: 64px;
		 margin-left: 24px;
      }
    }
    .global_nav {
      width: 100%;
		border-top: 1px solid #BFBDBA;
		
      ul {
        gap: 0;
        width: 100%;
		  min-height: 54px;
		  height: auto;
        li {
          width: 25%;
          text-align: center;
			a{width: 100%;
			}
        }
      }
    }
    #session_btn {
		width: 36%;
      position: absolute;
      top: 0;
      right: 0;
      line-height: 64px;
		a{line-height: 64px;}
    }
  }
	
	footer{
		
		.footer_inner{
		display: block;
			        width: 82%;
			 padding: 50px 0;
			&:first-of-type{
				            margin-bottom: 0;
            padding-bottom: 0;
			}
			.logo {
				text-align: center;
				img {
            width: 30%;
					max-width: 100px;
            height: auto;
        }
			}
			
			.company_info {
				                padding: 40px 0 20px;
				dl{margin:0 0 2em 0;
				display: block;
					&:not(:last-of-type) {margin:0 0 2em 0;}
					dt{
						width: 100%;
						
						margin-bottom: 0.5em;
					}
					dd{width: 100%;}
				}
				                
			}
			
			&.sub{
				display: flex;
					align-items: flex-start;
        flex-direction: column-reverse;
				            padding-bottom: 100px;
				.privacypolicy{
					                    margin-bottom: 30px;
					a{
						                    span {
                        border-radius: 4px;
                        background: var(--color-base-main);
                        color: #fff;
                        font-weight: bold;
                        line-height: 18px;
                        font-size: 10px;
                        padding-bottom: 0px;
                        width: 4em;
                        display: inline-block;
                        text-align: center;
                        position: absolute;
                        right: 0;
                        top: 1px;
                    }
					}
				}
				
				.copy_sns{
					    width: 100%;
    justify-content: space-between;
					                .copy {
                    font-size: 10px;
                    padding-right: 0;
                }
					
					.sns_list {
                    li {
                        margin: 0 14px;
                        width: 20px;
						&:last-of-type{
							margin-right: 0;
						}
                    }
                }
				}
				
			}
		}
		
	}
	
	
}


@media screen and (max-width: 720px) {
	body{
		p,a,em,strong,dt,dd{font-weight: 600;}
	}
header {
	top: 0;
	.header_inner {
		width: 100%;
		min-width: 100%;
		border-radius: 0;
		        padding: 0 4.6%;
		
		            h1 {
                min-height: 60px;
						position: relative;
						margin-left: 0;
		z-index: 200;
            }
		.global_nav{
			display: none;
			width: 100%;
			                height: calc(100vh - 60px);
			top: 60px;
				left: 0;
				position: fixed;
				padding: 4em 9%;
				background: #fff;
			border-top: 1px solid #F4F2F0;
                    align-items: center;
                    justify-content: center;
			box-sizing: border-box;
			ul{            align-items: center;
            flex-wrap: wrap;
				li{
					                        width: 100%;
                        text-align: left;
                        line-height: 1em;
                        margin-bottom: 4em;
					a{font-size: 24px;
						color: var(--color-base-main);
					text-shadow: none;
					                            overflow: visible;
						&:hover {text-shadow: none;}
					}
				}}
			&.active{
				
			
			}
		}
		#session_btn{
			display: none;
		}
		
	}
	#nav_btn{
			  position: relative;
  width: 50px;
  height: 44px;
  cursor: pointer;
			  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
		z-index: 100;
			span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
display: inline-block;
  transition: all .5s;
  box-sizing: border-box;

				
				&:nth-of-type(1) {
  top: 0;
}
&:nth-of-type(2) {
  top: 20px;
}
&:nth-of-type(3) {
  bottom: 0;
}
				
				
}
		}
	
	

#nav_btn {
position: fixed;
            width: 27px;
            height: 12px;
            cursor: pointer;
            top: 23px;
            right: 5%;
}
#nav_btn span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  border-radius: 4px;
}
#nav_btn, #nav_btn span {
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
}
#nav_btn span:nth-of-type(1) {
  top: 0;
}
#nav_btn span:nth-of-type(2) {
  top: 5px;
}
#nav_btn span:nth-of-type(3) {
  bottom: 0;
}
	
#nav_btn.active span:nth-of-type(1) {
  -webkit-transform: translateY(20px) rotate(-45deg);
  transform: translateY(6px) rotate(-45deg);
}
#nav_btn.active span:nth-of-type(2) {
  opacity: 0;
}
#nav_btn.active span:nth-of-type(3) {
  -webkit-transform: translateY(-20px) rotate(45deg);
  transform: translateY(-5px) rotate(45deg);
}	
	
	
	
	
	
	
	
	}
	footer{
		
		.footer_inner {
            .company_info {
               dl {
					dt,dd {
						font-size: 12px;
				   }}}}
		
	}
}
