	@charset "UTF-8";

	:root {

	 --color-def: #000000;

	 --color-title: #0a3b93;

	 --color-nav: #000;

	 --color-sub: #c4c4c4;

	 --color-arrow: #23211e;

	 --accent: #6a71b3;

	 --primary: #0a3b93;

	 --color-link: #0a3b93;

	 --red: #cc0000;

	 --bg-dark: #23211e;

	 --bg-gray: ##e6ebf0;

	 --bg-gnav: #474365;

	 --ls-wide: 0.05em;

	 --title-sub-size: 2.4rem;

	 --header-h: calc(112em / 16);

	 --section-space: clamp(3em, calc(140% / 15), 140px);

	 --section-top: var(--section-space);

	 --section-bottom: var(--section-space);

	 --container: 1030px;

	 --container-pad: calc(80% / 15);

	 --btn-bg: var(--primary);

	 --btn-color: #fff;

	 --btn-w: calc(250em / 16);

	 --btn-h: calc(60em / 16);

	 --btn-round: calc(var(--btn-h) / 2);

	 --size-def: clamp(14px, calc(12vmin / 4), 16px);

	 --size-12: clamp(10px, calc(10vmin / 4), 12px);

	 --size-14: clamp(13px, calc(10vmin / 4), 14px);

	 --size-16: clamp(15px, calc(12vmin / 4), 16px);

	 --size-18: clamp(16px, calc(14vmin / 4), 18px);

	 --size-20: clamp(16px, calc(16vmin / 4), 20px);

	 --size-21: clamp(16px, calc(16vmin / 4), 21px);

	 --size-22: clamp(18px, calc(16vmin / 4), 22px);

	 --size-24: clamp(18px, calc(16vmin / 4), 24px);

	 --size-25: clamp(18px, calc(16vmin / 4), 25px);

	 --size-26: clamp(18px, calc(18vmin / 4), 26px);

	 --size-28: clamp(18px, calc(18vmin / 4), 28px);

	 --size-30: clamp(18px, calc(18vmin / 4), 30px);

	 --size-32: clamp(18px, calc(18vmin / 4), 32px);

	 --size-34: clamp(18px, calc(18vmin / 4), 34px);

	 --size-35: clamp(18px, calc(18vmin / 4), 35px);

	 --size-36: clamp(20px, calc(20vmin / 4), 36px);

	 --size-38: clamp(22px, calc(20vmin / 4), 38px);

	 --size-40: clamp(26px, calc(24vmin / 4), 40px);

	 --size-42: clamp(26px, calc(24vmin / 4), 42px);

	 --size-44: clamp(26px, calc(24vmin / 4), 44px);

	 --size-48: clamp(28px, calc(26vmin / 4), 48px);

	 --size-56: clamp(28px, calc(28vmin / 4), 56px);

	 --size-70: clamp(30px, calc(30vmin / 4), 70px);

	 --size-72: clamp(30px, calc(30vmin / 4), 72px);

	 --size-80: clamp(40px, calc(40vmin / 4), 80px);

	 --size-84: clamp(40px, calc(40vmin / 4), 84px);

	 --size-94: clamp(40px, calc(40vmin / 4), 94px);

	 --size-120: clamp(40px, calc(50vmin / 4), 120px);

	 --size-150: clamp(45px, calc(150vw / 16.8), 150px);

	 --easing: cubic-bezier(0.37, 0, 0.63, 1);

	 --easing-def: cubic-bezier(0.42, 0, 0.58, 1);

	 --ff-gothic: "Zen Kaku Gothic New", yu-gothic-pr6n, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;

	 --ff-mincho: "游明朝", yu-mincho-pr6n, "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;

	 --delay-anime: 0.3s;

	 --arrow-w: calc(12em / 16);

	 --arrow-h: calc(16em / 16);

	 --arrow-color: var(--primary);

	}

	.ff-mincho {

	 font-family: var(--ff-mincho);

	}

	.ff-gothic {

	 font-family: var(--ff-gothic);

	}

	.size-12 {

	 font-size: var(--size-12);

	}

	.size-14 {

	 font-size: var(--size-14);

	}

	.size-16 {

	 font-size: var(--size-16);

	}

	.size-18 {

	 font-size: var(--size-18);

	}

	.size-20 {

	 font-size: var(--size-20);

	}

	.size-21 {

	 font-size: var(--size-21);

	}

	.size-22 {

	 font-size: var(--size-22);

	}

	.size-24 {

	 font-size: var(--size-24);

	}

	.size-25 {

	 font-size: var(--size-25);

	}

	.size-26 {

	 font-size: var(--size-26);

	}

	.size-28 {

	 font-size: var(--size-28);

	}

	.size-30 {

	 font-size: var(--size-30);

	}

	.size-32 {

	 font-size: var(--size-32);

	}

	.size-34 {

	 font-size: var(--size-34);

	}

	.size-35 {

	 font-size: var(--size-35);

	}

	.size-36 {

	 font-size: var(--size-36);

	}

	.size-38 {

	 font-size: var(--size-38);

	}

	.size-40 {

	 font-size: var(--size-40);

	}

	.size-42 {

	 font-size: var(--size-42);

	}

	.size-44 {

	 font-size: var(--size-44);

	}

	.size-48 {

	 font-size: var(--size-48);

	}

	.size-56 {

	 font-size: var(--size-56);

	}

	.size-70 {

	 font-size: var(--size-70);

	}

	.size-72 {

	 font-size: var(--size-72);

	}

	.size-80 {

	 font-size: var(--size-80);

	}

	.size-84 {

	 font-size: var(--size-84);

	}

	.size-94 {

	 font-size: var(--size-94);

	}

	.size-120 {

	 font-size: var(--size-120);

	}

	.size-150 {

	 font-size: var(--size-150);

	}

	/* ===========================================================================



	/assets/sass/common/_reset.scss

	Reset



	=========================================================================== */

	body {

	 /* webkit系のスマホで文字が拡大されるのを防ぐ */

	 -webkit-text-size-adjust: 100%;

	}

	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, hr {

	 margin: 0;

	 padding: 0;

	 border: 0;

	 font-style: normal;

	 font-weight: inherit;

	 font-size: 100%;

	 vertical-align: baseline;

	 text-decoration: none;

	}

	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {

	 display: block;

	}

	html {

	 overflow-y: scroll;

	}

	blockquote, q {

	 quotes: none;

	}

	blockquote:before, blockquote:after, q:before, q:after {

	 content: "";

	 content: none;

	}

	input, button, textarea, select {

	 margin: 0;

	 padding: 0;

	 background: none;

	 border: none;

	 border-radius: 0;

	 outline: none;

	 /* 必要に応じて下記はコメントアウト */

	 /*

	   -webkit-appearance: none;

	   -moz-appearance: none;

	   appearance: none;

	  */

	}

	ol, ul {

	 list-style: none;

	}

	table {

	 border-collapse: collapse;

	 border-spacing: 0;

	}

	a:focus {

	 outline: none;

	}

	img {

	 vertical-align: bottom;

	}

	a, span, small, strong {

	 color: inherit;

	 font-weight: inherit;

	}

	html {

	 font-size: 0.625em;

	 box-sizing: border-box;

	}

	img {

	 max-width: 100%;

	 vertical-align: bottom;

	 height: auto;

	}

	*, *::before, *::after {

	 box-sizing: inherit;

	}

	a {

	 color: inherit;

	 text-decoration: none;

	}

	a:visited {

	 text-decoration: none;

	}

	a:hover, a:active {

	 color: inherit;

	 text-decoration: none;

	}

	.mt1 {

	 margin-top: 1em;

	}

	.mt15 {

	 margin-top: 1.5em;

	}

	.mt2 {

	 margin-top: 2em;

	}

	.mb1 {

	 margin-bottom: 1em;

	}

	.mb15 {

	 margin-bottom: 1.5em;

	}

	.mb2 {

	 margin-bottom: 2em;

	}

	.mb25 {

	 margin-bottom: 2.5em;

	}

	.mb3 {

	 margin-bottom: 3em;

	}

	.mr1 {

	 margin-right: 1em;

	}

	.mr15 {

	 margin-right: 1.5em;

	}

	.mr2 {

	 margin-right: 2em;

	}

	.pl1 {

	 padding-left: 1em;

	}

	.pl2 {

	 padding-left: 2em;

	}

	.pl3 {

	 padding-left: 3em;

	}

	.pl4 {

	 padding-left: 4em;

	}

	.indent1 {

	 text-indent: -1em;

	 padding-left: 1em;

	}

	.ta_l {

	 text-align: left;

	}

	.ta_r {

	 text-align: right;

	}

	.ta_c {

	 text-align: center;

	}

	@media print, screen and (max-width: 820px) {

	 .hide-sp {

	  display: none;

	 }

	}

	@media print, screen and (min-width: 821px) and (max-width: 1020px) {

	 .hide-tablet {

	  display: none;

	 }

	}

	@media print, screen and (min-width: 1021px) {

	 .hide-pc {

	  display: none;

	 }

	}

	/* -----------------------------

	 clearfix

	----------------------------- */

	.clearfix:after {

	 content: ".";

	 display: block;

	 height: 0;

	 clear: both;

	 visibility: hidden;

	}

	.clearfix {

	 display: inline-block;

	 min-height: 1%;

	}

	/* for IE-mac */

	* html .clearfix {

	 height: 1%;

	}

	.clearfix {

	 display: block;

	}

	body {

	 font-family: var(--ff-gothic);

	 color: var(--color-def);

	 line-height: 1.875;

	 font-feature-settings: "pkna";

	 -webkit-font-smoothing: antialiased;

	 font-size: var(--size-def);

	}

	@media print, screen and (max-width: 820px) {

	 body {

	  --header-h: clamp(52px, calc(50vw / 4), 80px);

	 }

	}

	ul, ol {

	 list-style: none;

	 padding: 0;

	 margin: 0;

	}

	.en {

	 font-family: var(--ff-en);

	}

	.mincho {

	 font-family: var(--ff-mincho);

	}

	.gothic {

	 font-family: var(--ff-gothic);

	}

	.century {

	 font-family: var(--ff-century);

	}

	.helvetica {

	 font-family: "Helvetica Neue";

	}

	b, strong, .bold {

	 font-weight: 700;

	}

	.medium {

	 font-weight: 500;

	}

	.container {

	 width: 100%;

	 margin-left: auto;

	 margin-right: auto;

	 padding-left: var(--container-pad);

	 padding-right: var(--container-pad);

	}

	@media print, screen and (min-width: 821px) {

	 .container {

	  padding-left: 15px;

	  padding-right: 15px;

	  max-width: var(--container);

	 }

	}

	h1, h2, h3, h4 {

	 line-height: 1.5555555556;

	}

	.t-vtl {

	 -ms-writing-mode: tb-rl;

	 writing-mode: vertical-rl;

	 font-feature-settings: "pkna";

	 white-space: nowrap;

	}

	video, img {

	 max-width: 100%;

	 height: auto;

	}

	a:hover {

	 opacity: 0.75;

	}

	a img {

	 transition: opacity 0.3s ease;

	}

	a img:hover {

	 opacity: 0.75;

	}

	a img.js-img-on:hover {

	 opacity: 1;

	}

	.h-alpha {

	 display: inline-block;

	 transition: opacity 0.3s ease;

	}

	.h-alpha:hover {

	 opacity: 0.75;

	}

	.bg-gray {

	 background-color: var(--bg-gray);

	}

	@media print, screen and (min-width: 1021px) {

	 a[href^="tel:"] {

	  pointer-events: none;

	 }

	}

	.ilblk {

	 display: inline-block;

	}

	.d-flex {

	 display: flex;

	}

	.jc-c {

	 justify-content: center;

	}

	.jc-sb {

	 justify-content: space-between;

	}

	.f-wrap {

	 flex-wrap: wrap;

	}

	.ai-c {

	 align-items: center;

	}

	@media print, screen and (min-width: 821px) {

	 .row {

	  display: flex;

	  flex-wrap: wrap;

	  justify-content: space-between;

	 }

	 .col {

	  width: 45%;

	 }

	 .col-3 {

	  width: 31.3235294118%;

	 }

	}

	.js-animate.fade-in {

	 opacity: 0;

	}

	.js-animate.fade-in.inView {

	 animation: 0.5s var(--anim-delay, 0.1s) cubic-bezier(0.215, 0.61, 0.355, 1) both;

	 animation-name: fade_in, slide_in_y;

	}

	.js-animate.fade-in2 {

	 opacity: 0;

	}

	.js-animate.fade-in2.inView {

	 animation: 0.5s var(--anim-delay, 0.1s) cubic-bezier(0.215, 0.61, 0.355, 1) both;

	 animation-name: fade_in;

	}

	.js-animate.mask-in {

	 position: relative;

	 overflow: hidden;

	}

	.js-animate.mask-in .mask-blk {

	 opacity: 0;

	}

	.js-animate.mask-in.inView {

	 animation: maskIn 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;

	 opacity: 1;

	}

	.js-animate.mask-in.inView::before {

	 animation: maskOut 0.5s 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;

	 content: "";

	 position: absolute;

	 top: 0;

	 left: 0;

	 z-index: 1;

	 width: 100%;

	 height: 100%;

	 background-color: var(--accent);

	}

	.js-animate.mask-in.inView .mask-blk {

	 animation: fade_in 0.5s 0.7s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;

	}

	@keyframes fade_in {

	 0% {

	  opacity: 0;

	 }

	 100% {

	  opacity: 1;

	 }

	}

	@keyframes fade_out {

	 0% {

	  opacity: 1;

	 }

	 100% {

	  opacity: 0;

	 }

	}

	@keyframes zoom {

	 0% {

	  transform: scale(0);

	 }

	 100% {

	  transform: scale(1);

	 }

	}

	@keyframes zoom_in {

	 0% {

	  transform: scale(1.2);

	 }

	 100% {

	  transform: scale(1);

	 }

	}

	@keyframes zoom_l {

	 0% {

	  transform: scaleX(0);

	 }

	 100% {

	  transform: scale(1);

	 }

	}

	@keyframes blur_in {

	 0% {

	  filter: blur(20px);

	 }

	 100% {

	  filter: blur(0);

	 }

	}

	@keyframes slide_in_y {

	 0% {

	  transform: translateY(1.4vw);

	 }

	 100% {

	  transform: translateY(0);

	 }

	}

	@keyframes slide_in_x_left {

	 0% {

	  transform: translateX(-25vw);

	 }

	 100% {

	  transform: translateX(0);

	 }

	}

	@keyframes slice_x {

	 0% {

	  transform: translateX(10%);

	 }

	 100% {

	  transform: translateX(0);

	 }

	}

	@keyframes slice_x_left {

	 0% {

	  transform: translateX(-10%);

	 }

	 100% {

	  transform: translateX(0);

	 }

	}

	@keyframes slide_in_x {

	 0% {

	  transform: translateX(25vw);

	 }

	 100% {

	  transform: translateX(0);

	 }

	}

	@keyframes slide_in_x_left2 {

	 0% {

	  transform: translateX(-50vw);

	 }

	 100% {

	  transform: translateX(0);

	 }

	}

	@keyframes bg_slide_x {

	 0% {

	  background-position: 100% 0;

	 }

	 100% {

	  background-position: 0 0;

	 }

	}

	@keyframes reveal_x {

	 0% {

	  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);

	 }

	 100% {

	  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);

	 }

	}

	@keyframes graAnime {

	 0% {

	  background-position: 0% 14%;

	 }

	 50% {

	  background-position: 100% 87%;

	 }

	 100% {

	  background-position: 0% 14%;

	 }

	}

	.title-sec {

	 line-height: 1.6111111111;

	 margin-bottom: 1em;

	 text-align: var(--align, center);

	 letter-spacing: 0;

	 color: var(--color-title, var(--color-def));

	 letter-spacing: 0.12;

	}

	.title-sec-jp {

	 font-size: clamp(20px, 6vw, 40px);

	 display: flex;

	 gap: 0.25em;

	 align-items: center;

	 justify-content: center;

	}

	.title-sec-ic {

	 flex-shrink: 0;

	 line-height: 1;

	}

	.title-sec-en {

	 font-size: var(--size-16);

	 letter-spacing: 0.42;

	}

	.title-in.inView .title-sec {

	 animation: 0.4s 0.1s cubic-bezier(0.4, 0, 0, 1) forwards;

	 animation-name: fade_in, slide_in_y;

	}

	.title-num {

	 color: var(--color-title);

	 font-weight: 400;

	 line-height: 1.1785714286;

	 margin-bottom: 1.25em;

	 text-align: var(--align, center);

	 letter-spacing: 0;

	 font-size: clamp(20px, 5vw, 32px);

	}

	.title-num .-num {

	 display: block;

	 font-size: clamp(40px, 12.5333333333vw, 94px);

	 font-family: var(--ff-mincho);

	}

	.title-num .-jp {

	 display: block;

	 margin-top: 0.5em;

	}

	@media print, screen and (max-width: 820px) {

	 .title-sec::before {

	  width: 2.6315789474em;

	  height: 3.0263157895em;

	 }

	 .title-num {

	  margin-top: 1.25em;

	 }

	}

	.section {

	 padding: var(--section-space) 0;

	}

	.btn {

	 display: flex;

	 padding: 1.02em 1em;

	 position: relative;

	 background-color: var(--btn-bg);

	 border-radius: var(--btn-round, 40px);

	 color: #fff;

	 justify-content: center;

	 line-height: 1;

	 transition: all 0.3s ease-in;

	 flex-basis: var(--btn-w);

	}

	.btn:hover {

	 color: #fff;

	 opacity: 0.75;

	 filter: brightness(1.05);

	}

	.btn-wrap {

	 display: flex;

	 gap: 1em 4%;

	 flex-wrap: wrap;

	 justify-content: var(--btn-align, center);

	}

	.marker {

	 background: linear-gradient(transparent 60%, var(--marker, #fbe2ec) 60%);

	}

	.td_u {

	 text-decoration: underline;

	}

	.link-arrow {

	 display: flex;

	 gap: 0.75em;

	 align-items: center;

	}

	.fig {

	 position: relative;

	 text-align: center;

	}

	.fig-caption {

	 position: absolute;

	 bottom: 0.5em;

	 width: 100%;

	}

	.fc-def {

	 color: var(--color-def);

	}

	.fc-primary {

	 color: var(--primary);

	}

	.fc-accent {

	 color: var(--accent);

	}

	.fc-red {

	 color: var(--red);

	}

	.list-circle li {

	 padding-left: 1.2em;

	 text-indent: -1.2em;

	}

	.list-circle li::before {

	 content: "●";

	 color: var(--list-marker, var(--primary));

	 margin-right: 0.2em;

	}

	.list-dia li {

	 padding-left: 1.2em;

	 text-indent: -1.2em;

	}

	.list-dia li::before {

	 content: "◆";

	 color: var(--list-marker, var(--primary));

	 margin-right: 0.2em;

	}

	.list-indent li {

	 text-indent: -1em;

	 padding-left: 1em;

	}

	.list-decimal {

	 padding-left: 1.5em;

	}

	.list-decimal > li {

	 list-style: decimal;

	 list-style-position: outside;

	}

	.list-decimal > li::marker {

	 color: var(--list-marker, var(--primary));

	 font-weight: bold;

	}

	.list-check li {

	 display: flex;

	 gap: 0.5em;

	 margin-bottom: 1em;

	}

	.list-check li::before {

	 content: "";

	 background: url(../images/common/check@2x.webp) no-repeat;

	 background-size: contain;

	 flex-basis: 1.4545454545em;

	 height: 1.4545454545em;

	 flex-shrink: 0;

	}

	.gap-30 {

	 gap: 3rem;

	}

	.map-wrap {

	 position: relative;

	 overflow: hidden;

	 aspect-ratio: 1100/620;

	}

	.map-wrap iframe {

	 position: absolute;

	 left: 0;

	 top: 0;

	 width: 100%;

	 height: 100%;

	}

	.accordion-inner {

	 overflow: hidden;

	 pointer-events: none;

	 height: 0;

	}

	.accordionBtn {

	 cursor: pointer;

	 position: relative;

	}

	.accordion-icon {

	 flex-shrink: 0;

	 flex-basis: 1em;

	}

	.accordion-icon .arrow-svg {

	 transform: rotate(90deg);

	}

	.accordion-icon .arrow-path {

	 fill: var(--primary);

	}

	.accordion-wrap.active .accordion-inner {

	 pointer-events: initial;

	}

	.accordion-wrap.active .accordion-icon .arrow-svg {

	 transform: rotate(-90deg);

	}

	@media print, screen and (min-width: 821px) {

	 .accordion-icon {

	  width: 0.7777777778em;

	 }

	}

	.arrow {

	 width: var(--arrow-w);

	 height: var(--arrow-h);

	 flex-shrink: 0;

	}

	.arrow-svg {

	 width: var(--arrow-w);

	}

	.arrow-path {

	 fill: var(--arrow-color, var(--primary));

	}

	.header {

	 width: 100%;

	 --container: 1670px;

	 z-index: 100;

	 background-color: var(--header-bg, #fff);

	 transition: background-color 0.5s;

	 pointer-events: none;

	 position: sticky;

	 left: 0;

	 top: 0;

	 border-bottom: 2px var(--primary) solid;

	}

	.header-logo {

	 pointer-events: initial;

	 position: relative;

	 z-index: 101;

	 flex-basis: clamp(100px, 25%, 214px);

	}

	.header-logo a:hover img {

	 opacity: 1;

	}

	.header-row {

	 display: flex;

	 justify-content: space-between;

	 position: relative;

	 height: var(--header-h);

	 align-items: center;

	}

	.header-nav {

	 flex-basis: 3em;

	 position: relative;

	 pointer-events: initial;

	}

	.scrolled .header {

	 background-color: #fff;

	}

	.gnav {

	 line-height: 1.2;

	 pointer-events: initial;

	}

	@media print, screen and (max-width: 820px) {

	 .gnav {

	  position: fixed;

	  z-index: 99;

	  left: 0;

	  top: var(--header-h);

	  width: 100%;

	  height: calc(100% - var(--header-h));

	  background-color: #e6ebf0;

	  padding-top: 2em;

	  clip-path: circle(0 at 0 0);

	  pointer-events: none;

	  transition: clip-path 0.5s var(--easing-def);

	 }

	 .navopen .gnav {

	  clip-path: circle(141.4% at 100% 100%);

	  pointer-events: initial;

	 }

	 .gnav-inner {

	  overflow-y: auto;

	  height: 100%;

	  width: 100%;

	 }

	 .gnav-btn {

	  height: 3em;

	  display: flex;

	  align-items: center;

	  width: 100%;

	  --gnav-btn-center: var(--primary);

	  --gnav-btn-line: rotate(0deg);

	  --gnav-btn-line2: rotate(0deg);

	  --gnav-btn-top: -0.85em;

	  --gnav-btn-bottom: -0.85em;

	 }

	 .gnav-btn .-line {

	  width: 100%;

	  height: 4px;

	  background-color: var(--gnav-btn-center);

	  display: block;

	  position: relative;

	 }

	 .gnav-btn .-line::before, .gnav-btn .-line::after {

	  content: "";

	  display: block;

	  position: absolute;

	  width: 100%;

	  height: 100%;

	  background-color: var(--primary);

	  left: 0;

	  transition: transform 0.3s var(--easing-def);

	 }

	 .gnav-btn .-line::before {

	  top: var(--gnav-btn-top);

	  transform: var(--gnav-btn-line);

	 }

	 .gnav-btn .-line::after {

	  bottom: var(--gnav-btn-bottom);

	  transform: var(--gnav-btn-line2);

	 }

	 .navopen .gnav-btn {

	  --gnav-btn-line: rotate(25deg);

	  --gnav-btn-line2: rotate(335deg);

	  --gnav-btn-top: 0;

	  --gnav-btn-bottom: 0;

	  --gnav-btn-center: #fff;

	 }

	 .gnav-item {

	  padding: 0.5em;

	  margin-bottom: 1em;

	 }

	 .gnav-link {

	  color: var(--primary);

	  display: block;

	  text-align: center;

	  font-size: var(--size-36);

	 }

	}

	@media print, screen and (min-width: 821px) {

	 .gnav {

	  flex-grow: 1;

	 }

	 .gnav-list {

	  display: flex;

	  flex-wrap: wrap;

	  justify-content: center;

	  gap: 1em 0;

	 }

	 .gnav-item:nth-of-type(n + 2) {

	  border-left: var(--color-def) 1px solid;

	 }

	 .gnav-link {

	  display: block;

	  padding: 0 1em;

	 }

	}

	.catchloaded .gnav {

	 animation: fade_in 1s 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;

	}

	.gotop {

	 position: fixed;

	 right: 5%;

	 bottom: 5%;

	 z-index: 10;

	}

	.gotop-btn {

	 background-color: #6a71b3;

	 color: #fff;

	 width: 6.25em;

	 aspect-ratio: 1/1;

	 border-radius: 50%;

	 display: grid;

	 align-items: center;

	 justify-content: center;

	}

	.gotop-btn:hover {

	 color: #fff;

	}

	@media print, screen and (max-width: 820px) {

	 .gotop-btn {

	  width: 3.75em;

	 }

	}

	.footer {

	 margin-top: var(--section-space);

	 display: grid;

	 grid-template-columns: 1fr;

	 grid-template-rows: 1fr;

	 --color-title: #fff;

	}

	.footer-bg {

	 grid-row: 1/2;

	 grid-column: 1/2;

	}

	.footer-bg img {

	 max-width: none;

	 width: 100%;

	 height: 100%;

	 object-fit: cover;

	}

	.footer-front {

	 grid-row: 1/2;

	 grid-column: 1/2;

	 display: flex;

	 justify-content: center;

	 position: relative;

	 color: #fff;

	 padding: var(--section-space) 0;

	}

	.footer-head {

	 display: flex;

	 gap: 1em;

	 justify-content: space-between;

	 flex-wrap: wrap;

	}

	.footer-logo {

	 flex-basis: clamp(140px, 30%, 218px);

	}

	.footer-mail {

	 margin: 1.5em auto;

	 border-top: 1px #fff solid;

	 border-bottom: 1px #fff solid;

	 text-align: center;

	}

	.footer-note {

	 margin-top: 1.5em;

	}

	.footer-inner {

	 padding-left: 1em;

	 padding-right: 1em;

	}

	.copy {

	 padding-bottom: calc(1em + env(safe-area-inset-bottom));

	 padding-top: 1em;

	}

	.copy-logo {

	 margin-bottom: 3em;

	}

	.page-catch {

	 background: url(../images/common/pagemv-bg.webp) center no-repeat;

	 background-size: cover;

	 min-height: 250px;

	 display: flex;

	 align-items: center;

	 justify-content: center;

	}

	.page-catch-title {

	 line-height: 1.6111111111;

	 margin-bottom: 1em;

	 text-align: var(--align, center);

	 color: var(--color-title, var(--color-def));

	 letter-spacing: 0.12;

	}

	.page-catch-jp {

	 font-size: clamp(20px, 6vw, 40px);

	 display: flex;

	 gap: 0.25em;

	 align-items: baseline;

	 justify-content: center;

	}

	.page-catch-ic {

	 flex-shrink: 0;

	 line-height: 1;

	}

	.page-catch-en {

	 font-size: var(--size-16);

	 letter-spacing: 0.42;

	}

	@media print, screen and (max-width: 820px) {

	 .page-catch {

	  min-height: 15em;

	 }

	}

	@media print, screen and (min-width: 821px) {

	 .page-home .header {

	  opacity: 0;

	  position: absolute;

	 }

	}

	.page-home .catch {

	 position: relative;

	 display: grid;

	 grid-template-columns: 1fr;

	 grid-template-rows: 1fr;

	}

	.page-home .catch-img {

	 overflow: hidden;

	 background: rgba(234, 231, 227, 0.4);

	 background: linear-gradient(-25deg, rgba(234, 231, 227, 0.4) 0%, rgba(234, 231, 227, 0.4) 25%, rgba(234, 231, 227, 0.7) 59%, rgba(234, 231, 227, 0.8) 87%, rgba(234, 231, 227, 0.4) 100%);

	 animation: graAnime 3s ease infinite;

	}

	.page-home .catch-img img {

	 opacity: 0;

	 pointer-events: none;

	 max-width: none;

	 width: 100%;

	 height: auto;

	 transform-origin: left;

	}

	.page-home .catch-title {

	 font-weight: bold;

	 font-size: clamp(20px, 3.75vw, 45px);

	 white-space: nowrap;

	}

	@media print, screen and (max-width: 820px) {

	 .page-home .catch-nav {

	  display: none;

	 }

	 .page-home .catch-logo {

	  position: absolute;

	  display: none;

	 }

	 .page-home .catch-aside {

	  order: 1;

	 }

	 .page-home .catch-main {

	  order: 0;

	 }

	 .page-home .catch-text {

	  padding: 1em;

	 }

	}

	@media print and (orientation: portrait), screen and (max-width: 820px) and (orientation: portrait) {

	 .page-home .catch-inner {

	  align-items: flex-end;

	  padding-bottom: 3em;

	 }

	}

	@media print, screen and (min-width: 821px) {

	 .page-home .catch {

	  background: url(../images/home/mv-bg.webp) center top no-repeat;

	  background-size: cover;

	  display: grid;

	  grid-template-columns: auto 78.3333333333%;

	  gap: 1.5em;

	  padding-top: 4em;

	 }

	 .page-home .catch-img {

	  height: clamp(700px, 53.3333333333vw, 800px);

	  border-radius: 20px 0 0 20px;

	 }

	 .page-home .catch-img img {

	  height: 100%;

	  width: 100%;

	  object-fit: cover;

	 }

	 .page-home .catch-aside {

	  grid-column: 1/2;

	  grid-row: 1/2;

	  position: relative;

	  z-index: 5;

	 }

	 .page-home .catch-aside .-inner {

	  max-width: 253px;

	  margin-left: auto;

	 }

	 .page-home .catch-title {

	  position: absolute;

	  bottom: 1em;

	 }

	 .page-home .catch-logo {

	  margin-left: auto;

	 }

	 .page-home .catch-main {

	  grid-column: 2/3;

	  grid-row: 1/2;

	 }

	 .page-home .catch-nav {

	  margin-bottom: 1em;

	 }

	 .page-home .catch-nav .gnav-list {

	  justify-content: flex-start;

	  line-height: 1.2;

	 }

	}

	.page-home .catchloaded .catch-img {

	 background-color: #fff;

	}

	.page-home .catchloaded .catch-img img {

	 animation: fade_in var(--catch-duration, 0.1s) 0.01s cubic-bezier(0.4, 0, 0, 1) forwards;

	}

	@media print, screen and (min-width: 1021px) {

	 .page-home .catchloaded .catch-img {

	  --catch-duration: 3s;

	 }

	}

	.page-home .top-news-list .-item {

	 margin-bottom: 1em;

	}

	.page-home .top-news-list .-item-head {

	 display: flex;

	 min-height: 3.875em;

	 border-radius: 1.9375em;

	 align-items: center;

	 padding: 0.5em 1.5em;

	 background-color: #e6ebf0;

	 gap: 0.5em 1em;

	 color: var(--primary);

	}

	.page-home .top-news-list .-item-head > * {

	 pointer-events: none;

	}

	.page-home .top-news-list .-item-date {

	 flex-shrink: 0;

	}

	.page-home .top-news-list .-item-text {

	 flex-grow: 1;

	}

	.page-home .top-news-list .-item .-icon {

	 margin-left: auto;

	 flex-shrink: 0;

	}

	.page-home .top-news-list .-item-detail {

	 padding: clamp(1em, 2.5%, 30px);

	 font-size: var(--size-14);

	}

	@media print, screen and (max-width: 820px) {

	 .page-home .top-news-list .-item-head {

	  flex-wrap: wrap;

	  gap: 0 1em;

	  padding-right: 2em;

	  line-height: 1.5;

	 }

	 .page-home .top-news-list .-item-title {

	  flex-basis: 100%;

	 }

	 .page-home .top-news-list .-item .-icon {

	  position: absolute;

	  right: 1.5em;

	 }

	}

	.page-home .top-app {

	 position: relative;

	 --container: 1100px;

	}

	.page-home .top-app::before {

	 content: "";

	 display: block;

	 position: absolute;

	 right: 50vw;

	 width: 50vw;

	 height: 100%;

	 background-color: #e6ebf0;

	 top: 0;

	}

	.page-home .top-app .container {

	 position: relative;

	 background-color: #e6ebf0;

	}

	.page-home .top-app-row {

	 display: grid;

	 grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));

	 justify-content: center;

	 gap: 1.5em 5%;

	 max-width: 1000px;

	 margin-left: auto;

	 margin-right: auto;

	}

	.page-home .top-app-row .-col {

	 background-color: #fff;

	 border-radius: 10px;

	 padding: 2em 1.5em 1em;

	 display: flex;

	 align-items: center;

	 flex-direction: column;

	 gap: 0.5em;

	}

	.page-home .top-app-row .-col .-text {

	 margin-top: 1em;

	}

	@media print, screen and (min-width: 821px) {

	 .page-home .top-app .container {

	  border-radius: 20px;

	 }

	}

	.page-home .top-features-row {

	 display: flex;

	 flex-wrap: wrap;

	 justify-content: center;

	 gap: 1.25em;

	}

	.page-home .top-features-row .-item {

	 flex-basis: 25em;

	 background-color: #e6ebf0;

	 border-radius: 50%;

	 display: grid;

	 grid-template-rows: 50% 2em auto;

	 aspect-ratio: 1/1;

	 line-height: 1.5625;

	 gap: 0.5em;

	}

	.page-home .top-features-row .-item-icon {

	 display: flex;

	 align-items: flex-end;

	 justify-content: center;

	}

	.page-home .top-howto {

	 position: relative;

	 --container: 1100px;

	 overflow: hidden;

	}

	.page-home .top-howto::before {

	 content: "";

	 display: block;

	 position: absolute;

	 left: 50vw;

	 width: 50vw;

	 height: 100%;

	 background-color: #e6ebf0;

	 top: 0;

	}

	.page-home .top-howto .container {

	 position: relative;

	 background-color: #e6ebf0;

	}

	.page-home .top-howto .section {

	 max-width: 1000px;

	 margin-left: auto;

	 margin-right: auto;

	}

	.page-home .top-howto-step .-item {

	 background-color: #fff;

	 border-radius: 10px;

	 min-height: 110px;

	 display: grid;

	 grid-template-columns: 5em auto 12.625em;

	 margin-bottom: 4.375em;

	 position: relative;

	 color: var(--primary);

	 font-weight: bold;

	}

	.page-home .top-howto-step .-item:nth-of-type(n + 2)::before {

	 content: "";

	 display: block;

	 background-color: var(--primary);

	 width: 2.5em;

	 height: 1.25em;

	 clip-path: polygon(0 0, 50% 100%, 100% 0);

	 position: absolute;

	 left: calc(50% - 1.25em);

	 top: -2.8125em;

	}

	.page-home .top-howto-step .-item-no {

	 text-align: center;

	 display: flex;

	 align-items: center;

	 justify-content: center;

	 padding: 0 0.5em;

	}

	.page-home .top-howto-step .-item-text {

	 display: flex;

	 align-items: center;

	}

	.page-home .top-howto-step .-item-thumb {

	 border-radius: 10px;

	 overflow: hidden;

	}

	.page-home .top-howto-step .-item-thumb > img {

	 height: 100%;

	 object-fit: cover;

	 width: 100%;

	}

	.page-home .top-howto-step .-item-thumb.-qr {

	 display: flex;

	 gap: 1em;

	 justify-content: center;

	 align-items: center;

	}

	.page-home .top-howto-step .-item-thumb.-qr .size-12 {

	 flex-basis: 64px;

	}

	.page-home .top-howto .-manual-row {

	 display: flex;

	 gap: 1.5em 4%;

	 margin-bottom: clamp(2em, 10%, 3em);

	 flex-wrap: wrap;

	}

	.page-home .top-howto .-manual-row .-item {

	 flex-grow: 1;

	 --arrow-h: 100%;

	}

	.page-home .top-howto .-manual-row .-item.-patient {

	 --primary: #00a99d;

	 --arrow-color: #00a99d;

	}

	.page-home .top-howto .-manual-row .-item-link {

	 display: grid;

	 background-color: #fff;

	 border-radius: 10px;

	 grid-template-columns: 5em auto 12px;

	 padding-right: 1em;

	 min-height: 5em;

	 gap: 1em;

	 overflow: hidden;

	 color: var(--primary);

	}

	.page-home .top-howto .-manual-row .-item-icon {

	 background-color: var(--primary);

	 display: flex;

	 align-items: center;

	 justify-content: center;

	}

	.page-home .top-howto .-manual-row .-item-text {

	 display: flex;

	 align-items: center;

	}

	.page-home .top-howto .-manual-row .-item .arrow {

	 display: flex;

	 align-items: center;

	}

	@media print and (orientation: portrait), screen and (max-width: 820px) and (orientation: portrait) {

	 .page-home .top-howto-step .-item {

	  grid-template-columns: 5em auto;

	  padding: 1.5em 1em;

	  row-gap: 1em;

	 }

	 .page-home .top-howto-step .-item-thumb {

	  grid-column: 1/3;

	  text-align: center;

	 }

	 .page-home .top-howto .-manual-row .-item {

	  flex-basis: 100%;

	 }

	}

	@media print, screen and (min-width: 821px) {

	 .page-home .top-howto .container {

	  border-radius: 20px;

	 }

	 .page-home .top-howto-step .-item-thumb {

	  border-radius: 0 10px 10px 0;

	 }

	}

	.page-home .top-env-row {

	 display: grid;

	 gap: 2em 5%;

	 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

	}

	.page-home .top-env .-table {

	 border-top: 1px var(--primary) solid;

	 border-bottom: 1px var(--primary) solid;

	 width: 100%;

	 line-height: 1.25;

	}

	.page-home .top-env .-table thead th {

	 border-bottom: 1px var(--primary) solid;

	 padding: 0.5em;

	}

	.page-home .top-env .-table tbody td {

	 padding: 0.75em 1em;

	}

	.page-home .top-env .-table tbody td:first-of-type {

	 width: 7.5em;

	}

	.page-home .top-env .-table tbody tr:nth-of-type(n + 2) td {

	 border-top: 1px #cccccc solid;

	}

	.page-home .top-faq {

	 position: relative;

	 --container: 1100px;

	}

	.page-home .top-faq::before {

	 content: "";

	 display: block;

	 position: absolute;

	 right: 50vw;

	 width: 50vw;

	 height: 100%;

	 background-color: #e6ebf0;

	 top: 0;

	}

	.page-home .top-faq .container {

	 position: relative;

	 background-color: #e6ebf0;

	 border-radius: 20px;

	}

	.page-home .top-faq .section {

	 max-width: 1000px;

	 margin-left: auto;

	 margin-right: auto;

	}

	.page-home .top-faq-list .-item {

	 margin-bottom: 1em;

	}

	.page-home .top-faq-list .-item-head {

	 display: flex;

	 min-height: 3.875em;

	 border-radius: 1.9375em;

	 align-items: center;

	 padding: 0.5em 1.5em;

	 background-color: #fff;

	 gap: 0.5em 1em;

	 color: var(--primary);

	}

	.page-home .top-faq-list .-item-head > * {

	 pointer-events: none;

	}

	.page-home .top-faq-list .-item-date {

	 flex-shrink: 0;

	}

	.page-home .top-faq-list .-item-text {

	 flex-grow: 1;

	}

	.page-home .top-faq-list .-item .-icon {

	 margin-left: auto;

	 flex-shrink: 0;

	}

	.page-home .top-faq-list .-item-detail {

	 padding: clamp(1em, 2.5%, 30px);

	 font-size: var(--size-14);

	}

	.page-home .scrolled .header {

	 animation: fade_in 0.5s 0.1s cubic-bezier(0.16, 1, 0.3, 1) forwards;

	 position: sticky;

	}

	.page-about .about-img01 {

	 margin: var(--section-space) auto;

	}

	.page-about .about-img01 .-title {

	 display: flex;

	 align-items: flex-end;

	 justify-content: center;

	 margin-bottom: 1em;

	}

	.page-about .about-img01 .-title::before, .page-about .about-img01 .-title::after {

	 content: "";

	 display: block;

	 background: url(../images/common/title-deco.svg) no-repeat;

	 background-size: contain;

	 width: 22px;

	 height: 25px;

	}

	.page-about .about-img01 .-title::after {

	 transform: scaleX(-100%);

	}

	.page-about .about-sec-row {

	 display: grid;

	 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

	 gap: 2em 5%;

	}

	.page-about .about-sec-row .-item-img {

	 margin: 1em auto;

	}

	.page-howto .howto-intro-img {

	 margin: var(--section-space) auto 0;

	}

	.page-howto .howto-step {

	 background-color: #e6ebf0;

	}

	.page-howto .howto-step-row {

	 display: grid;

	 grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

	 gap: 2em 5%;

	 margin: 2em auto clamp(2em, 10%, 80px);

	}

	.page-howto .howto-step-row .-item-img {

	 margin: 0 auto 1.5em;

	 text-align: center;

	}

	.page-howto .howto-step-row .-item.-step01 {

	 --primary: #00a99d;

	}

	.page-howto .howto-step .btn.-patient {

	 --btn-bg: #00a99d;

	}

	.page-howto .howto-symbol-list .-item {

	 margin-top: clamp(2em, 10%, 80px);

	 display: flex;

	 flex-wrap: wrap;

	 gap: 1em 2em;

	}

	.page-howto .howto-symbol-list .-item-label {

	 background-color: var(--primary);

	 color: #fff;

	 flex-basis: 200px;

	 text-align: center;

	 align-self: flex-start;

	 padding: 0.1em 1em;

	}

	@media print, screen and (max-width: 820px) {

	 .page-howto .howto-step-row {

	  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

	 }

	}

	.page-list .list-sec-table {

	 margin-top: var(--section-space);

	}

	.page-list .list-sec-table table {

	 width: 100%;

	}

	.page-list .list-sec-table table thead th {

	 padding: 1em;

	 background-color: #e6ebf0;

	 text-align: left;

	 color: var(--primary);

	}

	.page-list .list-sec-table table thead th:first-of-type {

	 width: 290px;

	}

	.page-list .list-sec-table table tbody th, .page-list .list-sec-table table tbody td {

	 text-align: left;

	 padding: 1em;

	 border-bottom: 1px #e6ebf0 solid;

	}

	.page-list .list-sec-table table tbody th {

	 color: var(--primary);

	 font-size: var(--size-20);

	 width: 250px;

	} /*# sourceMappingURL=style.css.map */

	.kaigyo {

	 display: inline-block;

	}

	p, span {

	 font-feature-settings: "palt" !important;

	}

	/*e薬SCAN対応の電子お薬手帳---------------------------------------------------------------*/

	/*.app-table-ttl-pc{display: block;}*/

	.app-table-ttl-sp {

	 display: none;

	}

	@media print, screen and (max-width: 500px) {

	 .app-table-ttl-sp {

	  display: block;

	  font-size: 12px;

	  border: 1px solid #CCC;

	  padding: 1px 5px;

	  width: 80px;

	  text-align: center;

			margin-right: 10px;

	 }

	 .app-table-ttl-pc {

	  display: none;

	 }

	 .list-sec-table tbody th, .list-sec-table tbody td {

	  display: block;

	 }

	 .page-list .list-sec-table table tbody th, .page-list .list-sec-table table tbody td  {

	  display: flex;

	  align-items: center;

	  width: auto;	

	 }

		.page-list .list-sec-table table tbody th{

			border-bottom: 0;

			padding:0 0 3px;

		}

		.page-list .list-sec-table table tbody td{

			margin-bottom: 10px;

			padding:0 0 10px;

		}

		.page-list .list-sec-table table tbody th, .page-list .list-sec-table table tbody td {

	 text-align: left;

	}
		
	}

.list-sec-table td,
.list-sec-table th {
  vertical-align: middle;
}

.icon-adjust {
  vertical-align: middle;
  margin-top: -4px;
}

