/* View Small */

html {
	min-height: 100vh;
	font-size: 21px !important;
}
body {
	min-width: 480px;
	min-height: 100vh;
	font-size: 21px !important;
}

.only_pc {
	display: none !important;
}
.only_mobile {
	display: block;
}
.only_mobile.inline {
	display: inline-block;
}

#header h1#header_logo {
	left: 33px;
}
#header h1#header_logo a {
	width: 45px;
	height: 45px;
}
.fixed #header h1#header_logo a {
	width: 180px;
	transition: all 250ms ease-in-out;
}
#menu_global {
	font-size: 1.05em;
}
#menu h2 {
	font-size: 1.05em;
}
.fixed #menu h2 a {
	width: 70px;
	height: 78px;
}
#header_try {
	top: 27px;
}
#menu_switch {
	right: 45px;
	top: 45px;
}
#menu_switch p {
	width: 36px;
	height: 19px;
}
.expanded #menu,
.fixed.expanded #menu {
	padding: 120px 65px 0 65px;
	background: rgba(0,0,0,0.9);
}
.expanded .switch_bar {
	background: #fff;
}
.inner {
	padding: 0 50px;
}
.columns .heading {
	float: none;
	margin-bottom: 3em;
	padding-right: 0;
	width: 100%;
}
.columns .contents {
	float: none;
	width: 100%;
}
.columns .heading h3.title {
	margin-bottom: 0.5em;
	font-size: 1.5em;
	line-height: 1.7em;
}
.columns .heading h3.title_en {
	font-size: 0.95em;
}
.more p a {
	padding: 1em 1.5em 1em 1.6em;
	font-size: 1em;
}
#faq_panes {
	padding: 0;
}
.faq_switch {
    top: 42px;
}
.faq_q {
	padding-right: 60px;
	padding-right: 70px;
	font-size: 1.45em;
}
.faq_contents,
.faq_a {
	margin: 2em 0 1em 0;
	padding: 120px 2rem 2rem 2rem !important;
	font-size: 1em;
	font-size: 1.15em;
}
.faq_contents::before,
.faq_a::before {
	left: 2rem;
	top: 36px;
	font-size: 1.9rem;
}

h3.title.mini {
	margin-bottom: 3.5em !important;
	font-size: 1em !important;
}
#footer {
	margin: 12em 0 6.5em 0;
}
#footer_announcement {
	text-align: left;
	font-size: 0.9em;
}
p.note,
.note li {
	font-size: 0.85em !important;
}
.post_pane .post_date {
	font-size: 0.9em;
}
.post_pane .post_tags li {
	margin-bottom: 0.8em;
}


/* Home */

body.page_home:not(.fixed) #menu {
	padding-top: 45px !important;
}
.page_home #waist .section {
	margin-bottom: 6.5em;
}
#home_hero {
	max-height: 1200px;
	height: 95vh;
}
#home_hero_copy h2 {
	padding-bottom: 0.75rem;
	font-size: 4.5em;
	line-height: 1.1em;
}
#home_hero_copy h3 {
	font-size: 1.3em;
	line-height: 1.6em;
}
#home_announcement .inner {
	padding: 0 45px;
}
#home_announcement_logo {
	margin: 0 auto 2.5em auto;
	width: 220px;
}
#home_announcement_pane {
	padding: 2.5em 2.5em;
}
#home_announcement_pane h3.title {
	line-height: 1.4em;
	font-size: 1.8em;
}
#home_announcement_pane h3.title .labeled {
	display: block;
}
#home_announcement_pane h3.title .label {
	margin-top: 0.85rem;
	margin-left: 0;
	padding: 0.8em 1em 0.6em 1em;
	font-size: 0.95rem;
}
#home_concept .heading {
	position: relative;
	top: 0;
}
#home_concept .contents_ja {
	margin-top: 0;
	margin-bottom: 1.75em;
    font-size: 1.85em;
    line-height: 1.8em;
}
#home_concept .contents_en {
	font-size: 0.95em;
	line-height: 1.8em;
}
#home_alliance li {
	margin: 0 8px 1em 8px;
	height: 55px;
}
.home_service .heading {
	position: relative;
	top: 0;
	margin-bottom: 2.5em;
}
.lirt .heading {
	float: none;
	padding-right: 0;
	padding-left: 0;
	text-align: left;
}
.home_service_image {
	position: relative;
	margin-right: 0;
	margin-left: -50px;
	width: calc(100% + 100px);
}
.lirt .home_service_image {
	margin-right: 0;
	margin-left: -50px;
	height: 100%;
}
.home_service_image h3 {
	right: 0;
	left: 50px;
	top: 270px;
	font-size: 1.8em;
		-ms-writing-mode: horizontal-tb;
	writing-mode: horizontal-tb;
}
.lirt .home_service_image h3 {
	left: 50px;
	right: auto;
}
.lirt .heading .more {
	float: none;
}


/* About */

#company_data {
	padding: 0;
}
#company_data dt {
	float: left;
	padding: 1em 0;
	width: 7em;
}
#company_data dt span {
	display: block;
	font-size: 0.8em;
}
#company_data dd {
	padding: 1em 0;
	padding-left: 8em;
}
#company_data dd .note {
	font-size: 0.95em;
	line-height: 1.6em;
}


/* Service */

.service_link {
    top: 50px;
    width: 70px;
    height: 70px;
}
.service_plan_pane {
	float: none !important;
	margin: 0 0 1.5em 0 !important;
	padding: 2.5em !important;
	width: 100% !important;
}
#service_output_list li {
    display: inline-block;
    margin: 0 0.35em 1em 0.35em;
    padding: 1.5em 2em;
    font-size: 0.95em;
}
#service_plan_options {
	padding: 2.5em 1.8em;
}
#service_plan_options dl {
	font-size: 0.85em;
}
.page_makeviz #service_plan_options dl {
	float: none !important;
	width: 100%;
}
.service_plan_price dt {
	font-size: 0.85em;
}
.service_plan_price dd .label {
	font-size: 0.9em;
}
.service_requirement_pane {
	margin: 0 0 1.5em 0 !important;
	width: 47.5% !important;
}
.service_requirement_pane:nth-of-type(odd) {
	clear: both;
}
.service_requirement_pane:nth-of-type(even) {
	float: right;
}
#service_notice_pane {
	width: 100%;
	padding: 3.5em 1em;
}
#service_notice_pane h5 {
	margin-bottom: 0.25em;
	font-size: 1em;
}
#service_notice_pane h5::after {
	margin: 0.75em 0;
	width: 30px;
}
#service_notice_pane ul {
	font-size: 0.9em;
}
#service_faq #makedoc_attention {
	margin-top: 3.5em;
	padding: 0;
}
#makedoc_attention_pane {
	padding: 150px 2.5em 2.5em 2.5em;
	background: #fafafa url(../images/common/icon_attention.png) no-repeat top 35px center / 80px;
}
.page_makedoc #service_plan_options dt {
	clear: both;
	float: none;
	padding-top: 0.85em;
	width: 100%;
	font-weight: 500;
	font-size: 1.1em;
	border-bottom: none;
}
.page_makedoc #service_plan_options dd {
	float: none;
	padding: 0;
	padding-bottom: 0.85em;
	width: 100%;
}
.service_plan_pane li {
	font-size: 0.85em;
	line-height: 1.4em;
}


/* Gallery */

.gallery_list_pane {
	float: none !important;
	margin-bottom: 2.5em;
	width: 100%;
	min-height: 0;
	border-radius: 15px;
	overflow: hidden;
	background: #e6e6e6;
	background: #fff;
}
.gallery_list_arrows {
	display: none;
}
.gallery_list_icons {
	height: 60px !important;
}
.gallery_list_icons span {
	margin-left: 15px;
	width: 60px;
}
.gslide-media {
	padding: 0;
}
.glightbox-clean .gclose {
	width: 45px;
	height: 45px;
	top: 35px;
	right: 35px;
}
.glightbox-clean .gclose svg {
  width: 33px;
}


/* FAQ */

.faq_link {
    top: 54px;
    width: 70px;
    height: 70px;
}
#faq_single .post_pane {
	padding: 0;
}


/* News */

.news_contents {
	padding: 2.5rem 2rem;
}


/* Column */

.column_contents {
	padding: 2.5rem 2rem;
}
.column_contents p {
	font-size: 1rem;
	margin: 1.5rem 0;
}


/* Contact */

#contact_temp h3 {
	font-size: 3em;
	line-height: 1em;
}