@charset "UTF-8";
/*
Theme Name: IFing
Theme URI: http://www.ifing.com/
Description: IFing 専用テーマです。
Author: EMALICA
Author URI: http://www.emalica.com/
Version: 1.0
*/
article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section{display:block}a,hr{padding:0}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0;font-weight:400}ins,mark{background-color:#ff9;color:#000}body{line-height:1}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;font-size:100%;vertical-align:baseline;background:0 0}ins{text-decoration:none}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0}input,select{vertical-align:middle}img.bgmaximage{position:fixed!important}
.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;  /* Preferred icon size */
    display: inline-flex;
    vertical-align: middle;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;

    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;

    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;

    /* Support for IE. */
    font-feature-settings: 'liga';
}
/*
共通
*************************************************/
* { box-sizing:  border-box; }
html {
	width: 100%;
	min-height: 100%;
	margin: 0;
	padding: 0;
	-webkit-overflow-scrolling: touch;
	font-size: 62.5%;
    font-family:ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, MS PGothic, sans-serif;
    font-family: 'Noto Serif JP', serif;
    font-family: 'Noto Sans JP', sans-serif;
    background-color: #383838;
}
body {
	width: 100%;
	min-height: 100%;
	font-size: 1.4em;
	line-height: 1.5;
	margin: 0;
	padding: 0;
	background-color: #fff;
	color: #383838;
    -webkit-text-size-adjust: 100%;
}
h1, h2, h3, h4 {
	margin: 1em 0 0 0;
    letter-spacing: .1em;
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child {
	margin: 0;
}
h1 { font-size: 2.0rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.6rem; }
h4 { font-size: 1.4rem; }
@media(min-width: 1024px) {
    h1 { font-size: 3.2rem; }
    h2 { font-size: 2.6rem; }
    h3 { font-size: 1.8rem; }
}
p { margin: 1em 0; }
p:first-child {
    margin: 0;
}
strong {
	font-weight: bold;
}
ul, ol {
	margin: 1em 0 0 1.5em;
}
ul li,
ol li {
	line-height: 1.5;
    margin: 1em 0 0 0;
}
ul li:first-child,
ol li:first-child {
    margin: 0;
}
img {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
	line-height: 0;
}
table {
	width: 100%;
	margin: 1em 0;
	text-align: left;
}
@media(min-width: 768px){
    table {}
}
table th {}
table td {}
a:link, a:visited {
	color: #383838;
	text-decoration: none;
    transition: .2s;
}
a:hover {
    color: #383838;
}
hr {}
#wrapper {
    background-color: #fff;
    padding: 0;
}
main {
	min-height: 100%;
	display: block;
}
.row {
	overflow: hidden;
    padding: 0;
	width: 100%;
}
.col,
.col-2,
.col-3 {
    padding: 16px;
    margin: 0;
}
@media(min-width: 768px) {
    .col-2,
    .col-3 {
        display: flex;
    }
}
@media(min-width: 1024px) {
    .col,
    .col-2,
    .col-3 {
        width: 1024px;
        margin: 0 auto;
    }
}
.table-wrap {
	margin: 16px 0 0 0;
	overflow: auto;
	white-space: nowrap;
}
.table-wrap::-webkit-scrollbar {
	height: 5px;
}
.table-wrap::-webkit-scrollbar-track {
	background: #F1F1F1;
}
.table-wrap::-webkit-scrollbar-thumb {
	background: #BCBCBC;
}
/* Lettering.js用
***************************************************/
.lettering-title {
    display: block;
}
h1 .lettering-title  { font-size: 2.0rem; }
h2 .lettering-title  { font-size: 1.8rem; }
h3 .lettering-title  { font-size: 1.6rem; }
h4 .lettering-title  { font-size: 1.4rem; }
@media(min-width: 1024px) {
    h1 .lettering-title  { font-size: 3.2rem; }
    h2 .lettering-title  { font-size: 2.6rem; }
    h3 .lettering-title  { font-size: 1.8rem; }
}
.word1 .char1,
.word1 .char2 {
    font-size: 130%;
}
/* 404
***************************************************/
.error404 {
	min-height: 100%;
	background-image: url(./images/error404.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	text-align: center;
}

@media (min-width: 1025px) {
	.error404 {
		background-position: center top;
		background-size: cover;
	}
}
/* ifing-beauty
***************************************************/
#ifing-beauty {
    background-color: #261e1c;
    background-image: url("./images/banner-bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    height: 128px;
}
#ifing-beauty .col {
    padding: 16px;
}
#ifing-beauty a {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(38,30,28,.6);
    height: 96px;
    width: 100%;
    color: #fff;
    font-size: 1.8rem;
}
#ifing-beauty a:hover {
    background-color: rgba(38,30,28,.8);
}
#ifing-beauty a img {
    width: 50vw;
    max-width: calc(100% / 3);
}
@media(min-width: 768px) {
    #ifing-beauty a {
        font-size: 2.4rem;
    }
}
/* ヘッダー
***************************************************/
#global-header {
    background-color: #383838;
    position: relative;
}
#global-header.row {
    overflow: visible;
}
#global-header .col {
    padding: 0;
    height: 64px;
    display: flex;
    justify-content: space-between;
}
#global-header .col >:first-child {
    margin-right: auto;
}
#global-header h1#logo {
    line-height: 0;
}
#global-header h1#logo a {
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 64px;
    padding: 0 16px;
}
#global-header h1#logo a img {
    height: 24px;
    object-fit: cover;
}
#global-header #hamburger-btn,
#global-header #contact-btn {
    height: 48px;
    width: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 8px;
    z-index: 999;
    color: #fff;
}
#global-header #hamburger-btn {
    right: 8px;
}
#global-header #contact-btn {}
#global-header #hamburger-btn span,
#global-header #contact-btn span {
    font-size: 32px;
}
ul.link {
    display: none;
    list-style: none;
}
@media(min-width: 1024px){
    #global-header h1#logo {
    }
    #global-header #hamburger-btn,
    #global-header #contact-btn {
        display: none;
    }
    ul.link {
        display: flex;
        position: absolute;
        top: 0;
        right: 16px;
    }
    ul.link li a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 40px;
        padding: 14px 12px 10px 12px;
        border: 1px solid #c3c6c7;
        background-color: #fff;
    }
    ul.link li a:hover {
        background-color: #f1f1f1;
    }
    ul.link li a img {
        height: 100%;
        object-fit: contain;
    }
    #sub-header ul.link {
        top: -4px;
        z-index: 999;
    }
    #sub-header ul.link li a {
    }
    #sub-header ul.link li a:hover {
        background-color: #eee;
    }
    #global-header h1#logo-brand a img {
        height: 44px;
    }
}
/* グローバルナビ
***************************************************/
#global-nav {
    display: none;
}
@media(min-width: 1024px) {
    #global-nav {
        display: block;
        margin: 0;
        padding: 0;
        height: 64px;
    }
    #global-nav ul {
        display: flex;
        margin: 0;
        padding: 0;
    }
    #global-nav ul li {
        margin: 0;
    }
    #global-nav ul li.tokio,
    #global-nav ul li.like,
    #global-nav ul li.asia {
    }
    #global-nav ul li a {
        text-decoration: none;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 64px;
        padding: 0 16px;
        letter-spacing: .1em;
        text-align: center;
        color: #ccc;
    }
    #global-nav ul li a:hover {
        color: #fff;
    }
    #global-nav ul li ul {
        display: none;
        position: absolute;
        transition: all .2s ease;
        top: 64px;
        left: 0;
        width: 100%;
        padding-left: calc( ( 100vw - 1024px ) / 2 + 128px );
        padding-right: calc( ( 100vw - 1024px ) / 2 );
        visibility: hidden;
        opacity: 0;
        background-image: url("./images/diagonal.png");
    }
    #global-nav ul li.tokio ul {
        background-color: #c3c6c7;
    }
    #global-nav ul li.like ul {
        background-color: #fbdf50;
    }
    #global-nav ul li.asia ul {
        background-color: #000;
    }
    #global-nav ul li:hover ul {
        visibility: visible;
        opacity: 1;
    }
    #global-nav ul li ul li {
        width: auto;
    }
    #global-nav ul li ul li a {
        color: #383838;
        padding: 0 16px;
    }
    #global-nav ul li.asia ul li a {
        color: #ccc;
    }
    #global-nav ul li ul li a:hover {
        color: #fff;
    }
    #global-nav ul li.current-page-ancestor > a,
    #global-nav ul li.current-menu-item > a,
    #global-nav ul li.current_page_parent > a,
    #global-nav ul li.current-menu-related > a {
        color: #fff;
    }
    #global-nav ul li.current-page-ancestor > a:hover,
    #global-nav ul li.current-menu-item > a:hover,
    #global-nav ul li.current_page_parent > a:hover,
    #global-nav ul li.current-menu-related > a:hover {
        color: #fff;    
    }
    #global-nav ul li ul li.current-menu-item > a,
    #global-nav ul li ul li.current_page_parent > a,
    #global-nav ul li ul li.current-menu-related > a {
        color: #fff;    
    }
    #global-nav ul li ul li.current-menu-item > a:hover,
    #global-nav ul li ul li.current_page_parent > a:hover,
    #global-nav ul li ul li.current-menu-related > a:hover {
        color: #fff;    
    }
    #global-nav ul li ul li:last-child {}
}
/* ページナビ
***************************************************/
#page-nav {
    position: relative;
    z-index: 999;
    width: 100%;
    height: 64px;
    background-color: rgba(195,198,199,.8);
    background-image: url("./images/diagonal.png");
    display: flex;
    justify-content: center;
}
#page-nav.fixed {
    position: fixed;
    top: 0;
    left: 0;
}
#page-nav h2 {}
#page-nav h2 a {
    display: flex;
    align-items: center;
    height: 64px;
    padding: 0 16px;
}
#page-nav h2 img {
    height: 24px;
    object-fit: cover;
}
#page-nav nav {
    position: absolute;
    top: 64px;
    left: 0;
    width: 100%;
    padding: 0;
    margin: 0;
    background-color: rgba(195,198,199,.8);
    background-image: url("./images/diagonal.png");
    transition: .5s;
    opacity: 0;
}
#page-nav nav.active {
    opacity: 1;
    display: block;
}
#page-nav ul {
    margin: 0;
    padding: 0;
    width: 100%;
}
#page-nav ul li {
    margin: 0;
    padding: 0;
}
#page-nav ul li a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 16px;
}
#page-nav ul li ul {
    margin: 0 0 0 1.5em;
}
#page-hamburger-btn {
    position: absolute;
    top: 0;
    left: 0;
    height: 64px;
    width: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#page-hamburger-btn i {
    transition: .5s;
}
#page-hamburger-btn.active i {
    transform: rotate(90deg);
}
#page-nav #relation-link {
    margin-left: auto;
}
#page-nav #relation-link a {
    background-color: rgba(255,255,255,.6);
    transition: .2s;
    display: flex;
    align-items: center;
    justify-content: center;
}
#page-nav #relation-link a:hover {
    background-color: rgba(255,255,255,1);
}
#page-nav #relation-link a img {
    object-fit: cover;
    height: 16px;
}
@media(min-width: 1024px) {
    #page-hamburger-btn {
        display: none;
    }
    #page-nav {
        margin: 0;
        padding: 0;
        padding-left: calc( ( 100vw - 1024px ) / 2 );
        padding-right: calc( ( 100vw - 1024px ) / 2 );
        justify-content: flex-start;
        width: 100%;
    }
    #page-nav h2 {
        margin-right: 32px;
        width: 200px;
    }
    #page-nav nav {
        opacity: 1;
        position: static;
        width: 100%;
        background-color: rgba(195,198,199,0);
        background-image: url();
    }
    #page-nav ul {
        display: flex;
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #page-nav ul li {
        margin: 0;
        position: relative;
    }
    #page-nav ul li a {
        text-decoration: none;
        display: flex;
        align-items: center;
        height: 64px;
        padding: 0 16px;
        letter-spacing: .1em;
        color: #383838;
    }
    #page-nav ul li a:hover {
        color: #fff;
    }
    #page-nav ul li > ul {
        position: absolute;
        display: block;
        transition: all .2s ease;
        top: 64px;
        left: 0;
        height: auto;
        width: auto;
        visibility: hidden;
        opacity: 0;
        white-space: nowrap;
        padding: 8px 0;
        background-color: rgba(195,198,199,.8);
        background-image: url("./images/diagonal.png");
        margin: 0;
    }
    #page-nav ul li:hover ul {
        visibility: visible;
        opacity: 1;
    }
    #page-nav ul li ul li {
    }
    #page-nav ul li ul li a {
        color: #383838;
        padding: 0 16px;
        height: 44px;
    }
    #page-nav ul li.asia ul li a {
        color: #ccc;
    }
    #page-nav ul li ul li a:hover {
        color: #fff;
    }
    #page-nav ul li.current-page-ancestor > a,
    #page-nav ul li.current-menu-item > a,
    #page-nav ul li.current_page_parent > a,
    #page-nav ul li.current-menu-related > a {
        color: #fff;
    }
    #page-nav ul li.current-page-ancestor > a:hover,
    #page-nav ul li.current-menu-item > a:hover,
    #page-nav ul li.current_page_parent > a:hover,
    #page-nav ul li.current-menu-related > a:hover {
        color: #fff;    
    }
    #page-nav ul li ul li.current-menu-item > a,
    #page-nav ul li ul li.current_page_parent > a,
    #page-nav ul li ul li.current-menu-related > a {
        color: #fff;    
    }
    #page-nav ul li ul li.current-menu-item > a:hover,
    #page-nav ul li ul li.current_page_parent > a:hover,
    #page-nav ul li ul li.current-menu-related > a:hover {
        color: #fff;    
    }
    #page-nav ul li ul li:last-child {}
}
/* スライダー
***************************************************/
#slider {
    position: relative;
    z-index: 888;
}
#slider .col {
    padding: 0;
}
#slider ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#slider ul li {
    margin: 0;
    padding: 0;
}
/* スライドパーツ
***************************************************/
.btn-next,
.btn-prev {
    display: block;
    z-index: 998;
    position: absolute;
    top: 50%;
    right: 0;
    bottom: 0;
    left: 0;
    cursor: pointer;
    color: #c3c4c7;
    transition: .2s;
}
.btn-next:hover,
.btn-prev:hover {
    color: #383838;
}
.btn-next {
    left: auto;
    right: 16px;
}
.btn-prev {
    right: auto;
    left: 16px;
}
.slide-dots {
    text-align: center;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.slide-dots li {
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
}
.slide-dots li button {
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    text-indent: -9999px;
    cursor: pointer;
}
.slide-dots li button::before {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    font-family: "Material Icons";
    content: "remove";
    text-indent: 0px;
    position: absolute;
    top: 0;
    left: 0;
    color: #c3c4c7;
    font-size: 44px;
}
.slide-dots li.slick-active button::before {
    color: #383838;
}
@media(min-width: 1080px) {
    .btn-next {
        right: -32px;
    }
    .btn-prev {
        left: -32px;
    }    
}
#tokio-inkarami .btn-next,
#tokio-inkarami .btn-prev {
    color: #fff;
}
#tokio-inkarami .btn-next:hover,
#tokio-inkarami .btn-prev:hover {
    color: #fff;
}
#tokio-inkarami .slide-dots {
    margin: 16px 0 0 0;
}
#tokio-inkarami .slide-dots li {
    width: 24px;
    height: 24px;
}
#tokio-inkarami .slide-dots li button {
    width: 24px;
    height: 24px;
}
#tokio-inkarami .slide-dots li button::before {
    width: 24px;
    height: 24px;
    font-size: 12px;
    font-family: "Material Icons";
    content: "fiber_manual_record";
    color: #c3c4c7;
}
#tokio-inkarami .slide-dots li.slick-active button::before {
    color: #fff;
}
/* ASIA
***************************************************/
#asia #overview {
    font-size: 4vmin;
}
#asia #overview h2 {
    font-size: 4.5vmin;
    font-family: 'Noto Serif JP', serif;
}
#asia-speed-inpitari-system-treatment #overview {
    background-color: #fff;
}
/* フッター
***************************************************/
#global-footer {
    background: #383838;
    color: #c3c6c7;
    padding: 32px 0;
    margin: 64px 0 0 0;
}
#global-footer .col {
    padding: 0;
}
#global-footer dl dt,
#global-footer dl dd {
    margin: 1em 0;
    letter-spacing: .2em;
    font-size: 1.2rem;
}
#copyright {
    font-size: 1.2rem;
    text-align: center;
    margin: 0;
}
/* フッターナビ
***************************************************/
#footer-nav {
    font-size: 1.2rem;
}
#footer-nav ul {
    margin: 0;
}
#footer-nav ul li {
    margin: 0;
}
#footer-nav ul li a {
    position: relative;
    box-sizing: border-box;
    text-decoration: none;
    color: #fff;
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 0 8px 0 32px;
    background-color: rgba(255,255,255,.1);
    border-top: 1px solid rgba(255,255,255,.1);
}
#footer-nav .sub-menu {
    display: flex;
    flex-wrap: wrap;
}
#footer-nav .sub-menu li {
    width: 50%;
    flex-grow: 1;
}
#footer-nav .sub-menu a {
    color: #c1c2c4;
    background-color: rgba(255,255,255,0);
}
#footer-nav a::before {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Material Icons";
    content: "keyboard_arrow_right";
    width: 32px;
}
#footer-nav .sub-menu a::before {
    content: "remove";
}
#footer-nav a::before {
    height: 100%;
}
@media( min-width: 1024px ) {
    #footer-nav ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 100%;
        margin: 32px 0;
    }
    #footer-nav ul li:first-child {
        width: 100%;
    }
    #footer-nav ul li a {
        min-height: 32px;
        background-color: rgba(255,255,255,0);
        border-top: 1px solid rgba(255,255,255,.0);
    }
    #footer-nav ul li ul {
        flex-direction: column;
        margin: 0;
    }
    #footer-nav ul li ul li {
        float: none;
    }
    #footer-nav .sub-menu li {
        width: 100%;
    }
}
/* 前・一覧・次
***************************************************/
#pagenation {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 32px 0;
    list-style: none;
}
#pagenation li {
    width: calc( 100% / 2 - 4px );
    margin: 4px 0;
}
#pagenation li a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    height: 48px;
    border: 1px solid #000;
    background-color: #fff;
    color: #000;
}
#pagenation li a:hover {
    background-color: #000;
    color: #fff;
}
#pagenation li.all {
    margin: 4px auto;
}
#pagenation li.all a {
    background-color: #000;
    color: #fff;
}
#pagenation li.all a:hover {
    background-color: #fff;
    color: #000;
}
@media(min-width: 768px) {
    #pagenation li {
        width: calc( 100% / 3 - 32px );
    }
    #pagenation li.prev {
        order: 1;
    }
    #pagenation li.next {
        order: 3;
    }
    #pagenation li.all {
        order: 2;
    }
}
/* プレスリリース
***************************************************/
#release h2 {
    border-bottom: 1px dashed #a8a8a8;
    padding: 0 0 16px 0;
}
#release section {
    display: flex;
    width: 100%;
    margin: 0;
    padding: 1em 0 0 0;
    border-bottom: 1px dashed #a8a8a8;
}
#home #release section {
    padding: 1em 0;
}
#release section:first-child {}
#release section h2,
#release section h3 {
    order: 2;
    font-size: 1.4rem;
    margin: 0;
}
#release section a:hover {
    text-decoration: underline;
}
#release section .date {
    order: 1;
    margin: 0 1em 0 0;
    color: #a8a8a8;
}
.view-all {
    width: 100%;
    height: 44px;
    border: 1px solid #a8a8a8;
    display: flex;
    align-items: center;
    justify-content: center;
}
.view-all:hover {
    background-color: #e0e0e0;
}
@media(min-width: 768px) {
    #release .content-left {
        padding-right: 32px;
    }
    #release .content-right {
        padding-left: 32px;
    }
}
#press #release .col-2 {
    flex-wrap: wrap;
    justify-content: space-between;
}
#press #release section {
    flex-basis: calc( 100% / 2 - 16px );
}
#press #release section h2 {
    border: none;
}
/* プレスリリース（記事）
***************************************************/
#release article {
    padding: 32px 0 0 0;
}
#release article:first-child {
    margin: 0;
}
#release article header {
    border-bottom: 1px solid #383838;
    display: flex;
}
#release article header h1 {
    font-size: 1.8rem;
    font-weight: normal;
    width: 100%;
    padding: 0 0 8px 0;
}
#release article ul.date {
    list-style: none;
    margin: 0;
    padding: 0;
    float: right;
    font-size: 1.2rem;
}
#release article ul.date li {
    margin: 0;
    padding: 0;
}
#release article aside {
    float: left;
}
#release article aside p {
    margin: 0 0 0 auto;
}
#release article aside ul.post-categories {
    list-style: none;
    display: flex;
    padding: 0;
    margin: 0;
}
#release article aside ul.post-categories li {
    margin: 0 4px 0 0;
    padding: 0;
}
#release article aside ul.post-categories li a {
    background-color: #383838;
    color: #fff;
    padding: 0 12px;
    font-size: 1rem;
    display: flex;
    align-items: center;
    height: 24px;
    line-height: 1;
}
#release article .content {
    margin: 64px 0 32px 0;
    width: 100%;
}
@media(min-width: 768px) {
    #release article header h1 {
        width: 60rem;
        margin: 0 auto;
    }
    #release article .content {
        width: 60rem;
        margin: 64px auto 32px auto;
    }
}
@media(min-width: 1024px) {
}
/* ページリスト
***************************************************/
#list-page .col {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#list-page .col > h2 {
    width: 100%;
    display: block;
    text-align: center;
    letter-spacing: .2em;
    color: #c3c6c7;
    margin: 0 0 16px 0;
}
#list-page .col > h2 span {
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
}
#list-page section {
    background-size: cover;
    background-position: center;
    position: relative;
    margin: 8px 0;
    border: 1px solid #c3c6c7;
    width: calc( 100% / 2 - 8px);
}
#list-page section::before {
    content:"";
    display: block;
    padding-top: 61%;
}
#list-page section a {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(255,255,255,.8);
    transition: .2s;
    display: flex;
    justify-content: center;
    align-items: center;
}
#list-page section a h2 {
    width: calc( 100% /3 );
}
#list-page section a h2 img {
}
@media( min-width: 768px ) {
    #list-page .col {
    }
    #list-page section {
        width: calc( 100% / 3 - 16px );
    }
    #list-page section a:hover {
        background-color: rgba(255,255,255,1);
    }
}
/* イントロ
***************************************************/
#intro .col {
    text-align: center;
}
#intro.intro-bg .col {}
#intro.intro-img .col {
    padding: 0;
}
#intro h1 {
    margin: 0;
    padding: 0;
    font-weight: normal;
    letter-spacing: .2em;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
}
#intro h1 img {
    margin: 0;
    padding: 0;
    width: 100%;
}
#intro #overview {
    width: 100%;
    line-height: 2;
    margin: 32px 0;
    padding: 16px;
}
#intro #overview h2 {
    margin: 32px 0;
}
#asia-speed-inpitari-system-treatment #intro {
    background-color: #000;
}
/* コンテンツ
***************************************************/
#contents .row {
    margin: 0;
}
#contents .col {
    position: relative;
    overflow: hidden;
    background-repeat: no-repeat;
}
.col-2 .content-left,
.col-2 .content-right {
    padding: 16px 0;
}
main.like * {
    color: #111c4e;
}
@media(min-width: 768px) {
    #contents .col {}
    #contents .col-2 .content-left {
        padding-right: 32px;
    }
    #contents .col-2 .content-right {
        padding-left: 32px;
    }
}
/* LINE UP
***************************************************/
#list .items {
    display: flex;
    flex-wrap: wrap;
}
#list .items .item {
    width: calc( 100% / 2 );
}
#list .items .item a {}
#list .items .item a {}
@media(min-width: 768px) {
    #list .items .item {
        width: calc( 100% / 3 );
    }
}
@media(min-width: 1024px) {
    #list .items .item {
        width: calc( 100% / 4 );
    }
}
/* ディーラー
***************************************************/
#dealer header {
    width: 100%;
    font-size: 1.2rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
}
#dealer header h2 {
    display: flex;
    min-height: 44px;
    justify-content: center;
    align-items: center;
    border: 1px solid #383838;
    font-size: 1.4rem;
    flex-basis: 100%;
    background-color: #f1f1f1;
    cursor: pointer;
}
#dealer header::after {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    width: 44px;
    height: 44px;
    font-family: 'Material Icons';
    content: "add";
    transition: .2s;
    font-size: 1.6rem;
}
#dealer header.active::after {
    transform: rotate(45deg);
}
#dealer header p {
    margin: 0;
}
#dealer header ul {
    list-style: none;
    margin: 0;
    padding: 0;
    line-height: 1;
}
#dealer header ul li {
    display: inline-block;
    margin: 0;
    padding: 0;
}
#dealer header ul li::after {
    content: "\00a0/\00a0";
}
#dealer header ul li:last-child::after {
    content: "";
}
#dealer .item .col {
    padding: 16px;
}
#dealer .branch {
    display: none;
}
#dealer table thead {
    display: none;
}
#dealer table th,
#dealer table td {
    display: block;
    border: none;
    padding: 0;
}
#dealer table td {
    margin-left: 1.5em;
}
#dealer table td.name {
    margin: 1em 0 0 0;
    font-size: 1.6rem;
}
#dealer table td.state {
    float: left;
}
#dealer table td.name::before {
    content: 'business';
    font-family: 'Material Icons';
    margin-right: .5em;
}
#dealer table td.tel::before {
    content: 'tel.';
}
#dealer table td.fax::before {
    content: 'fax.';
}
@media(min-width: 1024px) {
    #dealer header {
        text-align: center;
    }
    #dealer header::after {
        transform: rotate(45deg);
    }
    #dealer header.active::after {
        transform: rotate(0);
    }
    #dealer header h2 {
        width: 50%;
        margin: 0 auto;
        font-size: 1.8rem;
    }
    #dealer header p {
        float: none;
    }
    #dealer .branch {
        display: block;
    }
    #dealer table {
        border: none;
        width: 100%;
    }
    #dealer table thead {
        display: table-header-group;
        color: #c3c4c7;
    }
    #dealer table th,
    #dealer table td {
        display: table-cell;
        border: none;
        padding: .5em 0;
    }
    #dealer table th {
    }
    #dealer table td.state {
        float: none;
    }
    #dealer table td.name {
        font-size: 1.4rem;
        width: 16%;
    }
    #dealer table td.zip {
        width: 10%;
    }
    #dealer table td.state {
        width: 7%;
    }
    #dealer table td.address {
        width: 45%
    }
    #dealer table td.tel,
    #dealer table td.fax, {
        width: 7%;
    }
    #dealer table td.name::before,
    #dealer table td.tel::before,
    #dealer table td.fax::before {
        display: none;
    }
}
/* コンセプト
***************************************************/
#concept #overview {
    font-size: 1.6rem;
}
#concept #overview h2 {
    font-size: 2.4rem;
    font-family: 'Noto Serif JP', serif;    
    word-break: keep-all;
}
/* 会社情報
***************************************************/
#company .col,
#company .col-2,
#company .col-3 {
    border-top: 1px solid #ccc;
}
#company #contents .row:first-child .col-2 {
    border: none;
}
#company .content-left h2 {
    margin: 0 0 1em 0;
}
@media(min-width: 768px) {
    #company .content-left {
        flex-basis: 20%;
    }
    #company .content-right {
        flex-basis: 80%;
    }
}
/* 概要
***************************************************/
.profile dl dt {
    clear: both;
    float: left;
    padding: .5em 0;
}
.profile dl dd {
    padding: .5em 0 .5em 8em;
}
/* 沿革
***************************************************/
.history h2 {}
.history section {
    margin: 1em 0 2em 0;
}
.history section:last-child {
    margin: 0;
}
.history section h3 {
    font-size: 1.4rem;
    float: left;
    width: 4em;
}
.history section dl {
    padding: 0 0 0 4em;
}
.history section dl dt {
    float: left;
    text-align: right;
    width: 3em;
}
.history section dl dd {
    padding: 0 0 0 5em;
    text-align: left;
}
.history section dl dt.none {
    opacity: 0;
}
@media(min-width: 1024px) {
    .history section {
    }
}
/* VIEW MORE
***************************************************/
.button {
    width: 100%;
    height: 44px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #c3c6c7;
    color: #c3c6c7;
    cursor: pointer;
}
/* .stylist
***************************************************/
.stylists {
    font-size: 1rem;
    background-color: #383838;
    color: #fff;
    position: relative;
}
.stylists .col {
    padding: 16px 0 0 0;
}
.stylists ul {
    margin: 0;
    list-style: none;
}
.stylists .stylist .wrap {
    display: flex;
    flex-direction: column;
    padding: 0px 16px;
}
.stylists .stylist h2 {
    font-size: 1.2rem;
    order: 2;
    min-height: 4.5em;
    margin: 1em 0 0 0;
}
.stylists .stylist h2 .salon {}
.stylists .stylist h2 .area::before {
    content: " / ";
}
.stylists .stylist h2 .place::before {
    content: " ";.
}
.stylists .stylist h2 .name::before {
    content: " ";
}
.stylists .stylist h2 .name {
    display: block;
}
.stylists .stylist h2 .name::after {
    content: " 氏";
}
.stylists .stylist .image {
    order: 1;
}
.stylists .stylist .content {
    order: 3;
}
/* ページリンク
***************************************************/
.pages {
    background-color: #383838;
}
.pages .page-link-title {
    width: 100%;
    padding: 0 8px;
    margin: 0 0 8px 0;
    color: #fff;
    letter-spacing: .2em;
    font-size: 1.2rem;
}
.pages .page-link-title span {
    color: #fff;
}
.pages .page-link-title .word3 {}
.pages .col-2,
.pages .col-3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 32px 8px;
}
.pages .item {
    width: calc( 100% / 2 - 16px );
    margin: 8px;
}
.pages .item a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    width: 100%;
}
.pages .item a h2,
.pages .item a h3 {
    order: 3;
    text-align: center;
    font-size: 1.2rem;
    text-align: left;
    margin: 0;
    color: #fff;
    background-color: #383838;
    white-space: nowrap;
    overflow: hidden;
}
.pages .item a .logo,
.pages .item a .image {
    width: 100%;
    flex-grow: 2;
    background-color: #fff;
    display: flex;
    align-items: center;
    transition: .2s;
    position: relative;
}
.pages .item a .logo img,
.pages .item a .image img {
    object-fit: contain;
    box-sizing: border-box;
    padding: 20%;
}
.pages .item a .image img {
    padding: 0%;
}
.pages .item a .logo::after,
.pages .item a .image::after {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    content: 'radio_button_unchecked';
    font-family: 'Material Icons';
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: .2s;
    background-color: rgba(0,0,0,.5);
    color: #fff;
    font-size: 48px;
}
@media(min-width: 768px) {
    .pages .col-2 .item {
        margin: 32px 8px;
    }
    .pages .col-3 .item {
        width: calc( 100% / 3 - 32px );
        margin: 16px;
    }
    .pages .item a:hover .logo img,
    .pages .item a:hover .image img {
    }
    .pages .item a:hover .logo::after,
    .pages .item a:hover .image::after {
        opacity: 1;
    }
}
/* .products
***************************************************/
.products .col-2,
.products .col-3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 32px 0;
}
.products .item {
    width: calc( 100% - 32px );
    margin: 32px 16px;
    display: flex;
    flex-direction: column;
}
.products .item h2 {
    order: 3;
    text-align: center;
    font-size: 1.8rem;
    text-align: left;
    margin: 16px 0 0 0;
}
.products .item h2 span {
    display: block;
    font-size: 1.2rem;
}
.products .item .logo img {
    width: 100%;
    object-fit: contain;
    order: 1;
}
.products .item .image {
    text-align: center;
    margin: 32px 0 0 0;
    order: 2;
}
.products .item .image img {
    width: 75%;
}
.products .item .content {
    order: 4;
    border-top: 1px solid #999;
    margin: 16px 0 0 0;
    padding: 16px 0 0 0;
}
.products .item .content h3 {
    font-size: 1.6rem;
}
.products .item .button {
    order: 5;
}
.products .item .detail {
    order: 6;
}
.products .item .detail .sub-content {
    font-weight: normal;
    font-size: 1.2rem;
}
.products .item .detail .sub-content p {
    margin: 0;
}
.products .item .detail .ingredients {
    margin: 1em 0 0 0;
    display: flex;
    flex-wrap: wrap;
    font-size: 1.2rem;
}
.products .item .detail .ingredients li {
    display: inline;
    margin: 0 1em 0 0;
}
.products .item .detail .ingredients li::before {
    content: 'lens';
    font-family: 'Material Icons';
}
@media(min-width: 768px) {
    .products .col-2 .item,
    .products .col-3 .item {
        width: calc( 100% / 2 - 64px );
        margin: 32px;
    }
}
@media(min-width: 1024px) {
    .products .col {}
    .products .col-3 .item {
        width: calc( 100% / 3 - 32px );
        margin: 32px 16px;
    }
}
/* TOKIO INKARAMI
***************************************************/
#tokio-inkarami #intro #overview {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.8rem;
}
#tokio-inkarami #feature {
}
#tokio-inkarami #feature .col div {
    text-align: center;
    padding: 16px;
    margin: 48px 0;
    position: relative;
    color: #fff;
}
#tokio-inkarami #feature .col div:nth-of-type(1) {
    margin: 0;
    background-color: #B5ADA5;
}
#tokio-inkarami #feature .col div:nth-of-type(2) {
    background-color: #8C827A;
}
#tokio-inkarami #feature .col div:nth-of-type(3) {
    background-color: #7A6E66;
}
#tokio-inkarami #feature .col div:nth-of-type(4) {
    background-color: #382F2D;
    margin: 80px 0;
}
#tokio-inkarami #feature .col div::before {
    content: "";
    height: 48px;
    border-left: 1px solid #382F2D;
    display: block;
    position: absolute;
    left: 50%;
    top: -48px;
}
#tokio-inkarami #feature .col div:nth-of-type(1)::before {
    content: none;
}
#tokio-inkarami #feature .col div:nth-of-type(4)::before {
    content: 'add';
    border: none;
    font-family: 'Material Icons';
    color: #382F2D;
    font-size: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    top: -64px;
    left: calc( 50% - 24px );
}
#tokio-inkarami #feature-2 {
    border-bottom: 1px solid #c3c4c7;
}
#tokio-inkarami #feature-2 .col {
    padding: 0 16px 64px 16px;
    font-size: 2rem;
    font-family: 'Noto Serif JP', serif;
    text-align: center;
}
/* TOKIO DESIGN INKARAMI
***************************************************/
#tokio-design-inkarami #overview h2 {
    color: #C40D3C;
    position: relative;
    margin: 48px 0 0 0;
}
#tokio-design-inkarami #overview h2::before {
    position: absolute;
    display: block;
    content: 'add';
    font-family: 'Material Icons';
    font-size: 40px;
    font-weight: normal;
    color: #999;
    left: calc( 50% - 20px );
    top: -56px;
}
#tokio-design-inkarami #overview h2:first-child {
    margin: 0;
}
#tokio-design-inkarami #overview h2:first-child::before {
    display: none;
}
#tokio-design-inkarami #overview p {
    margin: 0;
    border-top: 1px dashed #999;
    display: inline-block;
    padding: 0 16px;
}
#tokio-design-inkarami .system-title .col {
    height: 40vh;
    background-size: cover;
    background-position: left bottom;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 64px auto 0 auto;
}
#tokio-design-inkarami .system-title h2 {
    background-color: rgba(0,0,0,.5);
    padding: 16px;
}
#tokio-design-inkarami .system-title h2 img {
    width: 160px;
}
#tokio-design-inkarami .system-content .col div {
    margin: 32px 0;
}
#tokio-design-inkarami .system-content div p {
    border-bottom: 1px dashed #999;
    padding: 0 0 8px 0;
}
#tokio-design-inkarami .system-content div h3 {
    font-size: 1.4rem;
    font-weight: normal;
    position: relative;
    margin: 16px 0 0 56px;
    height: 48px;
    display: flex;
    align-items: center;
    font-family: 'Noto Sans JP', sans-serif;
}
#tokio-design-inkarami .system-content h3 img {
    width: 44px;
    position: absolute;
    top: 0;
    left: -56px;
}
#tokio-design-inkarami .system-content ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    text-indent: 0;
}
#tokio-design-inkarami .system-content ul li {
    border: 1px solid #999;
    border-left: none;
    margin: 0;
    font-size: 1rem;
    padding: 2px 4px;
    width: 100%;
    text-align: center;
    word-break: keep-all;
    display: flex;
    align-items: center;
    justify-content: center;
}
#tokio-design-inkarami .system-content ul li:first-child {
    border-left: 1px solid #999;
}
#tokio-design-inkarami .system-content ul li.point {
    background-color: #FE9BB1;
    color: #fff;
}
@media(min-width: 1024px) {
    #tokio-design-inkarami .system-content .col {
        width: 768px;
    }
}
/* TOKIO HYPER INKARAMI
***************************************************/
#tokio-hyper-inkarami {
    font-family: 'Noto Sans JP', sans-serif;
}
#tokio-hyper-inkarami #tokio-stars {
    background-color: #C9CACA;
}
#tokio-hyper-inkarami #tokio-stars .col {
    padding: 0;
}
#tokio-hyper-inkarami #salon {
    background-color: #C0B6AF;
    background-image: url("./images/diagonal.png");
    color: #595048;
    text-align: center;
}
#tokio-hyper-inkarami #salon h2 {
    font-weight: normal;
    margin: 64px 0 0 0;
}
#tokio-hyper-inkarami #target-salon {
    background-color: #94877b;
    background-image: url("./images/diagonal.png");
    color: #fff;
    padding: 48px 0;
    text-align: center;
}
#tokio-hyper-inkarami #target-salon h2 {
    font-family: 'Noto Serif JP', serif;
    font-weight: normal;
    font-size: 3.2rem;
    word-break: keep-all;
}
#tokio-hyper-inkarami #target-salon h3 {
    font-weight: normal;
}
#tokio-hyper-inkarami #target-salon p {
    margin: 0;
    color: #ddd;
}
#tokio-hyper-inkarami .products h2,
#tokio-hyper-inkarami .products h3,
#tokio-hyper-inkarami .products h4,
#tokio-hyper-inkarami .products p {
    color: #6F6259;
}
/* TOKIO SPA INKARAMI
***************************************************/
#tokio-spa-inkarami #salon .col {
    color: #60269E;
    line-height: 2;
}
@media(min-width: 768px) {
    #tokio-spa-inkarami #salon .col {
        text-align: center;
        font-size: 2rem;
    }
}
/* TOKIO IE
***************************************************/
#tokio-ie-inkarami #overview h2 {
    position: relative;
    color: #6c635a;
    line-height: 1.5;
    font-family: 'Noto Serif JP', serif;
    font-size: 20px;
    text-indent: 1em;
}
#tokio-ie-inkarami #overview p {
    line-height: 1.5;
}
#tokio-ie-inkarami #overview small {
    font-size: 1.2rem;
}
#tokio-ie-inkarami #overview small:last-child {
    position: absolute;
    top: auto;
    right: 0;
    bottom: -1em;
    left: auto;
}
#tokio-ie-inkarami #overview p {
    color: #6c635a;
}
@media(min-width: 768px) {
    #tokio-ie-inkarami #overview h2 {
        font-size: 32px;
    }
    #tokio-ie-inkarami #overview p {
        font-size: 24px;
    }
}
@media(min-width: 1024px) {
    #tokio-ie-inkarami #overview h2 {
        font-size: 56px;
    }
    #tokio-ie-inkarami #overview p {
        font-size: 32px;
    }
}
#tokio-ie-inkarami #feature {
    font-family: 'Noto Serif JP', serif;
}
#tokio-ie-inkarami #feature .col {
    padding: 48px 16px;
    border-top: 2px solid #6c635a;
}
#tokio-ie-inkarami #karami {
    background-color: #f1f1f1;
}
#tokio-ie-inkarami #karami .col {
    padding: 48px 16px;
}
#tokio-ie-inkarami #karami h2 {
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    font-size: 2.4rem;
    line-height: 2;
}
#tokio-ie-inkarami .title {
    height: 60px;
}
#tokio-ie-inkarami .title .col {
    padding: 0 16px;
}
#tokio-ie-inkarami .title h2 {
    display: flex;
    height: 60px;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 30px;
    line-height: 0;
    font-family:ヒラギノ角ゴ Pro W3
}
#tokio-ie-inkarami .title h2 span {
    font-size: 20px;
    padding: 5px 0 0 15px;
}
#tokio-ie-inkarami #premium {
    background: #e1bd4d; /* Old browsers */
    background: -moz-linear-gradient(top,  #e1bd4d 0%, #deb949 50%, #cca638 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #e1bd4d 0%,#deb949 50%,#cca638 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #e1bd4d 0%,#deb949 50%,#cca638 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e1bd4d', endColorstr='#cca638',GradientType=0 ); /* IE6-9 */
}
#tokio-ie-inkarami #platinum {
    background: #c3c4c7; /* Old browsers */
    background: -moz-linear-gradient(top,  #c3c4c7 0%, #b5b5b6 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #c3c4c7 0%,#b5b5b6 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #c3c4c7 0%,#b5b5b6 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c3c4c7', endColorstr='#b5b5b6',GradientType=0 ); /* IE6-9 */
}
#tokio-ie-inkarami #head-spa {
    background-color: #3e2856;
}
#tokio-ie-inkarami .series {
    padding: 64px 16px;
}
#tokio-ie-inkarami .series .content-left {
    text-align: center;
    padding: 0 0 64px 0;
}
#tokio-ie-inkarami .series .content-left img {
    width: 225px;
}
#tokio-ie-inkarami .series .content-right p {
    padding: 0;
}
#tokio-ie-inkarami .diagram {
    text-align: center;
}
#tokio-ie-inkarami .diagram img {
    margin: 0 auto;
}
@media(min-width: 768px) {
    #tokio-ie-inkarami #karami h2 {
        font-size: 3.2rem;
    }
    #tokio-ie-inkarami #feature {
        text-align: center;
        font-size: 1.6rem;
        line-height: 2;
    }
    #tokio-ie-inkarami .title {
        height: 120px;
    }
    #tokio-ie-inkarami .title .col {
        padding: 0 16px;
    }
    #tokio-ie-inkarami .title h2 {
        height: 120px;
        font-size: 60px;
    }
    #tokio-ie-inkarami .title h2 span {
        font-size: 45px;
        padding: 10px 0 0 15px;
    }
    #tokio-ie-inkarami .series .col-2 .content-left {
        padding: 0;
        width: calc( 100% / 3 );
    }
    #tokio-ie-inkarami .series .col-2 .content-right {
        width: calc( ( 100% / 3 ) * 2 );
    }
    #tokio-ie-inkarami .diagram img {
        max-width: 480px;
    }
}
/* to-kyo-to
***************************************************/
#to-kyo-to #series ul {
    border: 1px solid #383838;
    padding: 16px;
    list-style-position: inside;
    list-style-type: square;
}
#to-kyo-to #package {}
#to-kyo-to #tokyo .col,
#to-kyo-to #kyoto .col {
    padding: 64px 16px;
    color: #fff;
    text-align: center;
}
#to-kyo-to #overview h2 {
    font-family: 'Noto Serif JP', serif;    
}
#to-kyo-to #kyoto {
    font-family: 'Noto Serif JP', serif;
}
/* LINE UP
***************************************************/
#line-up #list section {
    overflow: hidden;
    padding: 32px 0;
}
#line-up #list section h2 {
    text-align: center;
}
#line-up #list section h2 img {
    width: 30vw;
}
#line-up #list ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#line-up #list ul li {
    margin: 0;
    padding: 0 0 16px 0;
}
#line-up #list ul li a {
    text-decoration: none;
}
#line-up #list ul li h3 {
    font-size: 1.4rem;
    text-align: center;
    padding: 0 16px;
}
@media(min-width: 768px) {
    #line-up #list section h2 img {
        width: 160px;
    }
}
/* フォーム
***************************************************/
form {
    margin: 0 auto;
    width: 100%;
}
form h2 {
    margin: 64px 0 16px 0;
    padding: 4px 0 4px 8px;
    border-left: 8px solid #383838;
}
form table {
    margin: 16px 0;
    overflow: hidden;
    width: 100%;
}
form table tr {
    border-bottom: 1px solid #ccc;
}
form table tr th {
    padding: 16px 8px 0 8px;
    box-sizing: border-box;
    border: none;
    display: block;
    vertical-align: middle;
    position: relative;
}
form table tr td {
    padding: 8px 8px 16px 8px;
    border-bottom: 1px dashed #ccc;
    box-sizing: border-box;
    border: none;
    display: block;
    overflow: hidden;
}
form table tr.required th::after {
    position: absolute;
    top: calc( 50% - 12px );
    right: 0;
    height: 16px;
    width: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    content: "必須";
    font-size: 1rem;
    font-weight: normal;
    background-color: #d82400;
    color: #fff;
    padding: 0 4px;
}
form input[type=text],
form input[type=number],
form input[type=email],
form input[type=url],
form input[type=submit],
select, textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
form select {
    border: 1px solid #ccc;
    font-size: 1.6rem;
    padding: .5em;
    margin: 4px 0 0 0;
    line-height: 16px;
    min-height: 44px;
    width: 100%;
    box-sizing: border-box;
}
form .select {
    position: relative;
}
form .select::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-bottom: solid 2px #b4b3b3;
  border-right: solid 2px #b4b3b3;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 32px;
  margin-top: -4px;
}
form input[type=text],
form input[type=number],
form input[type=url],
form input[type=email] {
    border: 1px solid #ccc;
    box-sizing: border-box;
    font-size: 1.6rem;
    padding: .5em;
    width: 100%;
    min-height: 44px;
}
form input[type=submit] {
    font-size: 1.6rem;
    padding: 1em 3em;
    display: flex;
    align-items: center;
    margin: 64px auto;
    cursor: pointer;
    transition: .2s;
    line-height: 1.5;
    border: 3px double #fff;
    background-color: #968777;
    color: #fff;
    border-radius: 4px;
}
form input[type=submit]:hover {
    background-color: #6c635a;
    color: #fff;
}
form input[type=checkbox] {
    position: relative;
}
form textarea {
    border: 1px solid #ccc;
    font-size: 1.6rem;
    padding: .5em;
    width: 100%;
    height: 10em;
    box-sizing: border-box;
}
form label {
    cursor: pointer;
    display: flex;
    align-items: center;
    min-height: 44px;
}
form span {
    margin: 0;
    padding: 0;
}
.mwform-radio-field {
    margin: 0;
    padding: 0;
    display: flex;
}
.mwform-radio-field:first-child {
    margin-left: 10px;
}
.vertical-item {
}
.horizontal-item {
    margin: 0;
    padding: 0;
}
form .checkbox {
    display: flex;
    flex-wrap: wrap;
}
form .name {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
form .name input:nth-of-type(1),
form .name input:nth-of-type(2) {
    width: 49%;
}
form .age input {
    width: 4em;
}
form .company-name {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}
form .company-name input:nth-of-type(1) {
    margin: 0 0 8px;
}
form .zip input:nth-of-type(1) {
    width: 3em;
    margin: 0 .2em;
    display: inline;
}
form .zip input:nth-of-type(2) {
    width: 4em;
    margin: 0 0 0 .2em;
    display: inline;
}
form .tel input:nth-of-type(1) {
    width: 5em;
    margin: 0 .2em 0 0;
    display: inline;
}
form .tel input:nth-of-type(2) {
    width: 5em;
    margin: 0 .2em;
    display: inline;
}
form .tel input:nth-of-type(3) {
    width: 6em;
    margin: 0 0 0 .2em;
}
form .date input:nth-of-type(1) {
    width: 10em;
    margin: 0 .2em;
    display: inline;
}
form .date input:nth-of-type(2) {
    width: 3em;
    margin: 0 0 0 .2em;
}
form .date input:nth-of-type(3) {
    width: 3em;
    margin: 0 0 0 .2em;
}
form .radio label {
    margin: 0 2em 0 0;
    padding: 0;
    line-height: 1;
    display: flex;
    align-items: center;
}
form .shop-url input {
    width: calc( 100% - 10em );
    margin: 0 .5em;
}
form .bank input {
    width: calc( 100% - 10em );
    margin: 0 .5em 0 0;
}
form .number input {
    width: 5em;
}
form #check {
    background-color: #f3f3f3;
    padding: 32px;
    overflow: hidden;
    text-align: center;
}
form #check label {
    text-align: center;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    color: #d82400;
}
::-webkit-input-placeholder {
    color: #ccc;
}
form .address input:last-child {
    margin-top: 8px;
}
form table.normal {
    display: table;
    border: 1px solid #ccc;
    background-color: #fff;
}
form .account-number input {
    width: 8em;
}
form table.normal thead {
    background-color: #666;
    color: #fff;
}
form table.normal tbody {
    background-color: #fff;
}
form table.normal th,
form table.normal td {
    display: table-cell;
    padding: 8px;
    border: 1px solid #ccc;
    text-align: center;
}
form .notes {
    display: block;
    font-size: 1.2rem;
    color: #666;
}
form #agree {
    border: 3px double #d82400;
    overflow: hidden;
    padding: 32px 16px 16px;
    text-align: center;
    margin: 64px 0 0 0;
}
form #agree label {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: #d82400;
    color: #fff;
    min-height: 48px;
    font-size: 1.6rem;
    padding: 0 16px;
    border-radius: 4px;
}
form .error-message {
    clear: both;
    display: block;
    width: 100%;
    color: #d82400;
}
form .error-pink input,
form .error-pink textarea {
    background-color: rgba(255,0,0,.1);
}
@media (min-width: 768px) {
    form .required th::after {
        float: right;
        margin: 4px 0 0 0;
    }
    form .check {
        padding: 16px 0 0 0;
    }
    form table tr th {
        display: table-cell;
        white-space: nowrap;
        width: 30%;
        padding: 16px 16px 16px 16px;
    }
    form table tr td {
        display: table-cell;
        padding: 16px;
    }
    table#recruit-form tr th {
        white-space: normal;
    }
}
@media(min-width: 1024px) {
    form {
        width: 768px;
        margin: 0 auto;
    }
}

