@charset "utf-8";

/* =============================================================================
Reset style
========================================================================== */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, 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%; vertical-align: baseline; background: transparent }
body { line-height: 1 }
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 }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent }
ins { background-color: #ff9; color: #000; text-decoration: none }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold }
del { text-decoration: line-through }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help }
table { border-collapse: collapse; border-spacing: 0 }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0 }


/* =============================================================================
Basic style
========================================================================== */
html {
    overflow-x: hidden;
}
/*
* body InitialStyle
*/
body { -webkit-text-size-adjust: none; background: #fff; overflow-x: hidden;}

/*
* Wrapper InitialStyle
*/
#wrapper { position: relative; margin: 0 auto; overflow: hidden; background:#fff; }

/*
* Inner InitialStyle
*/
.content-inner,.inner { width:1000px; margin: 0 auto; position: relative;}


/* =============================================================================
Image
========================================================================== */

img { vertical-align: bottom; max-width :100%; width: 100%; }

/* Image center */
.img-center { display:block; margin:0 auto; }


/* =============================================================================
Common Style
========================================================================== */

table { font-size:inherit;font:100%;}

pre, code, kbd, samp, tt { font-family: monospace; *font-size: 100%; font: 115% monospace; line-height: 150%; }

input,textarea,select { font-family:inherit; font-size:inherit; font-weight:inherit;-webkit-appearance: none; -moz-appearance: none; appearance: none;}

input,textarea,select { *font-size:100%; }




ul, li { list-style: none;}
.list-disc li { list-style: disc;}

input[type="text"],input[type="button"],input[type="submit"],input { -webkit-appearance: none; border-radius: 0; }
label {cursor: pointer;}
select { border: 0; background: none transparent; vertical-align: middle; box-sizing: content-box; }

button { background-color:white; border:none; padding: 0; }

/*
* box-sizing
*/
div,p,dl,dt,dd,ol,ul,li,h1,h2,h3,h4,h5,h6,form,input,button,textarea,table,tr,th,td,article,aside,header,footer,section,nav{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }


/* =============================================================================
Typography
========================================================================== */

@font-face {
  font-family: 'A-OTF-UDShinGoPro';
  font-weight: 300;
  src: url('../font/A-OTF-UDShinGoPro-Light.otf') format('opentype');
}

@font-face {
font-family: 'A-OTF-UDShinGoPro';
font-weight: 400;
src: url('../font/A-OTF-UDShinGoPro-Regular.otf') format('opentype');
}

@font-face {
  font-family: 'A-OTF-UDShinGoPro';
  font-weight: 500;
  src: url('../font/A-OTF-UDShinGoPro-Medium.otf') format('opentype');
}

@font-face {
  font-family: 'A-OTF-UDShinGoPro';
  font-weight: 600;
  src: url('../font/A-OTF-UDShinGoPro-DeBold.otf') format('opentype');
}

@font-face {
  font-family: 'A-OTF-UDShinGoPro';
  font-weight: 700;
  src: url('../font/A-OTF-UDShinGoPro-Bold.otf') format('opentype');
}

@font-face {
  font-family: 'A-OTF-UDShinGoPro';
  font-weight: 900;
  src: url('../font/A-OTF-UDShinGoPro-Heavy.otf') format('opentype');
}

body { color: #333; letter-spacing: 0px; font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "MS P Gothic", "ＭＳ Ｐゴシック", Osaka, Arial, Helvetica, sans-serif; font-weight: 300; letter-spacing: 0px; -webkit-text-size-adjust: 100%; }

p { line-height: 1.6; text-align: left; }

dt, dd { line-height: 1.6; }

.minchou { font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }

.yugo {font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, sans-serif;}

.Arial{font-family: 'Arial',sans-serif;}

.ud { font-family: "A-OTF-UDShinGoPro", sans-serif;}

h1,h2,h3,h4,h5,h6,ol,ul,li { font-weight:normal; line-height: 1.4; color: #333; }

a { color: inherit; text-decoration:none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);　tap-highlight-color: rgba(0, 0, 0, 0); }

input[type="text"],input[type="mail"],input[type="button"],input[type="submit"] { -webkit-appearance: none; border-radius: 0; }
input::placeholder{ color: #ccc; }
input:-ms-input-placeholder { color:#ccc; }
input::-ms-input-placeholder { color:#ccc; }

button { background-color:white; border:none; padding: 0; }

/*
* convenient styles
*/
.ta-c { text-align:center; }

.ta-l { text-align:left; }

.ta-r { text-align:right; }

.normal { font-weight:normal; }
.bold,.fw-bold { font-weight:bold; }
.fw-200,.fw-thin { font-weight: 200; }
.fw-300,.fw-light { font-weight: 300; }
.fw-400,.fw-regular { font-weight: 400; }
.fw-500,.fw-medium { font-weight: 500; }
.fw-600 { font-weight: 600; }

.ttl-font { text-align:center; font-weight:bold; }

.block-center { margin:0 auto; }

.full-width { width:100%; }


/*
* color
*/
.white { color:#fff; }
.black { color:#000; }
.gray { color: #969696; }
.red { color:#ff0700; }
.blue {color: #067abd;}
.yellow02 { color: #fff600;}

/*
* letter-spacing
*/
.xs-spacing { letter-spacing:.05rem; }
.s-spacing { letter-spacing:.1rem; }
.m-spacing { letter-spacing:.15rem; }
.l-spacing { letter-spacing:.2rem; }

/*
* line-height
*/
.line-10 { line-height:1; }
.line-11 { line-height:1.1; }
.line-12 { line-height:1.2; }
.line-13 { line-height:1.3; }
.line-14 { line-height:1.4; }
.line-16 { line-height:1.6; }
.line-17 { line-height:1.7; }
.line-18 { line-height:1.8; }
.line-19 { line-height:1.9; }
.line-20 { line-height:2; }

/*
* width
*/
.w-max{width: 100%;}


/*
* padding margin
*/

.pl-10{padding-left: 10px;}
.pt-20{padding-top: 20px;}
.ml-20{margin-left: 20px;}

/**
*
* Enter the font size
* pattern to be used in this coding.
*
*/
.fs-12 { font-size:12px; }
.fs-13 { font-size:13px; }
.fs-14 { font-size:14px; }
.fs-15 { font-size:15px; }
.fs-18 { font-size:18px; }
.fs-20 { font-size:20px; }
.fs-21 { font-size:21px; }
.fs-22 { font-size:22px; }
.fs-23 { font-size:23px; }
.fs-24 { font-size:24px; }
.fs-26 { font-size:26px; }
.fs-27 { font-size:27px; }
.fs-28 { font-size:28px; }
.fs-30 { font-size:30px; }
.fs-32 { font-size:32px; }
.fs-33 { font-size:33px; }
.fs-34 { font-size:34px; }
.fs-35 { font-size:35px; }
.fs-36 { font-size:36px; }
.fs-38 { font-size:38px; }
.fs-40 { font-size:40px; }
.fs-41 { font-size:41px; }
.fs-42 { font-size:42px; }
.fs-44 { font-size:44px; }
.fs-45 { font-size:45px; }
.fs-46 { font-size:46px; }
.fs-48 { font-size:48px; }
.fs-50 { font-size:50px; }
.fs-52 { font-size:52px; }
.fs-54 { font-size:54px; }
.fs-58 { font-size:58px; }
.fs-60 { font-size:60px; }
.fs-63 { font-size:63px; }
.fs-71 { font-size:71px; }
.fs-73 { font-size:73px; }
.fs-75 { font-size:75px; }
.fs-77 { font-size:77px; }
.fs-78 { font-size:78px; }

.underline { text-decoration: underline; }

/* =============================================================================
Layout style
========================================================================== */
body.overflow-hidden { overflow-y: hidden;}

/* Header */
.header { width:100%; }

/* Footer */
.footer { width:100%; }

/* Main */
.main { width:100%; }


/*
* display
*/
.block { display: block; }
.inline { display: inline; }
.inline-block { display: inline-block; }
.ds-none { display: none; }

/*
* position styles
*/
.relative { position:relative; }

.absolute { position: absolute; }

.front,.front-position { position:relative; z-index:1; }

/* absolute-center */
.ab-center { position:absolute; left:0; right:0; margin:auto; }

/*
* flex box
*/
.flex { display: flex; display: -webkit-flex; }
.f-wrap { flex-wrap: wrap; -ms-flex-wrap: wrap; -moz-flex-wrap: wrap; -webkit-flex-wrap: wrap; }
.f-between { justify-content: space-between; -webkit-justify-content: space-between; }
.flex-list { display: flex; display: -webkit-flex; flex-wrap: wrap; -ms-flex-wrap: wrap; -moz-flex-wrap: wrap; -webkit-flex-wrap: wrap; justify-content: space-between; -webkit-justify-content: space-between; }
.align-center { align-items: center; }

/* =============================================================================
Others
========================================================================== */

.point { position: relative; }
.point:after { position: absolute; top: -72%; left: 0; width: 100%; font-size: 80%; text-align: center; content: "・"; }

/* Header fix */
.fixed { position:fixed; left:0; top:0; z-index:9999; }

/* background */
.bg-white { background-color:#fff; }
.bg-black { background-color:#000; }
.bg-flex { background-size:100% auto; }

/*
* clearfix
*/
.clearfix:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; }

/*
* hover effect
*/
.u-target,.btn { transition: opacity .3s; }
.u-target:hover,.btn:hover,.contact-btn:hover { opacity: .8; filter: alpha(opacity=80); -ms-filter: "alpha(opacity=80)"; }
button,.u-target { cursor: pointer; }