@charset "utf-8";



/*reset style
----------------------------------------------------------------*/
@import url("https://unpkg.com/sanitize.css");

/*Google Fonts
----------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Zen+Antique+Soft&display=swap");

/*Google Fonts Icons
----------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200");

/*Yaku Han JP（明朝体）
----------------------------------------------------------------*/
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanmp.css");

/*ドロワーメニューのキーフレーム設定
----------------------------------------------------------------*/
@keyframes animation1 {
	0% {left: -200px;}
	100% {left: 0px;}
}

/*ドロワーボタンのキーフレーム設定
----------------------------------------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

/*全体設定
----------------------------------------------------------------*/
:root {
    --primary: #ea5902;
    --primary-pale: #fbdecc;
    --secondary: #f08c00;
    --secondary-pale: #fff1d9;
    --basecolor: #303030;
    --gray-dark: #646464;
    --gray-mid: #b3b3b3;
    --gray-lite: #e6e6e6;
    --gray-pale: #f2f2f2;
}

html,body {
	margin: 0;padding: 0;
	height: 100%;
	font-size: 14px;
}
body {
	font-family: "Open Sans", "Helvetica Neue", Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN","Hiragino Sans", sans-serif;
	-webkit-text-size-adjust: none;
	background: #fff;
	color: var(--basecolor);
	line-height: 2.1;
	overflow-x: hidden;
    font-weight: 300;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.08em;
}

/*リセット*/
figure {
    margin: 0;
}
dd {
    margin: 0;
}
nav {
    margin: 0;padding: 0;
}
img {
    border: none;
    max-width: 100%;height: auto;
    vertical-align: middle;
}
ul, ol {
    margin-bottom: 30px;
}
a {
	color: var(--primary);
	transition: 0.3s;
}
a:hover {
	opacity: 0.8;
}
:where(small) {
  font-size: 87.5%;
}

/*アイコン
----------------------------------------------------------------*/
.material-symbols-outlined {
    line-height: 1;
    vertical-align: text-bottom;
    margin-bottom: -0.15rem;
    font-variation-settings:
        'FILL' 0,
        'wght' 200,
        'GRAD' 0,
        'opsz' 14;
}

/*container
----------------------------------------------------------------*/
#container {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/*section
----------------------------------------------------------------*/
section {
	margin: 0 auto;
	max-width: 1136px;
    padding: 128px 16px;
}
section#news {
	margin: 0 auto;
	max-width: 752px;
	padding: 64px 16px;
}

/*header
----------------------------------------------------------------*/
header {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	background: transparent;
	color: #fff;
	position: relative;
    z-index: 100;
    height: 64px;
}
header a {
	color: #fff;
}
header #logo img {display: block;}
header #logo {
	margin: 0;
	background: none;
	width: 192px;
	padding: 24px 0 0;
	position: absolute;
	left: 16px;
	top: 0px;
}

/*ナビゲーション初期設定
----------------------------------------------------------------*/
#navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#navigation {
    display: none;
}
#navigation.db {
    display: block;
}
#navigation.dn {
    display: none;
}
#navigation a {
	display: block;
    text-decoration: none;
	text-align: center;
	letter-spacing: 0.08em;
    font-weight: 500;
}
#navigation span.nav_icon {
    color: #fff,
}
#navigation a picture::after {
    font-family: "Material Symbols Outlined";
    content: "open_in_new";
    display: inline-block;
    position: relative;
    top: 4px;
    left:2px;
    line-height: 1;
    font-size: 22px;
    color: #fff;
    font-variation-settings:
    'FILL' 0,
    'wght' 200,
    'GRAD' 0,
    'opsz' 22;
}

/*ドロワーメニュー
----------------------------------------------------------------*/
.s #navigation.db {
	position: fixed;
    overflow: auto;
    z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding: 70px 0;
	background: #ea5902e0;
	color: #fff;
	animation: animation1 0.2s both;
	text-align: center;
}
.s #navigation.db a {
	color: #fff;
	padding: 20px;
}

/*ドロワーボタン
----------------------------------------------------------------*/
#navigation_hdr {
	display: flex;
	animation: opa1 0s 0.2s both;
	position: fixed;
	z-index: 101;
	cursor: pointer;
	right: 0px;
	top: 0px;
	width: 72px;
	height: 72px;
	background: var(--primary);
	transform-origin: right top;
	transform: scale(1);
}
#navigation_hdr span {
	display: block;
	position: absolute;
	left: 20px;
	width: 32px;
	height: 2px;
	background: #fff;
	transition: 0.3s;
}
#navigation_hdr span:nth-of-type(1) {
	top: 24px;
}
#navigation_hdr span:nth-of-type(2) {
	top: 34px;
}
#navigation_hdr span:nth-of-type(3) {
	top: 44px;
}
/*展開時 */
#navigation_hdr.ham {
	background: transparent;
}
#navigation_hdr.ham span:nth-of-type(1) {
	transform: translateY(10px) rotate(-45deg);
}
#navigation_hdr.ham span:nth-of-type(2) {
	opacity: 0;
}
#navigation_hdr.ham span:nth-of-type(3) {
	transform: translateY(-10px) rotate(45deg);
}

/*main
----------------------------------------------------------------*/
main {	
	flex: 1;
    margin-top: 160px;
}
main h2 {
    position: relative;
    font-size: 2rem;
    font-family: YakuHanMP, "Zen Antique Soft", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.02em;
    margin-bottom: 2rem;
    padding: 1em;
    text-align: center;
    color: var(--primary);
}
main h2 .sub {
    font-size: 1.5rem;
    letter-spacing: 0.02em;
}
main h2 .capt {
    font-size: 0.75rem;
    font-family: "Open Sans", sans-serif;
    font-weight: 300;
    letter-spacing: 0.15em;
    margin-top: -1.25em;
}
main h3 {
	margin-bottom: 20px;
}
main p {
	margin: 0 20px 30px;
}
main img {
    border-radius: 8px;
}

/*footer
----------------------------------------------------------------*/
footer small {
  font-size: 0.6875rem;
  letter-spacing: 0.05rem;
}
footer {
  text-align: center;
  padding: 64px;
  background: #fff;
  color: var(--gray-dark);
}
footer a {
    text-decoration: none;
}
#footernav {
	margin: 0 0 1rem;
    padding: 0;
}
#footernav li {
	display: inline-block;
	padding: 0 10px;
	font-size: 1.2em;
}
#footernav a img {
    width: 12rem;
    height: auto;
    margin: 0.5rem 0.25rem;
}
#footernav a::after {
    font-family: "Material Symbols Outlined";
    content: "open_in_new";
    display: inline-block;
    position: relative;
    top: 8px;
    line-height: 1;
    font-size: 22px;
    color: var(--gray-mid) !important;
    font-variation-settings:
    'FILL' 0,
    'wght' 200,
    'GRAD' 0,
    'opsz' 22;
}

/*ファーストビュー
----------------------------------------------------------------*/
.firstview {
	position: relative;
    width: 100vw;
    min-height: 55vh;
    margin: 0 0 45vh 0;
    background: url(../images/main@2x.webp) center center / cover no-repeat transparent;
}
.fv_contents {
    z-index: 5;
	position: absolute;
    width: 100vw;
    height: calc(100vh + 160px);
    margin: 0;
    background: url(../images/abstract1@2x.webp) center bottom / cover no-repeat transparent;
}
.fv_contents h2 {
    margin-top: calc(50vh - 1.5em);
}
.fv_contents h2 span, .fv_contents h2 span.l, .fv_contents h2 span.r {
    font-size: 2.25rem;
    line-height: 2;
    display: inline;
    background: var(--secondary);
    padding: 0.05em 0.5em 0.1em;
    color: #fff;
    font-family: YakuHanMP, "Zen Antique Soft", serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: -0.02em;
    border-radius: 0 8px 8px 0;
}
.fv_title {
    z-index: 2;
    width: 100%;
    padding:32px 2% 0 4%;
    display: flex;
    align-items: flex-end;
    position: relative;
    bottom: 144px;
}
.fv_title h1 {
    width: 72%;
    margin-right: 5%;
    bottom :0; 
}
.fv_title .caption {
    white-space: nowrap;
    text-align: right;
    font-size: 0.75rem;
    line-height: 1.5;
    margin-top:8px;
    font-weight: 400;
    color: var(--gray-dark);
}
.fv_title figure {
    width: 22%;
    bottom: 0;
}
.cls { /*字詰め（弱）*/
    letter-spacing: -0.06em !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.cls2 { /*字詰め（強）*/
    letter-spacing: -0.14em !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
#scroll {
    display: block;
    text-align: center;
    z-index: 10;
    position: absolute;
    left: calc(50% - 1.5rem);
    top: 90vh;
    color: var(--primary);
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    line-height: 1;
    font-weight: 500;
    cursor: pointer;
}
#scroll span {
    display: block;
	position: relative;
    top: -8px;
	left: 1.42rem;
	width: 1px;
	height: 30vh;
    background: linear-gradient(180deg, var(--primary) 0%, var(--primary) 50%, #fff 100%);
    /*opacity: 0.6;*/
}

/*section: お知らせ
----------------------------------------------------------------*/
dl.newslist {
	margin: 0;
	display: block;
	flex-wrap: wrap;
	padding: 0;
    border-bottom: solid 1px var(--primary-pale);
}
dl.newslist dt {
    display: block;
	width: 100%;
    /*align-content: flex-start;*/
    text-align: left;
    padding: 1.5rem 48px 1.5rem calc(8rem + 16px);
    border-top: solid 1px var(--primary-pale);
    text-indent: -8rem;
}
dl.newslist dt span {
    display: inline-block;
    width: 8rem;
    color: var(--primary);
    font-size: 0.875rem;
    font-weight: 400;
    padding-right: 16px;
    text-indent: 0;
}
/*
dl.newslist dt::before {
    font-family: "Material Symbols Outlined";
    content: "arrow_drop_down";
    display: inline-flex;
    position: relative;
    right: calc(-100% - 17rem);
    top: 0.35rem;
    line-height: 1;
    font-size: 1.5rem;
    color: var(--primary-pale);
    font-variation-settings:
    'FILL' 0,
    'wght' 200,
    'GRAD' 0,
    'opsz' 24;
}
dl.newslist dt.openclose.is-open::before {
	content: "arrow_drop_up";
}
*/
dl.newslist dd {
    font-size: 0.9375rem;
    padding: 0 48px 1.5rem calc(8rem + 16px);
	width: 100%;
}

/*section: 概要
----------------------------------------------------------------*/
.bg-overview {
	background: transparent;
}
#overview picture {
    padding: 2rem;
}
#overview picture img {
    width: calc(100% - 4rem);
    padding: 0;
}
#overview picture source {
    width: auto;
    padding: 2rem 0;
}
#overview h2 {
    padding-bottom: 2rem;
}
.maintxt {
    color: var(--primary);
    font-weight: 500;
    font-size: 1.15rem;
}

/*section: 機能について
----------------------------------------------------------------*/
#functions .headline {
    position: relative;
    display: block;
    border: solid 2px var(--secondary);
    border-radius: 8px;
    width: 78%;
    height: 12rem;
    text-align: center;
    padding: 0;
    vertical-align: middle;
    margin: 0 calc((100% - 78%) / 2) 2em;
    background: #fff;
}
#functions .hl-item {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 8rem;
}
#functions .text {
    margin-top: -64px;
}
#functions .text figure .material-symbols-outlined {
    font-size: 42px;
    line-height: 1em;
    color: var(--secondary);
    font-variation-settings:
        'FILL' 0,
        'wght' 500,
        'GRAD' 0,
        'opsz' 42;
}
#functions .text h3 {
    color: var(--secondary);
    line-height: 1.6;
    margin-top: 0.5em;
}
#functions .text p {
    font-size: 1.125rem;
}
/*2カラムブロック*/
.list-half * {
    margin: 0;
    padding: 0;
}
.list-half .list {
	display: flex;
	flex-direction: column;
	margin-bottom: 12rem;
}
.list-half .list h3 {
	font-size: 1.4rem;
	margin-bottom: 1rem;
}
.list-half .image-l img, .list-half .image-r img {
	border-radius: 8px;
}

/*section: 導入までの流れ
----------------------------------------------------------------*/
.bg-flow {
    background: linear-gradient(180deg, #f5f5f5, #ffd999);
}
.flowset {
    display: block;
    height: auto;
    padding: 0;
    margin: 0;
    background: url(../images/flow_line.svg) center center / auto 100% no-repeat transparent;
}
.flow_cont {
    display: block;
    text-align: center;
    background: #fff;
    border-radius: 8px;
    width: 100%;
    padding: 1.5rem;
    margin: 4rem 0;
}
#flow .fl1, #flow .fl2, #flow .fl3, #flow .fl4 {
    display: block;
    text-align: center;
    vertical-align: text-bottom;
    width: 112px;
    height: 112px;
    margin: 0 auto 0.5rem;
    color: #fff;
    border-radius: 50%;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 48px;
    font-weight: 300;
    line-height: 1;
    padding-top: 28px;
}
#flow .fl1 {background: var(--secondary);}
#flow .fl2 {background: #ee7d01;}
#flow .fl3 {background: #eb6302;}
#flow .fl4 {background: var(--primary);}
#flow h3 {
    font-size: 1.4rem;
}
#flow p {
    display: block;
    text-align: justify;
    line-height: 1.8;
    margin: 0 0 1rem;
    padding: 0;
}
#flow .material-symbols-outlined {
    display: block;
    font-size: 72px;
    padding: 0 2rem 2rem;
    color: var(--gray-mid);
    font-variation-settings:
        'FILL' 0,
        'wght' 500,
        'GRAD' 0,
        'opsz' 72;
}
.inner a { /*フロー内のボタン*/
    padding: 0 1rem 2.5rem 4rem !important;
}

/*section: よくある質問
----------------------------------------------------------------*/
#faq h3 {
    text-align: center;
    width: 100%;
    color: #fff;
    font-size: 1.5rem;
    background: var(--secondary);
    border-radius: 8px;
    margin: 4rem 0 -2px;
    padding: 2px;
}
.faq {
	padding: 0;
    font-size: 1.125rem;
}
.faq dt::before, .faq dt.is-open::before {
	font-family: "Open Sans", sans-serif;
    font-weight: 700;
	content: "Q";
	color: #fff;
    background: var(--secondary);
	padding: 0.25em 0.5em;
    margin-right: 0.5em;
}
.faq dt {
    margin-top: 16px;
	margin-bottom: 0;
	text-indent: -2.25em;
	padding: 1.5em 1.5em 1.5em 4em;
    background: #f2f2f2;
    color: var(--secondary);
    border-radius: 8px;
    font-size: 1.25rem;
    font-weight: 600;
}
.faq dd {
    margin-top: -24px;
	padding: 1.5em 1.5em 1.5em 4em;
    background: var(--gray-pale);
    border-radius: 0 0 8px 8px;
}
.openclose {
	cursor: pointer;
}
.pale {
    background: var(--secondary-pale) !important;
}

/*section: お問い合わせ
----------------------------------------------------------------*/
.bg-contact {
    background: url("../images/contact_bg@2x.webp") no-repeat center center / cover;
    background-color: #ea590250;
    background-blend-mode: screen;
}
.btn_start a, dl.btn_support a {
    text-align: center;
	display: inline-block;
    text-decoration: none;
    width: 100%;
    border: none;
	font-size: 1.25rem;
    line-height: 1;
	letter-spacing: 0.08em;
	transition: 0.3s;
	padding: 4rem 1rem 0 1.5rem;
	margin: 0 auto 1rem;
    border-radius: 8px;
    font-weight: 500;
}
.btn_start a {
    background: var(--secondary);
    color: #fff;
}
.btn_support a {
    background: #fff;
    color: var(--primary);
}
.btn_start dd, .btn_support dd {
	font-size: 0.8rem;
    font-weight: 300;
    line-height: 1.6;
    margin-top: 1rem;
}
.btn_start a::after, .btn_support a::after {
    font-family: "Material Symbols Outlined";
    content: "arrow_forward";
    display: inline-block;
    position: relative;
    top: -4rem;
    left: calc(50% - 1.5rem);
    line-height: 1;
    font-size: 3rem;
    font-variation-settings:
    'FILL' 0,
    'wght' 100,
    'GRAD' -25,
    'opsz' 48;
}

/*ボタン
----------------------------------------------------------------*/
p.btn {
    display: block;
    margin: 0;
}
/*.btn {
	text-align: center;
}*/
.btn a {
    text-align: center;
	display: inline-block;
    text-decoration: none;
    width: 100%;
    border: none;
	font-size: 1.25rem;
    line-height: 1;
	background: var(--primary);
	letter-spacing: 0.1em;
	color: #fff;
	transition: 0.3s;
	padding: 1rem 1rem 3.5rem 4rem;
	margin: 0 auto 1rem;
    border-radius: 8px;
    font-weight: 500;
}
.btn a:hover, .btn input:hover {
	cursor: pointer;
	opacity: 0.8;
}
.btn a::after{
    font-family: "Material Symbols Outlined";
    content: "arrow_downward";
    display: inline-block;
    position: relative;
    top: 1.25rem;
    left: calc(50% - 8.5rem);
    line-height: 1;
    font-size: 3rem;
    font-variation-settings:
    'FILL' 0,
    'wght' 100,
    'GRAD' -25,
    'opsz' 48;
}

/*上へ戻るボタン
----------------------------------------------------------------*/
.pagetop a {
	display: block;
    text-decoration: none;
    text-align: center;
    z-index: 99;
	position: fixed;
	right: 12px;
	bottom: 16px;
	color: var(--secondary);
	background: #fffb;
	width: 96px;
	height: 96px;
    border: solid 2px var(--secondary);
    border-radius: 50%;
    padding-top: 20px;
}
.pagetop a span {
    font-size: 14px;
    font-weight: 400;
    line-height: 14px;
    margin: 2px;
    padding: 0;
}
.pagetop a .material-symbols-outlined {
    font-size: 72px;
    padding: 2px;
    font-variation-settings:
        'FILL' 0,
        'wght' 100,
        'GRAD' -25,
        'opsz' 72;
}

/*その他
----------------------------------------------------------------*/
.white {color:#fff;}
.gray {color: var(--gray-mid);}
.c {text-align: center !important;}
.mgt a {margin-top: 96px; !important}
.mgb a {margin-bottom: 96px; !important}
/*.small {font-size: 0.6rem; letter-spacing: 0.08em;}*/



/*================================================================
// medium-short-width: 672px
================================================================*/
@media screen and (min-width:672px) {

html, body {
	font-size: 15px;
}

/*アイコン
----------------------------------------------------------------*/
.material-symbols-outlined {
    font-variation-settings:
        'FILL' 0,
        'wght' 200,
        'GRAD' 0,
        'opsz' 15;
}

/*ヘッダー
----------------------------------------------------------------*/
header #logo {
	width: 256px;
	padding: 16px 0 0;
	left: 3%;
}

/*ファーストビュー
----------------------------------------------------------------*/
.fv_title {
    z-index: 2;
    width: 80%;
    padding:32px 2% 0 4%;
    display: flex;
    align-items: flex-end;
    position: relative;
    bottom: 192px;
    left: 128px;
}
.fv_title h1 {
    width: 72%;
    margin-right: 5%;
    bottom :0; 
}
.fv_title .caption {
    white-space: nowrap;
    text-align: right;
    font-size: 0.75rem;
    line-height: 1.5;
    margin-top:8px;
    font-weight: 400;
    color: var(--gray-dark);
}
.fv_title figure {
    width: 22%;
    bottom: 0;
}

}/* << medium-short-width_end */



/*================================================================
// medium-width: 960px
================================================================*/
@media screen and (min-width:960px) {

html, body {
	font-size: 16px;
}
br.sp {
    display: none;
}
main h2 {
    font-size: 2.75rem;
}
main h2 .sub {
    font-size: 1.875rem;
}
main h2 .capt {
    font-size: 0.875rem;
}

/*アイコン
----------------------------------------------------------------*/
.material-symbols-outlined {
    font-variation-settings:
        'FILL' 0,
        'wght' 200,
        'GRAD' 0,
        'opsz' 16;
}

/*ヘッダー
----------------------------------------------------------------*/
header {
	position: fixed;
	width: 100%;
    height: 96px;
}
header #logo {
	width: 256px;
	padding: 16px 0 0;
	left: 2%;
}

/*ファーストビュー
----------------------------------------------------------------*/
.firstview {
	position: relative;
    width: calc(61.5vw - 16px);
    min-height: calc(88vh - 16px);
    margin: 16px 16px calc(12vh - 0px) calc(38.5vw - 0px);
    background: url(../images/main@2x.webp) center center / cover no-repeat transparent;
    border-radius: 32px 0 32px 256px;
}
.fv_contents h2 {
    margin-top: calc(38vh - 128px);
}
.fv_contents h2 span {
    font-size: 3rem;
    line-height: 2;
    display: inline;
    background: var(--secondary);
    padding: 0.05em 0.5em 0.1em calc(64px + 3vw);
    color: #fff;
    font-family: YakuHanMP, "Zen Antique Soft", serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: -0.02em;
    border-radius: 0 8px 8px 0;
    }
.fv_contents h2 span.l {
    font-size: 3rem;
    padding: 0.05em 0 0.1em calc(64px + 3vw);
    border-radius: 0;
    }
.fv_contents h2 span.r {
    font-size: 3rem;
    padding: 0.05em 0.5em 0.1em 0;
    border-radius: 0 8px 8px 0;
    }
.fv_title {
    width: 48vw;
    margin-left: 0;
    display: flex;
    align-items: flex-end;
    left: 0;
    bottom: 0;
}
.fv_title h1 {
    width: 75%;
    margin-right: 3%;
    bottom : -1%; 
}
.fv_title .caption {
    font-size: 0.875rem;
}
.fv_title figure {
    width: 22%;
    bottom: 0;
}
#scroll {
    top: 72vh;
}
#scroll span {
    height: 55vh;
}

/*section: 概要
----------------------------------------------------------------*/
.bg-overview {
	background: url("../images/abstract2@2x.webp") no-repeat left 128px / 100vw;
}
#overview .list {
    margin-bottom: 96px;
}
#overview .text {
    display: block;
    vertical-align: middle;
}
#overview h2 {
    margin-top: 2em;
    text-align: left;
}
#overview .image-l {
    position: relative;
    width: 55%;
}

/*機能について
----------------------------------------------------------------*/
#functions .headline {
    width: 100%;
    height: 16rem;
    margin: 0 0 2em;
}
#functions .text {
    margin-top: 0;
}
.list-half .list {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}
.list-half .image-l, .list-half .image-r {
    width: 50%;
    top: 0;
}
.list-half .image-r {
    order: 1;
	margin-left: 4vw;
}
.list-half .image-l {
	margin-right: 4vw;
}
.list-half .text {
	flex: 1;
}

/*お問い合わせ
----------------------------------------------------------------*/
.btn_start a, dl.btn_support a {
    text-align: center;
	display: inline-block;
    text-decoration: none;
    width: 100%;
    border: none;
	font-size: 1.6rem;
    line-height: 1;
	letter-spacing: 0.08em;
	transition: 0.3s;
	padding: 4rem 1rem 0 1.5rem;
	margin: 0 auto 1rem;
    border-radius: 8px;
    font-weight: 500;
}
.btn_start a {
    background: var(--secondary);
    color: #fff;
}
.btn_support a {
    background: #fff;
    color: var(--primary);
}
.btn_start dd, .btn_support dd {
	font-size: 1rem;
    font-weight: 300;
    line-height: 1.6;
    margin-top: 1rem;
}
.btn_start a::after, .btn_support a::after {
    font-family: "Material Symbols Outlined";
    content: "arrow_forward";
    display: inline-block;
    position: relative;
    top: -5rem;
    left: calc(50% - 2rem);
    line-height: 1;
    font-size: 4rem;
    font-variation-settings:
    'FILL' 0,
    'wght' 100,
    'GRAD' -25,
    'opsz' 48;
}

/*ボタン
----------------------------------------------------------------*/
.btn a {
	font-size: 1.6rem;
}
.btn a::after{
    font-family: "Material Symbols Outlined";
    content: "arrow_downward";
    display: inline-block;
    position: relative;
    top: 1.25rem;
    left: calc(50% - 10.5rem);
    line-height: 1;
    font-size: 4rem;
    font-variation-settings:
    'FILL' 0,
    'wght' 100,
    'GRAD' -25,
    'opsz' 48;
}

/*上へ戻るボタン
----------------------------------------------------------------*/
.pagetop a {
	right: 24px;
	bottom: 32px;
}

}/* << medium-width_end */



/*================================================================
// large-width: 1280px
================================================================*/
@media screen and (min-width:1280px) {

/*ドロワーボタン非表示
----------------------------------------------------------------*/
#navigation_hdr {
    display: none;
}

/*メニューバー
----------------------------------------------------------------*/
#navigation {
	font-size: 0.875em;
    background: #fff;
    transition: background-color 0.3s ease;
    border-bottom-left-radius: 32px;
    height: auto;
    padding: 0 0 0 24px;
}
#navigation.is-transparent {
    background: #fff6;
}
#navigation ul {
	display: flex;
}
#navigation a {
    height: 100%;
	padding: 36px 1em;
    color: var(--primary);
    text-align: center;
    font-weight: 500;
}
#navigation a.ct {
    background: var(--primary);
    color: #fff;
  padding-left: 16px;
}
#navigation a picture::after {
    font-family: "Material Symbols Outlined";
    content: "open_in_new";
    display: inline-block;
    position: relative;
    top: 4px;
    left:2px;
    line-height: 1;
    font-size: 22px;
    color: var(--gray-mid);
    font-variation-settings:
    'FILL' 0,
    'wght' 200,
    'GRAD' 0,
    'opsz' 22;
}

/*ファーストビュー
----------------------------------------------------------------*/
.firstview {
	position: relative;
    width: calc(61.5vw - 16px);
    min-height: calc(88vh - 16px);
    margin: 16px 16px calc(12vh - 0px) calc(38.5vw - 0px);
    background: url(../images/main@2x.webp) center center / cover no-repeat transparent;
    border-radius: 32px 0 32px 256px;
}
.fv_contents h2 {
    margin-top: calc(38vh - 128px);
}
.fv_contents h2 span {
    font-size: 3.8rem;
    line-height: 2;
    display: inline;
    background: var(--secondary);
    padding: 0.05em 0.5em 0.1em calc(64px + 3vw);
    color: #fff;
    font-family: YakuHanMP, "Zen Antique Soft", serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: -0.02em;
    border-radius: 0 8px 8px 0;
    }
.fv_contents h2 span.l {
    font-size: 4rem;
    padding: 0.05em 0 0.1em calc(64px + 3vw);
    border-radius: 0;
    }
.fv_contents h2 span.r {
    font-size: 4rem;
    padding: 0.05em 0.5em 0.1em 0;
    border-radius: 0 8px 8px 0;
    }
.fv_title {
    width: 42vw;
    margin-left: 3%;
    display: flex;
    align-items: flex-end;
    bottom: 0;
}
.fv_title h1 {
    width: 72%;
    margin-right: 8%;
    bottom : -1%; 
}
.fv_title .caption {
    font-size: 0.875rem;
}
.fv_title figure {
    width: 20%;
    bottom: 0;
}
#scroll {
    top: 72vh;
}
#scroll span {
    height: 55vh;
}

/*section: 導入までの流れ
----------------------------------------------------------------*/
.flowset {
    background: url(../images/flow_line.svg) 160px center / auto 87% no-repeat transparent;
}
.flow_cont {
    display: flex;
    align-items: center;
    text-align: inherit;
    background: #fffc;
    padding: 32px 0;
}
#flow .fl1, #flow .fl2, #flow .fl3, #flow .fl4 {
    vertical-align: middle;
    width: 176px;
    height: 176px;
    margin: 0 80px;
    font-size: 64px;
    padding-top: 52px;
}
.flow_txt {
    display: block;
    width: 560px;
}
#flow h3 {
    margin: 0;
}
#flow .material-symbols-outlined {
    font-size: 96px;
    padding: 0;
    margin-left: 48px;
    color: var(--gray-mid);
    font-variation-settings:
        'FILL' 0,
        'wght' 500,
        'GRAD' 0,
        'opsz' 96;
}
p.inner { /*フロー内のボタン*/
    margin-bottom: 0 !important;
    }

}/* << large-width_end */



/*================================================================
// specific-width: 1280px-1439px
================================================================*/
@media screen and (min-width: 1280px) and (max-width: 1439px) {

#navigation {
    padding: 0 0 0 16px;
}
#navigation a {
	padding: 36px 0.875em;
}
#navigation a.ct {
    padding-left: 24px;
    padding-right:24px;
}
#navigation a .spw {
    display: none;
}

}/* << specific-width_end */
