@charset "UTF-8";

/* base
------------------------------------------------------------ */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{overflow:visible;box-sizing:content-box;height:0}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;transition:0.3s all;}abbr[title]{text-decoration:none;-webkit-text-decoration:none dotted;text-decoration:none dotted;border-bottom:none}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;vertical-align:baseline;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{white-space:normal;color:inherit;display:table;box-sizing:border-box;max-width:100%;padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}*,::after,::before{box-sizing:border-box}html{font-size:62.5%}blockquote,button,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,ol,p,pre,td,th,ul{margin:0;padding:0}li{list-style:none}table{border-spacing:0;border-collapse:collapse}b,em,strong{font-style:normal}strong{font-weight:inherit}small{font-size:inherit}a{text-decoration:none;color:#333}a:not([class]){text-decoration:none}img{vertical-align:top;width:auto;max-width:100%;height:auto}input[type=button],input[type=image],input[type=submit],input[type=text],textarea{border-radius:0;-webkit-appearance:none}



/* font
------------------------------------------------------------ */

@font-face {
	font-family: "AP-OTF-A1GothicStd";
	font-style: normal;
	font-weight: 300;
	src: url("https://www.kirin.co.jp/inquiry/KandC/fonts/AP-OTF-A1GothicStd-Light.woff2") format('woff2'),
		url("https://www.kirin.co.jp/inquiry/KandC/fonts/AP-OTF-A1GothicStd-Light.woff") format('woff');
}

@font-face {
	font-family: "AP-OTF-A1GothicStd";
	font-style: normal;
	font-weight: 400;
	src: url("https://www.kirin.co.jp/inquiry/KandC/fonts/AP-OTF-A1GothicStd-Regular.woff2") format('woff2'),
		url("https://www.kirin.co.jp/inquiry/KandC/fonts/AP-OTF-A1GothicStd-Regular.woff") format('woff');
}

@font-face {
	font-family: "AP-OTF-A1GothicStd";
	font-style: normal;
	font-weight: 500;
	src: url("https://www.kirin.co.jp/inquiry/KandC/fonts/AP-OTF-A1GothicStd-Medium.woff2") format('woff2'),
		url("https://www.kirin.co.jp/inquiry/KandC/fonts/AP-OTF-A1GothicStd-Medium.woff") format('woff');
}

@font-face {
	font-family: "AP-OTF-A1GothicStd";
	font-style: normal;
	font-weight: 700;
	src: url("https://www.kirin.co.jp/inquiry/KandC/fonts/AP-OTF-A1GothicStd-Bold.woff2") format('woff2'),
		url("https://www.kirin.co.jp/inquiry/KandC/fonts/AP-OTF-A1GothicStd-Bold.woff") format('woff');
}




/* common
------------------------------------------------------------ */
body {
	color: #333;
  font-family: "AP-OTF-A1GothicStd", Roboto,Noto Sans JP,"ヒラギノ角 Pro W3","Hiragino Kaku Pro W3","メイリオ",Meiryo,"MS Pゴシック","MS PGothic",sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
	font-weight: 400;
  line-height: 1.875;
	min-width: 320px;
}
body * {
	box-sizing: border-box;
}
main {
	overflow: hidden;
	padding-top: 77px;
}
@media (min-width: 769px) {
	main, footer {
		min-width: 1280px;
	}
	a:hover {
		opacity: .5;
	}
	.u-only-sp {
		display: none !important;
	}
}
@media (max-width: 768px) {
	main {
		padding-top: 60px;
	}
	.u-only-pc {
		display: none !important;
	}
}



/* header
------------------------------------------------------------ */
.str-header-kirin {
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	height: 77px;
	padding-left: 18px;
	width: 100%;
	z-index: 1000;
}
.str-header-kirin__inner {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}
.str-header-kirin-logo {
	line-height: 1;
	width: 345px;
}


@media (min-width: 769px) and (max-width: 1020px) {
	.str-header-kirin-logo {
		width: 250px;
	}
}
@media (max-width: 768px) {
	.str-header-kirin {
		height: 60px;
		padding-left: 10px;
	}
	.str-header-kirin-logo {
		width: 259px;
	}
}



/* footer
------------------------------------------------------------ */
.str-footer-kirin {
	background: #F4F5E5;
	margin-top: 0;
	padding: 115px 60px 85px;
}
.str-footer-kirin__inner {
	margin-inline: auto;
	max-width: 1160px;
	position: relative;
}
.str-footer-kirin-page-top {
	font-family: "Montserrat", sans-serif;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	position: absolute;
	right: 0;
	top: -160px;
}
.str-footer-kirin-logo {
	width: 254px;
}
.str-footer-kirin-upper,
.str-footer-kirin-lower {
	margin-top: 70px;
}
.str-footer-kirin-information {
	font-weight: 500;
}
.str-footer-kirin-menu .text-heading {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.3;
}
.str-footer-kirin-menu .list-secondary {
	margin-top: 24px;
}
.str-footer-kirin-menu .list-secondary > li {
	line-height: 1.3;
}
.str-footer-kirin-menu .list-secondary > li:nth-of-type(n+2) {
	margin-top: 10px;
}
.str-footer-kirin-menu .list-secondary > li a {
	display: inline-block;
	padding-left: 18px;
	position: relative;
}
.str-footer-kirin-menu .list-secondary > li a:before {
	background: #F00000;
	content: "";
	height: 1px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	transition:0.3s all;
	width: 6px;
}
.str-footer-kirin-links > ul > li {
	font-size: 1.3rem;
	font-weight: 500;
}
.str-footer-kirin-copyright {
	color: #898989;
	font-size: 1.1rem;
	font-weight: 500;
}
@media (min-width: 769px) {
	.str-footer-kirin-upper,
	.str-footer-kirin-lower {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
	}
	.str-footer-kirin-lower {
		align-items: center;
	}
	.str-footer-kirin-menu {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-end;
	}
	.str-footer-kirin-menu__item {
		padding-right: 40px;
	}
	.str-footer-kirin-menu__item:nth-last-of-type(1) {
		padding-right: 0;
	}
	.str-footer-kirin-menu .list-secondary > li a:hover {
		color: #F00000;
		opacity: 1;
	}
	.str-footer-kirin-menu .list-secondary > li a:hover:before {
		width: 13px;
	}
	.str-footer-kirin-links > ul {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
	}
	.str-footer-kirin-links > ul > li:nth-of-type(n+2) {
		margin-left: 30px;
	}
}
@media (max-width: 768px) {
	.str-footer-kirin {
		margin-top: 0;
		padding: 48px 32px;
	}
	.str-footer-kirin-page-top {
		top: -110px;
	}
	.str-footer-kirin-upper,
	.str-footer-kirin-lower {
		margin-top: 30px;
	}
	.str-footer-kirin-information {
		font-size: 1.3rem;
	}
	.str-footer-kirin-menu,
	.str-footer-kirin-menu__item:nth-of-type(n+2) {
		margin-top: 30px;
	}
	.str-footer-kirin-menu .text-heading {
		font-size: 1.8rem;
	}
	.str-footer-kirin-menu .list-secondary {
		margin-top: 16px;
	}
	.str-footer-kirin-menu .list-secondary > li:nth-of-type(n+2) {
		margin-top: 6px;
	}
	.str-footer-kirin-menu .list-secondary > li a {
		display: inline-block;
		padding-left: 18px;
		position: relative;
	}
	.str-footer-kirin-menu .list-secondary > li a:before {
		background: #F00000;
		content: "";
		height: 1px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		transition:0.3s all;
		width: 6px;
	}
	.str-footer-kirin-links > ul > li:nth-of-type(n+2) {
		margin-top: 12px;
	}
	.str-footer-kirin-copyright {
		color: #333;
		font-size: 0.9rem;
		margin-top: 30px;
	}
}


/* main
------------------------------------------------------------ */
main > *:first-child {
	margin-top: 100px;
}
@media (max-width: 768px) {
	main > *:first-child {
		margin-top: 32px;
	}
}



/* component
------------------------------------------------------------ */

/* text */
.u-align-left {
	text-align: left !important;
}
.u-align-center {
	text-align: center !important;
}
.u-align-right {
	text-align: right !important;
}


/* margin */
.u-mt-none {
	margin-top: 0 !important;
}



/* c-anchorlink */
.c-anchorlink {
	background: #fff;
	margin-top: -10px;
	position: relative;
	transition: 0.3s all;
	z-index: 100;
}
.c-anchorlink.is-fixed {
	padding-top: 0;
	position: fixed;
	top: 87px;
	left: 0;
	width: 100vw;
}
.c-anchorlink.is-hidden {
	opacity: 0;
	pointer-events: none;
}
.c-anchorlink > ul {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-inline: auto;
	max-width: 1160px;
}
.c-anchorlink > ul li {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-top: 10px;
	position: relative;
	text-align: center;
}
.c-anchorlink > ul li:after {
	background: #f00000;
	content: "";
	height: 1px;
	opacity: 0;
	margin-inline: auto;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	transition: 0.3s all;
	width: 100%;
	z-index: 1;
}
.c-anchorlink > ul li.is-current:after {
	opacity: 1;
}
.c-anchorlink > ul li a {
	display: block;
	font-weight: 500;
	height: 100%;
	line-height: 1.5;
	padding: 5px 10px;
  width: 100%;
}
@media (min-width: 769px) {
	.c-anchorlink {
		border-bottom: 1px solid #262626;
	}
}
@media (max-width: 768px) {
	.c-anchorlink {
		height: auto;
		padding-inline: 32px;
	}
	.c-anchorlink.is-fixed {
		top: 70px;
	}
	.c-anchorlink > ul {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.c-anchorlink > ul li:after {
		background: #262626;
		opacity: 1;
	}
	.c-anchorlink > ul li.is-current:after {
		background: #f00000;
	}
	.c-anchorlink > ul li a {
		font-size: 1.4rem;
	}
}



/* animation
------------------------------------------------------------ */
.c-animation-fadein {
  opacity: 0;
	transition: 0.6s all;
}
.c-animation-fadein.is-animated {
  opacity: 1;
}
.c-animation-svg {
	pointer-events: none;
}
.c-animation-svg svg {
	height: auto;
	width: 100%;
}
.c-animation-svg .animate-path {
	fill: none;
	stroke: #f00000;
	stroke-width: 6;
	stroke-linecap: round;
	stroke-miterlimit: 10;
	visibility: hidden;
	stroke-dasharray: 1000 1000;
}
@media (min-width: 768px) {
	.c-animation-svg .animate-path {
		stroke-width: 10;
	}
}
