@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;800&family=Noto+Serif+JP:wght@400;500;600;800;900&family=Oswald&Lexend:wght@700&display=swap');

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

  リセット

====================================================================*/
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure, footer, header, hgroup,menu, nav, section, summary,time, mark, audio, video {
    margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	background:transparent;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display:block;
}
nav ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content:'';content:none;
}
table {border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {line-height: 150%;}
body {line-height:150%;}
img {vertical-align: bottom;max-width: 100%;height: auto;display: block;margin: 0 auto;}
a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
caption, th, td {font-weight: normal;}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="reset"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="reset"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

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

  設定

====================================================================*/
html,body {
	color:#222;
    font-family: 'Noto Sans JP',"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	-webkit-text-size-adjust: 100%;
	background: #FFFFFF;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}

a:link {color:#1E468C; text-decoration:none;}
a:visited {color:#1E468C; text-decoration:none;}
a:hover {color:#1E468C; text-decoration:none;}

a:hover img {
	opacity: 0.8 ;
	filter: alpha(opacity=80) ;	
	-ms-filter: "alpha(opacity=80)";
	}

a img {
	-webkit-transition: opacity 0.4s ease-out;
	-moz-transition: opacity 0.4s ease-out;
	-ms-transition: opacity 0.4s ease-out;
	transition: opacity 0.4s ease-out;
}

a {-webkit-transition: 0.4s ;transition: 0.4s ;}
p {line-height:180%;}

.f_l {float:left;}
.f_r {float:right;}
.clear {clear:both}
.clear_fix:before, .clear_fix:after {content: " ";display: table;}
.clear_fix:after {clear: both;}
.clear_fix {*zoom: 1;}

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

 共通CSS

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

html {font-size: 62.5%;}
body {font-size: 2.4rem; background: #F2F2F2;}

/*-------------------------------------------
 レイアウト
-------------------------------------------*/
.container {margin: 0 auto;}

section .container {
    max-width: 640px;
    padding: 3em 1.5em;
}

.page_wrap {
    max-width: 800px;
    margin: 0 auto;
    background: #FFF;
    min-height: 100vh;
}

/*-------------------------------------------
 header
-------------------------------------------*/
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/*-------------------------------------------
 .section_message
 人生最期の“美容”という新しい価値
-------------------------------------------*/
.message_title {
    color: #1E468C;
    text-align: center;
    font-weight: 800;
    font-size: 4.4rem;
    margin-bottom: 0.5em;
}
.message_image {
    margin-top: 1em;
}

/*-------------------------------------------
 .section_greeting
  代表挨拶 
-------------------------------------------*/
.section_greeting {
    position: relative;
    background: #C89646;
    color: #FFF;
}
.section_greeting .container {
    padding-bottom: 2em;
}
.greeting_title {
    font-weight: 800;
    font-size: 4.4rem;
    text-align: center;
    margin-bottom: 0.5em;
    font-family: 'Noto Serif JP';
    letter-spacing: 0.05em;
}
.greeting_image {
    max-width: 450px;
    width: 50%;
    margin: 1.5em auto 0 auto;
}
.section_greeting::after {
    content: "";
    width: 100%;
    height: 2em;
    background-color: #C89646;
    position: absolute;
    bottom: -2em;
    clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
}

/*-------------------------------------------
 .section_worries
  こんな悩みはありませんか？
-------------------------------------------*/
.section_worries {
    margin-top: 3em;
}
.worries_title {
    text-align: center;
}
.worries_title_prefix {
    font-weight: 800;
    font-size: 4.4rem;
    color: #1E468C;
}
.worries_title_highlight {
    font-size: 6.4rem;
    color: #EB8C55;
    font-weight: 900;
    font-family: 'Noto Serif JP';
    position: relative;
}
.worries_title_highlight::before {
    content: "・";
    position: absolute;
    top: -0.5em;
}
.worries_title_suffix {
    font-weight: 800;
    font-size: 4.4rem;
    color: #1E468C;
    display: block;
    margin-top: 0.4em;
}
.worries_intro {
    font-size: 2.8rem;
    text-align: center;
    font-weight: 600;
    margin-top: 1.5em;
}
.worries_illustration {
    width: 30%;
    margin: 1em auto 0 auto;
}
.list_check {
    border-top: 1px solid #C8C8C8;
    max-width: 500px;
    margin: 0.8em auto 0 auto;
}
.list_check_item {
    font-weight: 600;
    font-size: 2.8rem;
    border-bottom: 1px solid #C8C8C8;
    position: relative;  
    list-style: none;
    padding: 0.5em 0 0.5em 2.5em;
    line-height: 150%;
}
.list_check_item::before {
    content: '';
    position: absolute;
    left: 0.5em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 1.5em;
    height: 1.5em;
    background: url('../img/icon_check.svg') no-repeat center center / contain;
}
.list_check_item .note {
    font-weight: 400;
    font-size: 2.0rem;
}

/*-------------------------------------------
 .section_market
  成長し続ける市場背景
-------------------------------------------*/
.title01 {
    background: url('../img/title01_bg.jpg') center/cover no-repeat;
    clip-path: polygon(0 0, 100% 0, 100% 85%, 60% 85%, 50% 100%, 40% 85%, 0 85%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 85%, 60% 85%, 50% 100%, 40% 85%, 0 85%);
    padding: 1.5em 0 2.5em 0;
    margin-bottom: -2em;
}
.title01 .title {
    font-size: 4.4rem;
    font-weight: 800;
    text-align: center;
    position: relative;
    z-index: 1;
    color: #FFF;
}
.text01 {
    font-size: 2.8rem;
    text-align: center;
    font-weight: 600;
}




.market_point {
    text-align: center;
    margin-top: 1.5em;
}
.market_point_title {
    color: #EB8C55;
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 0.2em;
}
.highlight {
    text-align: center;
    margin-top: 1.5em;
}
.highlight strong {
    text-align: center;
    color: #EB8C55;
    font-size: 3.6rem;
    font-weight: 800;
    display: inline;
    background: linear-gradient(to bottom, transparent 95%, #FFD20A 95%);
    -webkit-background: linear-gradient(to bottom, transparent 95%, #FFD20A 95%);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 150%;
}

/*-------------------------------------------
 .section_reason
  なぜエンディングカットが選ばれるのか？
-------------------------------------------*/
.section_reason {
    background: url('../img/reason_bg.jpg') top no-repeat;
}
.reason_title {
    font-size: 4.4rem;
    color: #EB8C55;
    text-align: center;
    font-family: 'Noto Serif JP';
    font-weight: 900;
    text-shadow:
        0 0 1px rgba(255, 255, 255, 1.0),
        0 0 5px rgba(255, 255, 255, 1.0),
        0 0 7px rgba(255, 255, 255, 1.0),
        0 0 10px rgba(255, 255, 255, 1.0);
}
.reason_image {
    max-width: 400px;
    margin: 2em auto 0 auto;
    width: 80%;
}
.reason_block {
    margin-top: 1.5em;
}
.reason_block_title {
    text-align: center;
    color: #C89646;
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 0.2em;
}
/*-------------------------------------------
 .section_strength
  ビジネスモデルの全貌と強さ
-------------------------------------------*/
.section_strength .container {
    padding-top: 2em;
}
.strength_number_heading {
    font-size: 8.2rem;
    color: #969696;
    font-weight: 900;
    font-family: 'Noto Serif JP';
    text-align: center;
}
.strength_number {
    font-size: 12.4rem;
    color: #EB8C55;
}
.list_item {
    list-style: none;
    margin-top: 2em;
}
.list_title_wrap {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 0.5em;
    height: 4em;
}
.list_number {
    color: #FFD20A;
    font-size: 6.8rem;
    font-family: "Oswald", sans-serif;
    padding-right: 0.3em;
}
.list_title {
    font-size: 3.0rem;
    font-weight: 800;
    color: #1E468C;
    width: calc(100% - 3em);
}
.list_body {
    border-top: 1px solid #C8C8C8;
    padding-top: 0.5em;
}

/*-------------------------------------------
 .section_comparison
  他社との比較
-------------------------------------------*/
.comparison_table {
    width: 100%;
    font-size: 1.8rem;
    border: 3px solid #222;
    margin: 2em 0;
}
.comparison_table th {
    background: #BBD4EF;
}
.comparison_table tr td:first-of-type{
    background: #DFF2FC;
}
.comparison_table th,
.comparison_table td {
    text-align: center;
    border: 1px solid #222;
    padding: 0.1em;
    font-weight: 600;
}
.comparison_table .good {
    color: #F6AC19;
    font-weight: 900;
    font-size: 2.4rem;
}
.comparison_table .bad {
    color: #5185C5;
    font-weight: 900;
    font-size: 2.4rem;
}
.title02 {
    text-align: center;
}
.title02 span {
    font-size: 4.4rem;
    font-weight: 800;
    color: #1E468C;
    display: inline;
    background: linear-gradient(to bottom, transparent 95%, #C8D2F0 95%);
    -webkit-background: linear-gradient(to bottom, transparent 95%, #C8D2F0 95%);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 150%;
}



.title03 {
    color: #FFF;
    font-size: 5.2rem;
    font-weight: 900;
    text-align: center;
    background-size: cover;
    padding: 1em 0;
    text-shadow:2px 2px 0 #000, 3px 3px 0 #000;
    font-style: italic;
    margin-bottom: -0.5em;
}

/*-------------------------------------------
 .section_merit
  加盟メリットと本部サポート体制
-------------------------------------------*/
.merit_support_title {
    text-align: center;
    font-size: 3.0rem;
    font-weight: 800;
    border-bottom: 1px solid #95CBE7;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
}
.merit_support_box {
    background: #CDE6F4;
    padding: 1em;
    border-radius: 0.4em;
    margin-top: 3em;
}
.merit_support_item {
    margin-bottom: 0.8em;
    list-style: none;
    padding-left: 3.5rem;
    position: relative
}
.merit_support_item::before {
    content: "■";
    position: absolute;
    top: 0.1em;
    left: 0;
    color: #0099CE;
    font-size: 3.2rem;
}
.merit_support_item p {
    font-size: 2.2rem;
} 
.merit_support_item_title {
    font-weight: 600;
    font-size: 2.8rem;
}
/*-------------------------------------------
 .section_voice
  実際に働いている人　オーナーの声
-------------------------------------------*/
.section_voice {
    background: #FFFFC8;
}
.voice_item {
    font-size: 2.0rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    margin-top: 2.5em;
}
.voice_icon {
    width: 20%;
}
.voice_comment {
    width: 80%;
    padding-left: 2em;
}
.voice_bubble {
    background: #CDE6F4;
    border-radius: 0.4em;
    padding: 0.8em;
    position: relative;
}
.voice_bubble::after {
    content: "";
    position: absolute;
    bottom: 2em;
    left: -1.1em;
    border-width: 3em 1.8em 0 0;
    border-style: solid;
    border-color: #CDE6F4 transparent transparent transparent;
    transform: rotate(40deg);
}
.voice_bubble strong {
    color: #003670;
    font-weight: 600;
}
.voice_name {
    font-weight: 600;
    margin-top: 0.5em;
}

/*-------------------------------------------
 .section_simulation
  売上・利益シミュレーション
-------------------------------------------*/
.simulation_subheading {
    text-align: center;
    font-weight: 800;
    font-size: 3.6rem;
    color: #1E468C;
    margin-bottom: 1em;
}
.table01 {
    border: 1px solid #222;
    font-size: 1.8rem;
}
.table01_title {
    text-align: center;
    font-weight: 600;
    padding: 0.4em;
    background: #BBD4EF;
    border: 1px solid #222;
    border-bottom: none;
}
.table01_title span {
    font-weight: 400;
}
.table01 table {
    width: 100%;
}
.table01 th {
    background: #DFF2FC;
}
.table01 tr td:first-of-type{
    background: #DFF2FC;
}
.table01 th,
.table01 td {
    text-align: center;
    border: 1px solid #222;
    padding: 0.1em;
}
.table01 strong {
    color: #EB8C55;
    font-weight: 900;
    font-size: 2.4rem;
}

.simulation_cost_title {
    text-align: center;
    font-weight: 600;
    border-bottom: 1px solid #C8C8C8;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
    margin-top: 2em;
}

.simulation_cost_list {
    text-align: center;
    font-size: 1.8rem;
}

.simulation_cost_list li {
    list-style: none;
    display: inline-block;
    margin:  0 0.4em;
}
.simulation_cost_list li::before {
    content: "■";
    color: #EB8C55;
    padding-right: 0.1em;
}
.simulation_cost_total {
    font-weight: 600;
    color: #EB8C55;
    text-align: center;
}

/*-------------------------------------------
 .section_requirements
  加盟条件
-------------------------------------------*/
.section_requirements .container {
    padding-top: 0em;
}
.list_title.orange {
    color: #EB8C55;
    font-size: 4.2rem;
    font-weight: 600;
}
.cost_total td {
    font-weight: 600;  
}
.cost_total td:nth-of-type(2) {
    color: #EB8C55;
}

.case_note {
    font-size: 1.6rem;
    margin-top: 0.5em;
}
.simulation_simple_title {
    text-align: center;
    font-weight: 600;
    padding: 0.4em;
    background: #BBD4EF;
    margin-top: 2em;
    font-size: 1.8rem;
    margin-bottom: 1em;
}
.simulation_red {
    text-align: center;
    color: #E73562;
    font-weight: 600;
    font-size: 2.8rem;
    margin-top: 1em;
}
.simulation_note {
    font-size: 2.0rem;
    text-align: center;
}

/*-------------------------------------------
 .section_qa
  よくある質問
-------------------------------------------*/
.qa_intro {
    background: url("../img/qa_woman.jpg") no-repeat left center,
                url("../img/qa_men.jpg") no-repeat right center;
    background-size: contain, contain;
}
.qa_intro p {
    padding: 0.5em 0;
}
.qa_item {
    list-style: none;
    margin-top: 1.5em;
}
.qa_row {
    display: -webkit-box;
    display: flex;
}
.qa_question {
    -webkit-box-align: center;
    align-items: center;
    border-bottom: 1px solid #C8C8C8;
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
}
.qa_icon {
    margin-right: 0.5em;
    font-family: "Lexend", sans-serif;
    font-weight: 700;
}
.qa_question .qa_icon {
    font-size: 5.0rem;
    color: #8ACED4;
}

.qa_answer .qa_icon {
    font-size: 5.0rem;
    color: #F6AC19;
    margin-top: 0.2em;
}
.qa_question .qa_text {
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 150%;
}

.qa_answer .qa_text {
    font-size: 2.0rem;
}

/*-------------------------------------------
 .section_contact
  説明会・資料請求のご案内
-------------------------------------------*/
.section_contact {}

.form_title {
    text-align: center;
    font-weight: 600;
    background: #DDD;
    padding: 0.5em;
    margin-bottom: 1em;
    margin-top: 2em;
}

/*-------------------------------------------
 mail form
-------------------------------------------*/
#mail_form {
	margin: 2em 1em 1em 1em;
    font-size: 2.0rem;
}
#mail_form dl {
	border-bottom: 1px solid #F2F2F2;
}
#mail_form dl dt {
	width: 100%;
	text-align: left;
	overflow: hidden;
    font-size: 2.0rem;
	padding: 1.5rem 0 0 0;
	font-weight: 600;
}
#mail_form dl dd {
	width: 100%;
	padding: 0.5rem 0 1.5rem 0;
	text-align: left;
	border-top: none;
}
#mail_form dl dd p {
	font-size: 90%;
	color: #999;
	margin: 0.5em auto;
}
#mail_form .last-name {
    width: 49%;
    float: left;
}
#mail_form .first-name {
    width: 49%;
    float: right;
}
#mail_form .must {
    color: #FFF;
	background: #C10D23;
	font-size: 70%;
	line-height: 150%;
	padding: 0.3em 0.5em;
	margin-left: 1.0em;
	display: inline-block;
	font-weight: 500;
}
#mail_form .nomust {
    color: #666;
	background: #F2F2F2;
	font-size: 70%;
	line-height: 150%;
	padding: 0.3em 0.5em;
	margin-left: 1.0em;
	display: inline-block;
	border: 1px solid #CCC;
	font-weight: 500;
}
.yuubin {
	width: 150px!important;
	margin-bottom: 5px!important;
}
#mail_form input[type="text"],
#mail_form input[type="email"],
#mail_form input[type="tel"] {
	width: calc(100%);
	padding: 10px;
	border: 1px solid #666;
	background: #FFF;
	resize: vertical;
    font-size: 16px;
    border-radius: 0;
}
#mail_form input[type="text"]:focus,
#mail_form input[type="email"]:focus,
#mail_form input[type="tel"]:focus,
#mail_form textarea:focus {
	background: #ffffff;
}
#mail_form ul li input[type="radio"],
#mail_form ul li input[type="checkbox"] {
	margin-right: 10px;
    position: relative;
    top: -1px;
}
#mail_form ul li:first-child input[type="radio"],
#mail_form ul li:first-child input[type="checkbox"] {
	margin-top: 0px;
}
#mail_form select {
	font-size: 16px;
    height: 4.0rem;
	padding : 0 2%;
	border : 1px solid #666;
    width: 100%;
    display: inline;
    background: #FFF;
    border-radius: 0;
}
#mail_form .birth select {
    width: auto;
}
#mail_form textarea {
	display: block;
	width: calc(100% - 1.0rem);
	height: 200px;
	padding: 10px;
	resize: vertical;
	border: 1px solid #666;
	border-radius: 3px;
	background: #FFF;
	margin: 0 0.5rem;
    font-size: 16px;
}
#mail_form ul li label:hover {
	cursor: pointer;
}
#mail_form .select_contacttype li {
	display: block;
	margin: 0.4em 0;
}
#mail_form .select_contacttype {
	margin-left: 0.5em;
}
#mail_form input#postal + a {
	display: inline-block;
	padding: 5px 15px;
	border: 1px solid #46b8da;
	border-radius: 3px;
	background: #5bc0de;
	font-size: 100%;
	color: #ffffff;
	text-decoration: none;
}
#mail_form input#postal + a:hover {
	cursor: pointer;
	background: #31b0d5;
	border: 1px solid #269abc;
}
#submit_btn {
    margin: 2em auto 0 auto;
}
#submit_btn input[type="button"],
#submit_btn input[type="submit"]{
	padding: 1.0em 0.5em;
    max-width: 350px;
    width: 100%;
	background: #666;
	font-size: 2.2rem;
    font-weight: 500;
    color: #FFF;
	font-family: inherit;
	-webkit-appearance: none;
    display: block;
	border: 1px solid #111111;
	border: 3px;
    margin: 0 auto;
}
#submit_btn input[type="button"]:hover,
#submit_btn input[type="submit"]:hover {
	cursor: pointer;
	background: #333;
	color: #FFF;
}
.policy_info {
    text-align: center;
    margin-top: 2em;
}
.thanks_inner {
    padding: 1em 0;
    margin-top: 5vh;
}
.thanks_inner p {
    margin-bottom: 2em;
}
.error_messe {
    font-size: 16px;
}
table.formTable {
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;
	padding:0.8em;
    border: 1px solid #CCC;
}
table.formTable td {
	padding:0.8em;
    width: 70%;
    border: 1px solid #CCC;
}
.radio_list li {
    list-style: none;
    display: inline-block;
    margin-right: 2em;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.radio_list li:last-of-type {
    margin-right: 0;
}
.contact_header {
    background: #000;
    color: #FFF;
    font-size: 1.8rem;
    padding: 0.5em 0;
    text-align: center;
}
.tit03 {
    text-align: center;
    font-weight: 600;
    font-size: 2.8rem;
    margin-bottom: 1em;
    
}
/*-------------------------------------------

 footer

-------------------------------------------*/
small  {
    display: block;
    text-align: center;
    font-size: 1.6rem;
    color: #999;
    padding: 0.8em;
    letter-spacing: 0.1em;
}

/* ==========================================
 768px以下 
=========================================== */
@media screen and (max-width: 768px) {
    html {font-size: 57%;}
}
@media screen and (max-width: 550px) {
    html {font-size: 49%;}
}
@media screen and (max-width: 500px) {
    html {font-size: 46%;}
}
@media screen and (max-width: 450px) {
    html {font-size: 44%;}
}
@media screen and (max-width: 430px) {
    html {font-size: 42%;}
}
@media screen and (max-width: 390px) {
    html {font-size: 37%;}
}
@media screen and (max-width: 375px) {
    html {font-size: 35.5%;}
}
@media screen and (max-width: 360px) {
    html {font-size: 35%;}
}
