@charset "UTF-8";
/* =============================================
Good-Ending
Style Sheet
First Update 2019-09-27
Last  Update 2019-09-27
Creat by Basic Plus Design Inc.
============================================= */
@import url("https://fonts.googleapis.com/css?family=Roboto:500,700|Maven+Pro:700|Noto+Sans+JP:300,400,500,700,900&display=swap&display=swap");
*, *::before, *::after { -webkit-box-sizing: border-box; box-sizing: border-box; }

html { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%; font-family: sans-serif; line-height: 1.15; }

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; }

body { background-color: #FFF; color: #000; font-family: "Noto Sans JP", sans-serif; font-size: 16px; font-size: 1.6rem; font-weight: 500; line-height: 2; margin: 0; text-align: left; }

[tabindex="-1"]:focus:not(:focus-visible) { outline: 0 !important; }

hr { -webkit-box-sizing: content-box; box-sizing: content-box; height: 0; overflow: visible; }

h1, h2, h3, h4, h5, h6 { margin-bottom: 0.5em; margin-top: 0; }

p { margin-bottom: 1em; margin-top: 0; }

abbr[title], abbr[data-original-title] { border-bottom: 0; cursor: help; text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; -webkit-text-decoration-skip-ink: none; text-decoration-skip-ink: none; }

address { font-style: normal; line-height: inherit; margin-bottom: 1rem; }

ol, ul, dl { margin-bottom: 1rem; margin-top: 0; }

ol ol, ul ul, ol ul, ul ol { margin-bottom: 0; }

dt { font-weight: 700; }

dd { margin-bottom: .5rem; margin-left: 0; }

blockquote { margin: 0 0 1rem; }

b, strong { font-weight: 900; }

small { font-size: 13px; font-size: 1.3rem; }

sub, sup { font-size: 12px; font-size: 1.2rem; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -.25em; }

sup { top: -.5em; }

a { background-color: transparent; color: #000; text-decoration: none; }

.mouse a:hover { color: #FE8D30; text-decoration: none; }

.mouse a:focus { color: #FE8D30; text-decoration: none; }

a:not([href]):not([tabindex]) { color: inherit; text-decoration: none; }

.mouse a:not([href]):not([tabindex]):focus { color: inherit; text-decoration: none; }

.touch a:not([href]):not([tabindex]):focus { color: inherit; text-decoration: none; }

a:not([href]):not([tabindex]):focus { outline: 0; }

pre, code, kbd, samp { font-family: monospace, serif; font-size: 16px; font-size: 1.6rem; }

pre { margin-bottom: 1rem; margin-top: 0; overflow: auto; }

figure { margin: 0 0 1rem; }

img { border-style: none; vertical-align: middle; }

svg { overflow: hidden; vertical-align: middle; }

table { border-collapse: collapse; }

caption { caption-side: bottom; color: #000; padding-bottom: 1em; padding-top: 1em; text-align: left; }

th { text-align: inherit; }

label { display: inline-block; margin-bottom: 0; }

button { border-radius: 0; }

button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; }

input, button, select, optgroup, textarea { font-family: inherit; font-size: inheritpx; font-size: inherit/10rem; line-height: inherit; margin: 0; }

button, input { overflow: visible; }

button, select { text-transform: none; }

select { word-wrap: normal; }

button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) { cursor: pointer; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

input[type="radio"], input[type="checkbox"] { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0; }

input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { -webkit-appearance: listbox; }

textarea { overflow: auto; resize: vertical; }

fieldset { border: 0; margin: 0; min-width: 0; padding: 0; }

legend { color: inherit; display: block; font-size: 24px; font-size: 2.4rem; line-height: inherit; margin-bottom: .5rem; max-width: 100%; padding: 0; white-space: normal; width: 100%; }

progress { vertical-align: baseline; }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"] { -webkit-appearance: none; outline-offset: -2px; }

[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }

output { display: inline-block; }

summary { display: list-item; }

template { display: none; }

[hidden] { display: none !important; }

/* =============================================
#  Foundation
============================================= */
* { margin: 0; padding: 0; }

html { font-size: 62.5%; height: 100%; }

body { height: 100%; letter-spacing: 0.025em; }

.wrapper { overflow: hidden; }

* > img { display: block; width: 100%; }

h1 { margin-bottom: 0; }

h2, h3 { letter-spacing: .1em; line-height: 1.5; }

h2 { font-size: 6vw; font-weight: 900; letter-spacing: .05em; }

h3 { font-size: 4.5vw; font-weight: 900; letter-spacing: .05em; }

p, ul, ol, dl { font-size: 13px; font-size: 1.3rem; letter-spacing: .05em; }

ul { list-style: none; padding-left: 0; }

dt { font-weight: 500; }

p + a { margin-top: 1em; }

a { color: #000; -webkit-transition: opacity .2s ease; transition: opacity .2s ease; }

a:hover { opacity: 0.7; }

::-moz-selection { background-color: rgba(254, 141, 48, 0.4); }

::selection { background-color: rgba(254, 141, 48, 0.4); }

/* =============================================
#  Layout
============================================= */
/* ---------------------------------------------
##	Footer
--------------------------------------------- */
.l-footer { background: #000; color: #FFF; font-size: 12px; font-size: 1.2rem; height: 4em; letter-spacing: 0; padding: 1em 0; text-align: right; width: 100%; }

.l-footer__inner { margin: auto; max-width: 1280px; width: calc(100% - 30px); }

.l-footer__link a { color: #FFF; float: left; font-size: 10px; font-size: 1rem; margin-right: 1em; margin-top: .3em; }

/* ---------------------------------------------
##	Header
--------------------------------------------- */
.l-header { background: rgba(255, 255, 255, 0.95); height: 95px; text-align: center; width: 100%; }

.l-header__inner { margin: auto; max-width: 1300px; position: relative; width: 100%; }

.l-header h1 { font-size: 9px; font-size: 0.9rem; left: 0; letter-spacing: 0; margin: auto; padding-left: 50px; position: absolute; right: 0; top: 21px; z-index: 0; z-index: 2; }

.l-header__logo { height: 72px; left: 0; margin: auto; position: absolute; right: 0; top: 16px; width: 315px; z-index: 0; }

.l-header__logo img { height: 100%; width: 100%; }

.fixed .l-header__logo { height: 55px; left: 0; margin: auto; position: absolute; right: inherit; right: 0; top: 10px; width: 240px; z-index: 0; }

.l-header.fixed { height: 80px; position: fixed; z-index: 1; }

.l-header.fixed h1 { font-size: 13px; font-size: 1.3rem; top: 21px; }

/* ---------------------------------------------
##	Main
--------------------------------------------- */
section { background: #FFF; padding: 50px 0; position: relative; }

section::after { clear: both; content: ""; display: table; }

section.org { background: #FFE8D6; }

section.blu { background: #CCF4FF; }

.l-container { margin: auto; max-width: 1280px; position: relative; width: calc(100% - 60px); }

/* =============================================
#  Object -- Component
============================================= */
/* ---------------------------------------------
##	Box
--------------------------------------------- */
.c-box--blu { border-radius: 10px; padding: 30px; }

.c-box--blu { background: #CCF4FF; }

/* ---------------------------------------------
##	Flexbox
--------------------------------------------- */
div[class^="c-flx--"]--2row { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

div[class^="c-flx--"]--2row .c-flx__item { width: calc(100% / 2); }

/* ---------------------------------------------
##	List
--------------------------------------------- */
.c-list li { background: #FFE8D6; font-size: 13px; font-size: 1.3rem; letter-spacing: 0; margin: 0 auto 4px; padding: .05em; }

.c-list li span { display: inline-block; }

/* ---------------------------------------------
##	Pagetop
--------------------------------------------- */
.c-pagetop { bottom: -100px; position: fixed; right: 10px; }

.c-pagetop a { background-color: #FE8D30; border: 1px solid #FFF; border-radius: 7px; color: #FFF; display: block; height: 45px; padding: 8px; text-align: center; text-decoration: none; width: 45px; z-index: 999; }

.c-pagetop a::after { border-bottom: 12px solid #FFF; border-left: 8px solid transparent; border-right: 8px solid transparent; content: ""; left: 50%; position: absolute; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

/* ---------------------------------------------
##	Registration
--------------------------------------------- */
.c-registration { background: #CCF4FF; padding: 40px 0 20px; }

.c-registration .l-container { width: calc(100% - 30px); }

.c-registration__bnr { -o-background-size: contain; -webkit-background-size: contain; background-image: url(../images/registration/bnr_registration_s.svg); background-position: left top; background-repeat: no-repeat; background-size: contain; border-radius: 7px; height: 0; overflow: hidden; padding-bottom: 182%; position: relative; text-indent: 200%; white-space: nowrap; width: 100%; }

.c-registration__bnr > a { cursor: pointer; display: block; }

.c-registration__bnr > a:nth-of-type(1) { -o-background-size: contain; -webkit-background-size: contain; background-image: url(../images/registration/txt_form.svg); background-position: left top; background-repeat: no-repeat; background-size: contain; height: 0; left: 0; margin: auto; padding-bottom: 14%; position: absolute; right: 0; top: 38%; width: 74%; z-index: 0; }

.c-registration__bnr > a:nth-of-type(2) { height: 0; left: 19%; padding-bottom: 32%; position: absolute; top: 46%; width: 34%; z-index: 0; }

.c-registration__bnr > a:nth-of-type(3) { left: 54.3%; max-height: 42px; max-width: 123px; position: absolute; top: 49%; width: 33%; z-index: 0; }

.c-registration__bnr > a:nth-of-type(3) img { width: 100%; }

.c-registration__bnr > a:nth-of-type(4) { left: 54%; max-height: 54px; max-width: 140px; position: absolute; top: 55%; width: 36%; z-index: 0; }

.c-registration__bnr > a:nth-of-type(4) img { width: 100%; }

.c-registration__link { margin-top: 1em; }

.c-registration__link a { display: block; font-size: 14px; font-size: 1.4rem; height: 1em; letter-spacing: 0; line-height: 1; margin-bottom: .6em; }

.c-registration__btn { margin-top: 10px; overflow: hidden; }

.c-registration__btn::after { clear: both; content: ""; display: table; }

.c-registration__btn a { -o-background-size: contain; -webkit-background-size: contain; background-image: url(../images/registration/btn_registration_s_off.svg); background-position: center top; background-repeat: no-repeat; background-size: contain; display: block; height: 0; margin: 20px auto; max-width: 360px; overflow: hidden; overflow: hidden; padding-top: 28%; text-indent: 200%; white-space: nowrap; width: 100%; }

.c-registration__btn a:hover { background-image: url(../images/registration/btn_registration_s_on.svg); -webkit-filter: contrast(130%); filter: contrast(130%); opacity: 1; }

/* ---------------------------------------------
##	Title
--------------------------------------------- */
/* Title -- section */
.c-ttl { margin-bottom: 2em; text-align: center; }

.c-ttl span { border-bottom: 3px solid #FE8D30; font-size: 16px; font-size: 1.6rem; font-weight: 700; letter-spacing: .24em; }

.c-ttl span::after { content: "\A"; display: block; height: 2em; white-space: pre; }

/* Title -- head */
.c-heading { margin-bottom: 30px; text-align: center; }

.c-heading h2 { margin: 6px 0; }

.c-heading span { display: block; font-size: 2.6vw; line-height: 1.5; }

.c-heading.org h2 { color: #FE8D30; }

.c-heading.blu h2 { color: #00C8FF; }

/* =============================================
#  Object -- Project
============================================= */
/* ---------------------------------------------
##	About
--------------------------------------------- */
.p-about { background: #FFE8D6; }

.p-about .l-container:nth-of-type(2) { width: 90%; }

.p-about .l-container > h3 { border: 2px solid #000; border-radius: 5px; font-size: 4.2vw; margin: -20px auto 70px; padding: .5em; position: relative; text-align: center; width: 18em; }

.p-about .l-container > h3 span { font-size: 5vw; }

.p-about .l-container > h3::before { background: #FFE8D6; content: ""; display: block; height: 30px; left: -4px; position: absolute; top: -20px; width: calc(100% + 8px); z-index: 0; }

.p-about .p-about__block { -o-background-size: contain; -webkit-background-size: contain; background-image: url(../images/about/features_s.svg); background-position: center top; background-repeat: no-repeat; background-size: contain; height: 0; overflow: hidden; padding-bottom: calc(218% + 40px); text-indent: 200%; white-space: nowrap; width: 100%; }

.p-about .p-about__block h3, .p-about .p-about__block p { display: none; }

/* ---------------------------------------------
##	App info
--------------------------------------------- */
.p-appinfo { margin-top: -20px; text-align: center; }

.p-appinfo .c-flx { margin: auto; width: 100%; }

.p-appinfo .c-flx__item h3 span { color: #FE8D30; font-size: 12px; font-size: 1.2rem; }

.p-appinfo .c-flx__item h3 span::after { clear: both; content: ""; display: table; }

.p-appinfo .c-flx__item ul.c-list { margin: 30px auto 0; margin-bottom: 1em; max-width: 360px; }

.p-appinfo .c-flx__item ul.c-list li { max-width: 90%; }

.p-appinfo .c-flx__item::before { background-color: #FE8D30; background-position: center; background-repeat: no-repeat; background-size: 60% auto; border-radius: 50%; content: ""; display: block; height: 112px; margin: auto auto 5px; width: 112px; }

.p-appinfo .c-flx__item:nth-child(1)::before { background-image: url(../images/appinfo/ico_id.svg); }

.p-appinfo .c-flx__item:nth-child(2)::before { background-image: url(../images/appinfo/ico_note.svg); }

.p-appinfo .c-flx__item:nth-child(3)::before { background-image: url(../images/appinfo/ico_safe.svg); }

/* ---------------------------------------------
##	Bottom registration
--------------------------------------------- */
.p-btmregist { background: #FE8D30; color: #FFF; padding-bottom: 20px; }

.p-btmregist .l-container { width: 90%; }

.p-btmregist__col { margin: auto; max-width: 420px; position: relative; width: 90%; }

.p-btmregist__col:nth-child(1) { -o-background-size: 40% auto; -webkit-background-size: 40% auto; background-image: url(../images/mainvisual/couple.svg); background-position: right bottom; background-repeat: no-repeat; background-size: 40% auto; }

.p-btmregist__col:nth-child(1) p { font-size: 2.2vw; }

.p-btmregist__col:nth-child(1) h2 { font-size: 6vw; }

.p-btmregist__col:nth-child(2) { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; height: 178px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-top: 30px; }

.p-btmregist__col:nth-child(2) > a { display: block; max-height: 178px; max-width: 178px; width: 40%; }

.p-btmregist__col:nth-child(2) .p-btmregist__r { width: 55%; }

.p-btmregist__col:nth-child(2) .p-btmregist__r > a { -o-background-size: cover; -webkit-background-size: cover; background-image: url(../images/registration/txt_form3.svg); background-position: left top; background-repeat: no-repeat; background-size: cover; display: block; height: 0; margin-top: 10px; padding-bottom: 34%; width: 100%; }

.p-btmregist__app { bottom: 15px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; position: absolute; right: -8px; width: 55%; z-index: 0; }

.p-btmregist__app a { display: block; height: 40px; }

.p-btmregist__app a:nth-child(1) { width: 44%; }

.p-btmregist__app a:nth-child(2) { margin-top: -7px; width: 54%; }

.p-btmregist .c-registration__btn a { background-image: url(../images/registration/btn_registration2_s_off.svg); }

.p-btmregist .c-registration__btn a:hover { background-image: url(../images/registration/btn_registration_s_on.svg); }

/* ---------------------------------------------
##	Can do
--------------------------------------------- */
.p-cando { background-color: #FFE8D6; padding-bottom: 103px; position: relative; }

.p-cando__bottom { -o-background-size: contain; -webkit-background-size: contain; background-image: url(../images/cando/phone.png); background-position: center bottom; background-repeat: no-repeat; background-size: contain; bottom: 0; content: ""; height: 0; left: 0; margin: auto; max-width: 330px; padding-bottom: 33%; position: absolute; right: 0; width: 33%; z-index: 0; }

.p-cando__mn { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: auto; max-width: 360px; }

.p-cando__mn li { height: 0; margin-bottom: 20px; padding-bottom: calc((100% - 20px) / 2); position: relative; text-align: center; width: calc((100% - 20px) / 2); }

.p-cando__mn li::after { -o-background-size: contain; -webkit-background-size: contain; background-image: url(../images/cando/corner.svg); background-position: right bottom; background-repeat: no-repeat; background-size: contain; bottom: 4%; content: ""; display: block; height: 10%; position: absolute; right: 4%; width: 10%; z-index: 0; }

.p-cando__mn li a { -o-background-size: 45% auto; -webkit-background-size: 45% auto; background-color: #FE8D30; background-position: center top 3.5em; background-repeat: no-repeat; background-size: 45% auto; color: #FFF; font-size: 3vw; height: 100%; left: 0; line-height: 1.4; margin: auto; padding-top: 1.5em; position: absolute; right: 0; top: 0; width: 100%; z-index: 0; }

.p-cando__mn li:nth-child(1) a { background-color: #FFB333; background-image: url(../images/cando/ico_mn1.svg); }

.p-cando__mn li:nth-child(2) a { background-image: url(../images/cando/ico_mn2.svg); }

.p-cando__mn li:nth-child(3) a { background-image: url(../images/cando/ico_mn3.svg); }

.p-cando__mn li:nth-child(4) a { background-color: #FFB333; background-image: url(../images/cando/ico_mn4.svg); }

.p-cando__mn li:nth-child(5) a { background-color: #FFB333; background-image: url(../images/cando/ico_mn5.svg); background-position: center top 4em; padding-top: 1em; }

.p-cando__mn li:nth-child(6) a { background-image: url(../images/cando/ico_mn6.svg); }

.p-cando__list { background: #FFF; border-radius: 40px; margin-bottom: 33%; margin-top: 60px; padding: 0 60px 120px; position: relative; }

.p-cando__list::after { -o-background-size: 166px 83px; -webkit-background-size: 166px 83px; background-image: url(../images/cando/arrow.svg); background-position: center top; background-repeat: no-repeat; background-size: 166px 83px; bottom: -83px; content: ""; display: block; display: block; height: 83px; left: 0; margin: auto; position: absolute; right: 0; width: 166px; z-index: 0; }

.p-cando__inner { border: 2px solid #999; border-radius: 20px; margin-bottom: -20px; margin-top: 60px; padding: 60px 30px 40px; position: relative; }

.p-cando__inner::before { -o-background-size: contain; -webkit-background-size: contain; background-position: center; background-repeat: no-repeat; background-size: contain; content: ""; display: block; height: 83px; left: 0; margin: auto; position: absolute; right: 0; top: -42px; width: 83px; z-index: 0; }

.p-cando__inner h3 { color: #FE8D30; font-size: 22px; font-size: 2.2rem; }

.p-cando__inner h3 span { font-size: 18px; font-size: 1.8rem; }

.p-cando__inner .c-flx { display: block; }

.p-cando__inner ul { margin: 0; }

.p-cando__inner li { font-size: 15px; font-size: 1.5rem; margin-left: 1.5em; text-indent: -1.5em; }

.p-cando__inner li::before { color: #FE8D30; content: "●"; padding-right: .5em; }

.p-cando__inner p { font-size: 13px; font-size: 1.3rem; margin-left: 1em; margin-top: 1em; text-indent: -1em; }

.p-cando__item { padding-top: 60px; }

.p-cando__item:nth-child(1) h3, .p-cando__item:nth-child(1) li::before { color: #FFB333; }

.p-cando__item:nth-child(1) .p-cando__inner::before { background-image: url(../images/cando/ico_cando1.svg); }

.p-cando__item:nth-child(2) h3, .p-cando__item:nth-child(2) li::before { color: #FE8D30; }

.p-cando__item:nth-child(2) .p-cando__inner::before { background-image: url(../images/cando/ico_cando2.svg); }

.p-cando__item:nth-child(3) h3, .p-cando__item:nth-child(3) li::before { color: #FFB333; }

.p-cando__item:nth-child(3) .p-cando__inner::before { background-image: url(../images/cando/ico_cando3.svg); }

.p-cando__item:nth-child(4) h3, .p-cando__item:nth-child(4) li::before { color: #FE8D30; }

.p-cando__item:nth-child(4) .p-cando__inner::before { background-image: url(../images/cando/ico_cando4.svg); }

.p-cando__item:nth-child(5) h3, .p-cando__item:nth-child(5) li::before { color: #FFB333; }

.p-cando__item:nth-child(5) .p-cando__inner::before { background-image: url(../images/cando/ico_cando5.svg); }

.p-cando__item:nth-child(5) ul { width: 100%; }

.p-cando__item:nth-child(6) h3, .p-cando__item:nth-child(6) li::before { color: #FE8D30; }

.p-cando__item:nth-child(6) .p-cando__inner::before { background-image: url(../images/cando/ico_cando6.svg); }

.p-cando__item:nth-child(6) ul { width: 100%; }

/* ---------------------------------------------
##	Main visual
--------------------------------------------- */
.p-mainvisual { background: -webkit-gradient(linear, left top, left bottom, from(#FFE8D6), color-stop(54%, #FFE8D6), color-stop(54%, #FFF), to(#FFF)); background: linear-gradient(#FFE8D6 0%, #FFE8D6 54%, #FFF 54%, #FFF 100%); padding-top: 50px; }

.p-mainvisual__txt { -o-background-size: 35% auto; -webkit-background-size: 35% auto; background-image: url(../images/mainvisual/couple.svg); background-position: right bottom; background-repeat: no-repeat; background-size: 35% auto; }

.p-mainvisual__txt h2 { font-size: 9.7vw; line-height: 1.3; margin-bottom: .5em; }

.p-mainvisual__txt p { font-size: 3vw; height: 8em; letter-spacing: 0; }

.p-mainvisual__img { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; height: 0; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-top: 20px; padding-bottom: 130%; width: 100%; }

.p-mainvisual__img .c-flx__item { width: calc(100% / 2); }

.p-mainvisual__img .c-flx__item:nth-child(1) img { margin: auto; width: 100%; }

.p-mainvisual__img .c-flx__item:nth-child(2) { padding-top: 2%; width: 48%; }

.p-mainvisual__img .c-flx__item:nth-child(2) img { margin: auto; width: 80%; }

.p-mainvisual__img .c-flx__item:nth-child(2) img:first-of-type { width: 100%; }

.p-mainvisual__img .c-flx__item:nth-child(2) > a { cursor: pointer; display: block; margin: 20px auto; width: 80%; }

.p-mainvisual__img .c-flx__item:nth-child(2) > a:nth-of-type(1) { width: 100%; }

.p-mainvisual__img .c-flx__item:nth-child(2) > a:nth-of-type(1):hover { opacity: 0.8; }

.p-mainvisual__img .c-flx__item:nth-child(2) > a:nth-of-type(2) { border: 1px solid #FFF; height: auto; }

.p-mainvisual__img .c-flx__item:nth-child(2) > a:nth-of-type(2):hover { border: 1px solid #FFE8D6; }

.p-mainvisual__img .c-flx__item:nth-child(2) > a.btn { -o-background-size: contain; -webkit-background-size: contain; background-image: url(../images/mainvisual/btn_registration_s_off.svg); background-position: center top; background-repeat: no-repeat; background-size: contain; height: auto; margin-left: 10%; overflow: hidden; padding-bottom: 45.5%; text-indent: 200%; white-space: nowrap; width: 86%; }

.p-mainvisual__img .c-flx__item:nth-child(2) > a.btn:hover { background-image: url(../images/mainvisual/btn_registration_s_on.svg); -webkit-filter: contrast(130%); filter: contrast(130%); }

.p-mainvisual__app { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: -8px 0; }

.p-mainvisual__app a { display: block; width: 50%; }

.p-mainvisual__app a:nth-child(1) { margin-top: 2%; }

.p-mainvisual__app a:nth-child(1) img { height: 90%; }

/* ---------------------------------------------
##	Medical record
--------------------------------------------- */
.p-medicalrecord { padding-top: 100px; text-align: center; }

.p-medicalrecord .l-container:nth-of-type(2) { width: 100%; }

.p-medicalrecord__top { -o-background-size: contain; -webkit-background-size: contain; background-image: url(../images/medicalrecord/topimg_s.svg); background-position: center top 50%; background-repeat: no-repeat; background-size: contain; height: auto; position: relative; width: 100%; }

.p-medicalrecord__top > h2 { font-size: 6vw; margin-top: 70%; }

.p-medicalrecord__top > h2 span { color: #00C8FF; }

.p-medicalrecord .c-heading span { font-size: 80%; line-height: 1.6; }

.p-medicalrecord .c-heading h2 { margin: 0; }

.p-medicalrecord .c-box--blu { border-radius: 0; margin: 50px 0 -20px; padding: 30px 20px 96%; position: relative; }

.p-medicalrecord .c-box--blu::before { background: #CCF4FF; border-radius: 5px; content: ""; display: block; height: 0; left: 0; margin: auto; padding-top: 60px; position: absolute; right: 0; top: -20px; -webkit-transform: rotate(45deg); transform: rotate(45deg); width: 60px; z-index: 0; z-index: -1; }

.p-medicalrecord .c-box--blu p { font-size: 3.6vw; line-height: 1.4; padding-left: 2em; }

.p-medicalrecord__app { margin-top: 20px; }

.p-medicalrecord__app h2 { font-size: 16px; font-size: 1.6rem; letter-spacing: 0; margin: auto auto 6px; position: relative; width: 10em; }

.p-medicalrecord__app h2 span { font-size: 25px; font-size: 2.5rem; }

.p-medicalrecord__app h2::before { background: #000; border-radius: 3px; bottom: 2px; content: ""; display: block; height: 70%; left: -1em; position: absolute; -webkit-transform: rotate(-40deg); transform: rotate(-40deg); width: 6px; z-index: 0; }

.p-medicalrecord__app h2::after { background: #000; border-radius: 3px; bottom: 2px; content: ""; display: block; height: 70%; position: absolute; right: -1em; -webkit-transform: rotate(40deg); transform: rotate(40deg); width: 6px; z-index: 0; }

.p-medicalrecord img { margin-left: calc((100% - 224px) / 2 + 5px); margin-top: 4%; width: 224px; }

.p-medicalrecord__point { display: block; height: 0; margin-left: calc(2% - 10px); padding-bottom: 96%; position: relative; width: 96%; }

.p-medicalrecord__point > span { display: none; }

.p-medicalrecord__point:nth-of-type(1) { -o-background-size: contain; -webkit-background-size: contain; background-image: url(../images/medicalrecord/app2.svg); background-position: center top; background-repeat: no-repeat; background-size: contain; margin-top: 40px; }

.p-medicalrecord__point:nth-of-type(1) p { padding-top: 13%; }

.p-medicalrecord__point:nth-of-type(2) { -o-background-size: contain; -webkit-background-size: contain; background-image: url(../images/medicalrecord/app3.svg); background-position: center top; background-repeat: no-repeat; background-size: contain; margin-top: 30px; }

.p-medicalrecord__point:nth-of-type(2) p { padding-top: calc(13% + 1em); }

.p-medicalrecord__bottomimg { -o-background-size: 100% auto; -webkit-background-size: 100% auto; background-image: url(../images/medicalrecord/app4_s.svg); background-position: center bottom; background-repeat: no-repeat; background-size: 100% auto; bottom: -10px; height: 0; padding-bottom: 100%; position: absolute; right: -2%; width: 100%; z-index: 0; }

.p-medicalrecord__bottomimg span { display: none; }

/* ---------------------------------------------
##	Merit
--------------------------------------------- */
.p-merit { padding-bottom: 20px; }

.p-merit .c-heading span { font-size: 4vw; }

.p-merit__item { -o-background-size: 25% auto; -webkit-background-size: 25% auto; background-position: center top 110px; background-repeat: no-repeat; background-size: 25% auto; height: auto; margin: 50px auto 100px; max-width: 320px; padding-top: 60px; position: relative; text-align: center; width: 100%; }

.p-merit__item::after { background: #FFE8D6; border-radius: 50%; content: ""; display: block; height: 0; left: 0; margin: auto; padding-bottom: 100%; position: absolute; right: 0; top: 0; width: 100%; z-index: 0; z-index: -1; }

.p-merit__item:nth-of-type(1) { background-image: url(../images/merit/ico_merit1.svg); }

.p-merit__item:nth-of-type(2) { background-image: url(../images/merit/ico_merit2.svg); }

.p-merit__item:nth-of-type(3) { background-image: url(../images/merit/ico_merit3.svg); }

.p-merit__item p { font-size: 17px; font-size: 1.7rem; letter-spacing: 0; line-height: 1.4; margin-top: 37%; }

.p-merit__num { background: #FE8D30; border-radius: 30px; color: #FFF; font-family: "Maven Pro", serif; font-size: 20px; font-size: 2rem; line-height: 1; margin: auto; padding: 5px 1em; text-align: center; width: 7.5em; }

/* ---------------------------------------------
##	Note
--------------------------------------------- */
.p-note { -o-background-size: 100% auto; -webkit-background-size: 100% auto; background-color: #F2F5F8; background-image: url(../images/note/bg_s.jpg); background-position: center bottom; background-repeat: no-repeat; background-size: 100% auto; padding-bottom: calc(100% - 60px); padding-top: 60px; }

.p-note h2 { color: #FE8D30; font-size: 6vw; margin-bottom: 1.5em; }

.p-note p { line-height: 1.8; }

.p-note p span { color: #FE8D30; font-weight: 900; }

.p-note p.u-em { font-size: 15px; font-size: 1.5rem; margin: 0; text-indent: -0.5em; }

/* ---------------------------------------------
##	Point
--------------------------------------------- */
.p-point .c-ttl:nth-child(2) { margin-top: -2.3em; }

.p-point .c-ttl:nth-child(2):first-letter { color: #FE8D30; font-size: 200%; margin-right: -.1em; }

.p-point__item { margin: 0 auto 50px; max-width: 523px; position: relative; width: 100%; }

.p-point__item__wrap { border-bottom: 2px solid #FE8D30; border-left: 2px solid #FE8D30; border-radius: 6px; padding: 16px 10px 20px 20px; }

.p-point__item__wrap::before { -o-background-size: contain; -webkit-background-size: contain; background-image: url(../images/points/ico_circle.svg); background-position: left top; background-repeat: no-repeat; background-size: contain; content: ""; display: block; height: 20px; left: -9px; position: absolute; top: 0; width: 20px; z-index: 0; }

.p-point__item__wrap::after { -o-background-size: contain; -webkit-background-size: contain; background-image: url(../images/points/ico_triangle.svg); background-position: left top; background-repeat: no-repeat; background-size: contain; bottom: -10px; content: ""; display: block; height: 20px; position: absolute; right: -6px; width: 20px; z-index: 0; }

.p-point__item__wrap > span { border-bottom: 1px solid #FE8D30; border-top: 1px solid #FE8D30; color: #FE8D30; font-size: 13px; font-size: 1.3rem; position: relative; }

.p-point__item__wrap > span::after { border-right: 1px solid #FE8D30; border-top: 1px solid #FE8D30; bottom: 0; content: ""; display: block; height: 1.1em; margin: auto; position: absolute; right: -0.55em; top: 0; -webkit-transform: rotate(45deg); transform: rotate(45deg); width: 1.1em; z-index: 0; }

.p-point__item .c-list { margin-top: 10px; }

.p-point__item .c-list li { font-size: 15px; font-size: 1.5rem; margin-bottom: .5em; margin-left: 0; min-width: 24em; padding: .05em .5em; width: 100%; }

.p-point__item:nth-child(3) .c-list br { display: none; }

.p-point__head { height: 16em; position: relative; z-index: -2; }

.p-point__head h3 { font-size: 23px; font-size: 2.3rem; }

.p-point__head h3 span { display: inline; }

.p-point__head p { font-size: 14px; font-size: 1.4rem; line-height: 1.6; }

.p-point__head::after { -o-background-size: 40% auto; -webkit-background-size: 40% auto; background-color: #FFE8D6; background-position: left 45% center; background-repeat: no-repeat; background-size: 40% auto; border-radius: 50%; content: ""; display: block; height: 210px; left: 45%; position: absolute; top: -20px; width: 210px; z-index: 0; z-index: -3; }

.p-point__item:nth-child(1) .p-point__head::after { background-image: url(../images/points/ico_point1.svg); }

.p-point__item:nth-child(2) .p-point__head::after { background-image: url(../images/points/ico_point2.svg); }

.p-point__item:nth-child(3) .p-point__head::after { background-image: url(../images/points/ico_point3.svg); }

.p-point__num { color: #FE8D30; font-family: 'Roboto', sans-serif; font-size: 60px; font-size: 6rem; font-weight: 500; line-height: 1em; margin-bottom: 20px; }

.p-point__num span { background: #FE8D30; border-radius: 30px; color: #FFF; display: block; font-size: 14px; font-size: 1.4rem; font-weight: 900; height: 1.4em; line-height: 1.2; padding: .2em 0; text-align: center; width: 5em; }

.p-point__num span::after { content: "\A"; white-space: pre; }

/* ---------------------------------------------
##	Privacy
--------------------------------------------- */
.p-privacy mar .c-ttl { margin-top: 100px; }

.p-privacy h3 { margin-top: 30px; }

.p-privacy ul { margin: 20px 0 0 1em; }

.p-privacy ul li { margin-left: 1.7em; text-indent: -1.7em; }

/* ---------------------------------------------
##	Safe
--------------------------------------------- */
.p-safe { position: relative; }

.p-safe .l-container:nth-of-type(2) { width: 100%; }

.p-safe .l-container:nth-of-type(3) { width: 90%; }

.p-safe .phone { margin: auto; max-width: 277px; width: 70%; }

.p-safe__list { border-bottom: 1px solid #000; margin-top: 40px; }

.p-safe__list li { -o-background-size: 18px 16px; -webkit-background-size: 18px 16px; background-image: url(../images/safe/ico_check.svg); background-position: left top 0.8em; background-repeat: no-repeat; background-size: 18px 16px; border-top: 1px dashed #000; font-size: 15px; font-size: 1.5rem; padding: .3em .3em .3em 2em; }

.p-safe__list li:first-child { border-top-style: solid; }

.p-safe__wrap { margin-top: 40px; }

.p-safe__note { -o-background-size: cover; -webkit-background-size: cover; background-image: url(../images/safe/endingnote_s.svg); background-position: center top; background-repeat: no-repeat; background-size: cover; height: 0; margin-top: 35px; overflow: hidden; padding-bottom: 133%; text-indent: 200%; white-space: nowrap; width: 100%; }

.p-safe__scene { -o-background-size: cover; -webkit-background-size: cover; background-image: url(../images/safe/scene_s.svg); background-position: center top; background-repeat: no-repeat; background-size: cover; height: 0; margin-top: 40px; overflow: hidden; padding-bottom: 81%; text-indent: 200%; white-space: nowrap; width: 100%; }

/* =============================================
#  Object -- Utility
============================================= */
/* ---------------------------------------------
##	Break
--------------------------------------------- */
br.u-xxs, br.u-sm, br.u-md, br.u-lg, br.u-xl { display: none; }

br.u-xs { display: block; }

/* ---------------------------------------------
##	Margin
--------------------------------------------- */
.u-mb1 { margin-bottom: 1rem; }

.u-ml1 { margin-left: 1rem; }

.u-mr1 { margin-right: 1rem; }

.u-mt1 { margin-top: 1rem; }

.u-mb2 { margin-bottom: 2rem; }

.u-ml2 { margin-left: 2rem; }

.u-mr2 { margin-right: 2rem; }

.u-mt2 { margin-top: 2rem; }

.u-mb3 { margin-bottom: 3rem; }

.u-ml3 { margin-left: 3rem; }

.u-mr3 { margin-right: 3rem; }

.u-mt3 { margin-top: 3rem; }

.u-mb4 { margin-bottom: 4rem; }

.u-ml4 { margin-left: 4rem; }

.u-mr4 { margin-right: 4rem; }

.u-mt4 { margin-top: 4rem; }

.u-mb5 { margin-bottom: 5rem; }

.u-ml5 { margin-left: 5rem; }

.u-mr5 { margin-right: 5rem; }

.u-mt5 { margin-top: 5rem; }

.u-mb6 { margin-bottom: 6rem; }

.u-ml6 { margin-left: 6rem; }

.u-mr6 { margin-right: 6rem; }

.u-mt6 { margin-top: 6rem; }

/* ---------------------------------------------
##	Other
--------------------------------------------- */
.u-ovr { display: block; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }

.js-disable { cursor: none; pointer-events: none; }

/* ---------------------------------------------
##	Position
--------------------------------------------- */
.u-algn--c { text-align: center; }

.u-algn--r { text-align: right; }

.u-algn--l { text-align: left; }

.u-flt--l { float: left; }

.u-flt--r { float: right; }

/* ---------------------------------------------
##	Typography
--------------------------------------------- */
.u-em { font-size: 1em; font-weight: 900; margin-bottom: .7em; }

.u-blu { color: #00C8FF; }

.u-org { color: #FE8D30; }

.u-brd { position: relative; z-index: 0; }

.u-brd::after { background: #FFF; bottom: 0; content: ""; height: 10px; left: 0; margin: auto; padding-bottom: 5px; position: absolute; right: 0; width: 100%; z-index: 0; z-index: -1; }

.u-wave { -o-background-size: auto 7px; -webkit-background-size: auto 7px; background-image: url(../images/line-wave.svg); background-position: left bottom; background-repeat: repeat-x; background-size: auto 7px; }

/* =============================================
#  Media Queries
============================================= */

@media all and (min-width: 481px) { h2 { font-size: 25px; font-size: 2.5rem; } h3 { font-size: 19px; font-size: 1.9rem; } .p-btmregist .l-container { width: 100%; } .p-mainvisual__txt h2 { font-size: 42px; font-size: 4.2rem; } .p-point__head { height: 18em; } }

@media screen and (min-width: 600px) { h2 { font-size: 4.1vw; } p, ul, ol, dl { font-size: 15px; font-size: 1.5rem; } .l-container { width: calc(100% - 80px); } .c-list li { font-size: 14px; font-size: 1.4rem; margin-bottom: 7px; padding: .05em 1em; } .c-registration { padding: 50px 0 0; } .c-registration__bnr { background-image: url(../images/registration/bnr_registration_m.svg); background-position: left top !important; background-size: contain !important; height: 0 !important; padding-bottom: 56% !important; width: 100%; } .c-registration__bnr > a:nth-of-type(1) { background-image: url(../images/registration/txt_form2.svg); left: 4%; right: inherit; top: 10%; width: 31% !important; } .c-registration__bnr > a:nth-of-type(2) { height: 0 !important; left: 9% !important; margin-left: 0 !important; padding-bottom: 20% !important; top: 30%; width: 20% !important; } .c-registration__bnr > a:nth-of-type(3) { left: 9.5%; position: absolute; top: 68%; z-index: 0; } .c-registration__bnr > a:nth-of-type(4) { left: 8.5%; position: absolute; top: 79%; z-index: 0; } .c-registration__link { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; margin-left: .5em !important; margin-top: 1em !important; width: 100% !important; } .c-registration__link a { margin-right: 2em; } .c-registration__btn a { margin-bottom: -30px; } .c-ttl span { font-size: 20px; font-size: 2rem; } .c-heading span { font-size: 12px; font-size: 1.2rem; } .p-about .l-container > h3 { font-size: 23px; font-size: 2.3rem; }
  .p-about .l-container > h3 span { font-size: 28px; font-size: 2.8rem; } .p-about .p-about__block { background-image: url(../images/about/features_m.svg); height: calc(1020px + 60px); margin: auto; padding-bottom: 0; width: 445px; } .p-appinfo .c-heading span { font-size: 14px; font-size: 1.4rem; } .p-btmregist__col { width: 520px; } .p-btmregist__col:nth-child(1) p { font-size: 16px; font-size: 1.6rem; }
  .p-btmregist__col:nth-child(1) h2 { font-size: 30px; font-size: 3rem; letter-spacing: 0.1em; } .p-cando__mn { max-width: 550px; } .p-cando__mn li { padding-bottom: calc((100% - 40px) / 3); width: calc((100% - 40px) / 3); } .p-cando__mn li a { font-size: 16px; font-size: 1.6rem; } .p-cando__mn li:nth-child(3) a { background-color: #FFB333; } .p-cando__mn li:nth-child(4) a { background-color: #FE8D30; } .p-mainvisual__txt p { font-size: 2.5vw; height: auto; line-height: 1.8; } .p-mainvisual__img { margin-top: 40px; } .p-medicalrecord__top > h2 { font-size: 4.1vw; margin-top: calc(60% + 20px); } .p-medicalrecord__top { background-image: url(../images/medicalrecord/topimg_m.svg); background-position: center top 90px; } .p-medicalrecord .c-box--blu { padding-bottom: 54%; } .p-medicalrecord .c-box--blu p { font-size: 2.2vw; } .p-medicalrecord__app h2 { font-size: 22px; font-size: 2.2rem; } .p-medicalrecord__app h2 span { font-size: 30px; font-size: 3rem; } .p-medicalrecord__point__wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; } .p-medicalrecord__point { margin: 0; padding-bottom: 50%; width: 50%; } .p-medicalrecord__point:nth-of-type(2) { margin-top: 40px; } .p-medicalrecord__bottomimg { background-image: url(../images/medicalrecord/app4.svg); bottom: -10px; padding-bottom: 54%; } .p-merit .c-heading span { font-size: 16px; font-size: 1.6rem; } .p-note { background-image: url(../images/note/bg_m.jpg); padding-bottom: calc(80% - 60px); } .p-note h2 { font-size: 32px; font-size: 3.2rem; } .p-note p.u-em { font-size: 17px; font-size: 1.7rem; } .p-point__item__wrap > span { font-size: 14px; font-size: 1.4rem; } .p-point__head::after { height: 256px; left: inherit; right: 0; width: 256px; } .p-safe .l-container:nth-of-type(2) { width: calc(100% - 80px); } .p-safe__note { background-image: url(../images/safe/endingnote_m.svg); padding-bottom: 113%; } .p-safe__scene { background-image: url(../images/safe/scene_m.svg); padding-bottom: 55%; } br.u-xxs, br.u-xs, br.u-md, br.u-lg, br.u-xl { display: none; }
  br.u-sm { display: block; } }

@media screen and (min-width: 767px) { h2 { font-size: 3.5vw; } .l-footer__inner { width: calc(100% - 80px); } .l-header { height: 120px; } .l-header__inner { width: calc(100% - 80px); } .l-header h1 { font-size: 10px; font-size: 1rem; left: inherit; right: 10px; top: 58px; } .fixed .l-header__logo { margin-left: 0; } .l-header__logo { height: 80px; left: 0; position: absolute; right: inherit; top: 25px; width: 337px; z-index: 0; } section { padding: 60px 0; } div[class^="c-flx--"]--2 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  div[class^="c-flx--"]--2 .c-flx__item { width: calc(100% / 2); } div[class^="c-flx--"]--2a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  div[class^="c-flx--"]--2a .c-flx__item { margin-bottom: 15px; max-width: calc((100% - (15px * 2)) / 2) !important; width: calc((100% - (15px * 2)) / 2) !important; } .c-registration .l-container { width: calc(100% - 70px); } .c-registration__btn a { background-image: url(../images/registration/btn_registration_off.svg); margin-bottom: 0; margin-left: 16%; margin-top: 30px; max-width: 1009px; padding-top: 16.7%; width: 80%; } .c-registration__btn a:hover { background-image: url(../images/registration/btn_registration_on.svg); } .c-heading span { font-size: 14px; font-size: 1.4rem; } .p-about .l-container > h3 { font-size: 20px; font-size: 2rem; width: 35.5em; }
  .p-about .l-container > h3 span { font-size: 26px; font-size: 2.6rem; } .p-appinfo { margin-top: -60px; } .p-appinfo .c-heading span { font-size: 15px; font-size: 1.5rem; } .p-appinfo .c-flx__item { border-top: 1px solid #000; padding: 60px 0 50px; } .p-appinfo .c-flx__item::before { height: 130px; width: 130px; } .p-btmregist .c-registration__btn a { background-image: url(../images/registration/btn_registration2_off.svg); } .p-btmregist .c-registration__btn a:hover { background-image: url(../images/registration/btn_registration_on.svg); } .p-btmregist .c-registration__btn { margin-left: calc((100% - 640px) / 2); width: 640px; } .p-cando__mn { max-width: 100%; } .p-cando__mn li { padding-bottom: calc((100% - 40px) / 6); width: calc((100% - 40px) / 6); } .p-cando__mn li a { font-size: 1.8vw; } .p-cando__inner { padding: 60px 50px 40px; } .p-mainvisual { background: -webkit-gradient(linear, left top, left bottom, from(#FFE8D6), color-stop(50%, #FFE8D6), color-stop(50%, #FFF), to(#FFF)); background: linear-gradient(#FFE8D6 0%, #FFE8D6 50%, #FFF 50%, #FFF 100%); } .p-mainvisual__txt { background-size: auto 80%; } .p-mainvisual__txt h2 { font-size: 42px; font-size: 4.2rem; letter-spacing: .1em; } .p-mainvisual__txt p { font-size: 16px; font-size: 1.6rem; } .p-mainvisual__img { margin: 40px auto 0; padding-bottom: 117%; width: 90%; } .p-mainvisual__img .c-flx__item:nth-child(1) img { margin-left: 10%; width: 90%; } .p-mainvisual__img .c-flx__item:nth-child(2) { padding-top: 4%; } .p-medicalrecord__top > h2 { font-size: 3.5vw; margin-top: 400px; } .p-medicalrecord__top { background-size: 630px auto; } .p-medicalrecord .c-box--blu { margin-top: 70px; padding-bottom: 50%; } .p-medicalrecord .c-box--blu p { font-size: 15px; font-size: 1.5rem; } .p-medicalrecord__bottomimg { bottom: -30px; } .p-merit .c-heading span { font-size: 18px; font-size: 1.8rem; } .p-safe .c-heading { margin-bottom: -1em; text-align: left; } .p-safe .phone { margin-left: 0; max-width: 80%; width: 80%; } .p-safe__list { margin-top: 80px; } .p-safe__list li { font-size: 1.7vw; } .p-safe__wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; } .p-safe__block:nth-of-type(1) { position: relative; width: 35%; }
  .p-safe__block:nth-of-type(2) { width: 65%; } .p-safe__note { background-image: url(../images/safe/endingnote.svg); padding-bottom: 49%; } .p-safe__scene { background-image: url(../images/safe/scene.svg); padding-bottom: 21%; } br.u-xxs, br.u-xs, br.u-sm, br.u-lg, br.u-xl { display: none; }
  br.u-md { display: block; } }

@media screen and (min-width: 1000px) { h2 { font-size: 2.8vw; } h3 { font-size: 20px; font-size: 2rem; } .l-footer__inner { width: calc(100% - 120px); } .l-header { height: 160px; } .l-header__inner { width: calc(100% - 120px); } .l-header h1 { font-size: 13px; font-size: 1.3rem; left: 450px; margin: 0; right: inherit; top: 74px; } .l-header__logo { height: 107px; width: 450px; } .l-container { width: calc(100% - 120px); } div[class^="c-flx--"]--3 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  div[class^="c-flx--"]--3 .c-flx__item { width: calc(100% / 3); } div[class^="c-flx--"]--3a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  div[class^="c-flx--"]--3a .c-flx__item { margin-bottom: 15px; max-width: calc((100% - (15px * 3)) / 3) !important; width: calc((100% - (15px * 3)) / 3) !important; } .c-registration .l-container { width: calc(100% - 90px); } .c-registration__bnr { background-image: url(../images/registration/bnr_registration.svg); padding-bottom: 29% !important; } .c-registration__bnr > a:nth-of-type(1) { background-image: url(../images/registration/txt_form.svg); left: 3%; padding-bottom: 5% !important; top: 13%; width: 31% !important; } .c-registration__bnr > a:nth-of-type(2) { height: 142px !important; left: 6% !important; padding-bottom: 0 !important; top: 35%; width: 142px !important; } .c-registration__bnr > a:nth-of-type(3) { left: 21.2%; position: absolute; top: 45%; z-index: 0; } .c-registration__bnr > a:nth-of-type(4) { left: 21%; position: absolute; top: 59%; z-index: 0; } .c-registration__link { margin-top: -.5em !important; padding-right: 14%; } .c-registration__link a { font-size: 15px; font-size: 1.5rem; } .c-registration__btn a { margin-left: 17%; } .c-ttl span { font-size: 22px; font-size: 2.2rem; } .c-heading span { font-size: 16px; font-size: 1.6rem; } .p-about { padding-bottom: 100px; } .p-about .p-about__block { background-image: url(../images/about/features.svg); height: 0; padding-bottom: 45%; width: 100%; } .p-appinfo { margin-top: 0; } .p-appinfo .c-flx { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: 80px 0 60px; } .p-appinfo .c-flx__item { border-left: 1px solid #000; border-top: none; padding: 0; width: calc(100% / 3 - 1px); } .p-appinfo .c-flx__item h3 span { font-size: 13px; font-size: 1.3rem; } .p-appinfo .c-flx__item ul.c-list { height: auto; } .p-appinfo .c-flx__item:nth-child(3) { border-right: 1px solid #000; } .p-btmregist .l-container { width: 90%; }
  .p-btmregist .l-container:nth-child(1) { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; } .p-btmregist__col { max-width: 90%; } .p-btmregist__col:nth-child(1) { background-position: right bottom 1em; margin-top: 30px; max-width: 50%; width: 50%; }
  .p-btmregist__col:nth-child(1) p { font-size: 16px; font-size: 1.6rem; }
  .p-btmregist__col:nth-child(1) h2 { font-size: 36px; font-size: 3.6rem; } .p-btmregist__col:nth-child(2) { height: 100%; padding-left: 3%; width: 50%; } .p-btmregist__col:nth-child(2) > a { height: 210px; max-height: 210px; max-width: 210px; width: 210px; } .p-btmregist__col:nth-child(2) .p-btmregist__r { width: calc(100% - 230px); } .p-btmregist__col:nth-child(2) .p-btmregist__r > a { margin-top: 30px; } .p-btmregist__app { margin-top: inherit; width: calc(94% - 230px); } .p-btmregist .c-registration__btn { margin-left: 9%; max-width: 80%; width: 80%; } .p-cando__bottom { height: 330px; padding-bottom: 0; width: 330px; } .p-cando__list { margin-bottom: 380px; } .p-cando__inner::before { height: 120px; top: -60px; width: 120px; } .p-cando__inner .c-flx { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row; flex-flow: row; } .p-cando__inner ul { width: 50%; } .p-mainvisual { background: -webkit-gradient(linear, left top, left bottom, from(#FFE8D6), color-stop(70%, #FFE8D6), color-stop(70%, #FFF), to(#FFF)); background: linear-gradient(#FFE8D6 0%, #FFE8D6 70%, #FFF 70%, #FFF 100%); height: 0; padding-bottom: 63%; padding-top: 20px; } .p-mainvisual .l-container { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; } .p-mainvisual__txt { background-position: right 40px bottom 65px; background-size: 80% auto; height: 650px; width: 36%; } .p-mainvisual__txt h2 { font-size: 36px; font-size: 3.6rem; margin-top: 30px; } .p-mainvisual__txt p { font-size: 16px; font-size: 1.6rem; } .p-mainvisual__img { padding-bottom: 150%; width: 64%; } .p-mainvisual__img .c-flx__item:nth-child(1) img { margin-left: 0; width: 90%; } .p-mainvisual__img .c-flx__item:nth-child(2) { padding-top: 0; } .p-mainvisual__img .c-flx__item:nth-child(2) > a.btn { background-image: url(../images/mainvisual/btn_registration_off.svg); margin-top: 40px; padding-bottom: 32%; width: 80%; }
  .p-mainvisual__img .c-flx__item:nth-child(2) > a.btn:hover { background-image: url(../images/mainvisual/btn_registration_on.svg); } .p-mainvisual__app { margin: 0; } .p-medicalrecord .l-container:nth-of-type(2) { width: calc(100% - 80px); } .p-medicalrecord__top > h2 { bottom: 0.5em; font-size: 2.8vw; left: 0; position: absolute; text-align: right; width: 100%; z-index: 0; } .p-medicalrecord__top { background-image: url(../images/medicalrecord/topimg.svg); background-position: left top; background-size: 95% auto; height: 0; margin-top: -30px; padding-bottom: 29%; padding-left: 31%; padding-top: 30px; } .p-medicalrecord .c-heading span { text-align: left; } .p-medicalrecord .c-heading h2 { margin-top: 30px; text-align: left; } .p-medicalrecord .c-box--blu { border-radius: 10px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin-top: 20px; padding: 40px 30px 40% 40px; } .p-medicalrecord .c-box--blu::before { margin-right: 0; right: 15%; } .p-medicalrecord .c-box--blu p { font-size: 14px; font-size: 1.4rem; } .p-medicalrecord__app { left: -20px; position: absolute; top: 30px; width: 40%; z-index: 0; } .p-medicalrecord img { margin: auto; width: 65%; } .p-medicalrecord__point__wrap { margin-left: 34%; width: 66%; } .p-medicalrecord__point:nth-of-type(1) { margin-top: 10px; } .p-medicalrecord__point:nth-of-type(2) { margin-top: 10px; } .p-medicalrecord__bottomimg { bottom: -20px; width: 66%; } .p-merit { padding-bottom: 0; } .p-merit .c-heading { margin-top: -30px; text-align: left; } .p-merit__wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; justify-content: space-between; }
  .p-merit__wrap .c-flx__item { width: calc(100% / 3); } .p-merit__item { background-position: center top 44%; height: 320px; margin-top: 0; max-width: 320px; padding-top: 53px; width: 33%; } .p-merit__item p { font-size: 15px; font-size: 1.5rem; margin-top: 39%; } .p-note { background-size: auto 100%; } .p-point__wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin-top: 160px; } .p-point__item__wrap { height: 499px; } .p-point__item__wrap::after { bottom: -48px; } .p-point__item { height: 460px; width: 30%; } .p-point__item .c-list li { font-size: 1.1vw; letter-spacing: -0.05em; min-width: 100%; width: calc(100% + 1em); } .p-point__head { height: auto; } .p-point__head h3 { font-size: 19px; font-size: 1.9rem; } .p-point__head p { font-size: 12px; font-size: 1.2rem; } .p-point__head::after { height: 210px; left: -16%; right: inherit; top: -167px; width: 210px; } .p-point__num { margin-top: 60px; } .p-safe__list li { font-size: 17px; font-size: 1.7rem; } br.u-xxs, br.u-xs, br.u-sm, br.u-md, br.u-xl { display: none; }
  br.u-lg { display: block; } }

@media screen and (min-width: 1200px) { h2 { font-size: 33px; font-size: 3.3rem; } .l-footer { font-size: 14px; font-size: 1.4rem; } .l-footer__link a { font-size: 12px; font-size: 1.2rem; } .c-registration .l-container { width: calc(100% - 120px); } .c-registration__bnr > a:nth-of-type(1) { height: 49px !important; padding-bottom: 0 !important; width: 397px !important; } .c-registration__bnr > a:nth-of-type(2) { height: 160px !important; width: 160px !important; } .p-appinfo { margin-top: -20px; } .p-btmregist__col:nth-child(2) { padding-left: 6%; } .p-btmregist__col:nth-child(2) .p-btmregist__r { width: calc(94% - 210px); } .p-btmregist__col:nth-child(2) .p-btmregist__r > a { margin-top: 20px; } .p-btmregist__app { bottom: 10px; width: calc(86% - 230px); } .p-cando__inner li { font-size: 17px; font-size: 1.7rem; } .p-cando__inner p { font-size: 15px; font-size: 1.5rem; } .p-mainvisual { background: -webkit-gradient(linear, left top, left bottom, from(#FFE8D6), color-stop(68%, #FFE8D6), color-stop(68%, #FFF), to(#FFF)); background: linear-gradient(#FFE8D6 0%, #FFE8D6 68%, #FFF 68%, #FFF 100%); } .p-mainvisual__txt { background-position: right 40px top 27%; height: auto; } .p-mainvisual__txt h2 { font-size: 44px; font-size: 4.4rem; } .p-mainvisual__txt p { font-size: 20px; font-size: 2rem; } .p-mainvisual__img { width: 62%; } .p-mainvisual__img .c-flx__item:nth-child(2) > a.btn { margin-top: 60px; } .p-medicalrecord__top > h2 { bottom: 1em; } .p-medicalrecord__top { padding-top: 50px; } .p-medicalrecord .c-box--blu p { font-size: 15px; font-size: 1.5rem; } .p-note { padding: 130px 0 180px; } .p-point__item__wrap { height: 530px; } .p-point__item__wrap::after { bottom: -10px; } .p-point__item { height: 530px; } .p-point__item .c-list li { font-size: 14px; font-size: 1.4rem; } .p-safe .l-container:nth-of-type(1) { margin-bottom: 150px; } .p-safe .l-container:nth-of-type(2) { position: absolute; right: 60px; top: 540px; width: calc(65% - 70px); z-index: 0; } .p-safe .l-container:nth-of-type(3) { margin-top: -20px; } .p-safe .phone { margin-top: 80px; } .p-safe__list { margin-top: 30px; } .p-safe__list li { font-size: 18px; font-size: 1.8rem; } br.u-xxs, br.u-xs, br.u-sm, br.u-md, br.u-lg { display: none; }
  br.u-xl { display: block; } }

@media all and (min-width: 1424px) { h2 { font-size: 39px; font-size: 3.9rem; } .c-ttl span { font-size: 26px; font-size: 2.6rem; } .p-appinfo { margin-top: -50px; } .p-btmregist__col:nth-child(2) .p-btmregist__r { height: 108px; padding-bottom: 0; width: 320px; } .p-btmregist__col:nth-child(2) .p-btmregist__r > a { height: 108px; margin-top: 10px; padding-bottom: 0; width: 320px; } .p-btmregist__app { bottom: 5px; width: 320px; } .p-mainvisual__txt h2 { font-size: 50px; font-size: 5rem; } .p-medicalrecord__top > h2 { font-size: 39px; font-size: 3.9rem; margin-top: 420px; } }

@media all and (min-width: 1600px) { h3 { font-size: 22px; font-size: 2.2rem; } .p-note { padding: 160px 0 200px; } .p-note h2 { font-size: 38px; font-size: 3.8rem; } .p-note p { font-size: 18px; font-size: 1.8rem; } .p-note p.u-em { font-size: 22px; font-size: 2.2rem; } }

@media screen and (max-width: 376px) { .l-footer { height: 7em; text-align: center; } .l-footer__link { width: 100%; }
  .l-footer__link a { float: none; margin: 0 .5em; } }

@media screen and (max-width: 766px) { .fixed .l-header__logo { top: 22px; } .l-header.fixed h1 { -o-background-size: 100% auto; -webkit-background-size: 100% auto; background-image: url(../images/catch.svg); background-position: right top; background-repeat: no-repeat; background-size: 100% auto; overflow: hidden; text-indent: 200%; top: 8px; white-space: nowrap; width: 280px; } .p-appinfo .c-flx__item { border-top: 1px solid #000; padding: 40px 0 30px; } .p-medicalrecord__top > h2 span::before { content: "\A"; white-space: pre; } }

@media screen and (max-width: 320px) { .l-container { width: calc(100% - 40px); } .p-medicalrecord .c-box--blu p { font-size: 3.2vw; } .p-merit__item { width: 96%; } .p-merit__item p { margin-top: 38%; } .p-merit__num { font-size: 6vw; } .p-point__item__wrap > span { font-size: 3.3vw; } }

@media screen and (min-width: 767px) and (min-width: 1000px) { div[class^="c-flx--"]--2a .c-flx__item { margin-bottom: 20px; max-width: calc((100% - (20px * 2)) / 2) !important; width: calc((100% - (20px * 2)) / 2) !important; } }

@media screen and (min-width: 1000px) and (min-width: 1000px) { div[class^="c-flx--"]--3a .c-flx__item { margin-bottom: 20px; max-width: calc((100% - (20px * 3)) / 3) !important; width: calc((100% - (20px * 3)) / 3) !important; } }

@media all and (min-width: 430px) { .c-registration__bnr { background-position: center top; background-size: 400px auto; height: 728px; padding-bottom: 0; } .c-registration__bnr > a:nth-of-type(1) { width: 300px; } .c-registration__bnr > a:nth-of-type(2) { height: 137px; left: 50%; margin-left: -124px; padding-bottom: 0; width: 137px; } }

@media all and (min-width: 480px) { .c-registration__link { margin: 1em auto; width: 400px; } }

@media all and (max-width: 480px) { .p-appinfo .c-heading span { font-size: 14px; font-size: 1.4rem; } .p-btmregist__col { width: 100%; } .p-btmregist__col:nth-child(1) p { font-size: 3.2vw; }
  .p-btmregist__col:nth-child(1) h2 { font-size: 8vw; } .p-btmregist__col:nth-child(2) { height: 0; padding-bottom: 42%; } .p-cando { padding-bottom: 200px; } .p-cando__bottom { padding-bottom: 50%; width: 50%; } .p-cando__list { border-radius: 0; margin-top: 40px; padding: 0 5% 120px; width: 100%; } .p-cando__inner { padding: 60px 10% 40px; } .p-cando__inner h3 { font-size: 5.5vw; } .p-cando__inner h3 span { font-size: 4.5vw; } .p-medicalrecord .c-heading span { font-size: 3vw; } .p-point__item .c-list li { font-size: 3.2vw; } .p-point__head h3 { font-size: 5.5vw; } .p-point__head p { font-size: 3.5vw; } }

@media screen and (max-width: 999px) { .p-appinfo .c-flx { max-width: 90%; } .p-appinfo .c-flx__item:nth-child(3) { border-bottom: 1px solid #000; } }

@media screen and (max-width: 599px) { .p-cando__mn li a { font-size: 3.6vw; padding-top: 1.5em; } }

@media all and (min-width: 1442px) { .p-cando__mn li a { font-size: 22px; font-size: 2.2rem; } }

@media screen and (min-width: 1424px) { .p-mainvisual { background: linear-gradient(#FFE8D6 0%, #FFE8D6 620px, #FFF 620px, #FFF 100%); height: 980px; padding-bottom: 0; } .p-mainvisual__img .c-flx__item:nth-child(2) > a.btn { margin-top: 70px; } }

@media all and (min-width: 900px) { .p-note { background-image: url(../images/note/bg.png); background-position: right bottom; padding-bottom: 60px; padding-top: 70px; } }

@media all and (min-width: 900px) and (max-width: 999px) { .p-note { background-size: 70% auto; } }

@media all and (min-width: 767px) and (max-width: 999px) { .p-point__item .c-list li { font-size: 16px; font-size: 1.6rem; width: 96%; } }

@media all and (min-width: 600px) and (max-width: 999px) { .p-point__item:nth-child(1) h3 br { display: none; } .p-point__item:nth-child(3) .c-list br { display: block; } .p-point__head { height: 21em; } .p-point__num { font-size: 90px; font-size: 9rem; margin-bottom: 20px; } .p-point__num span { font-size: 20px; font-size: 2rem; width: 5em; } }

@media all and (min-width: 1148px) { .p-point__head h3 { font-size: 21px; font-size: 2.1rem; } .p-point__head p { font-size: 13px; font-size: 1.3rem; } }

@media all and (min-width: 1280px) { .p-safe .l-container:nth-of-type(2) { left: 50%; margin-left: -190px; right: inherit; width: 832px; } .p-safe .l-container:nth-of-type(3) { margin-top: -60px; } }
