/* =============================================================================
   HTML5 element display
   ========================================================================== */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }

/* =============================================================================
   Base
   ========================================================================== */

html { font-size: 100%; -webkit-overflow-scrolling: touch; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

body { margin: 0; font-size: 100%; line-height: 1.45; }

/* =============================================================================
   Links
   ========================================================================== */

a { color: #076bcb; }
a:visited { color: #551a8b; }
a:focus { outline: thin dotted; }

/* Improve readability when focused and hovered in all browsers: people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active { outline: 0; }
a:hover { color: #00873c; }

/* =============================================================================
   Typography
   ========================================================================== */

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: bold; }

blockquote { margin: 1em 40px; }

dfn { font-style: italic; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #999999; margin: 1em 0; padding: 0; }

ins { background: #ff9; color: #000; text-decoration: none; }

mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }

/* Redeclare monospace font family: en.wikipedia.org/wiki/User:Davidgothberg/Test59 */
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }

/* Improve readability of pre-formatted text in all browsers */
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }
q:before, q:after { content: ""; content: none; }

small { font-size: 85%; line-height: 1.5; display: inline-block; }	/* Matsuo 2017 was 1.2, added display: */

/* Position subscript and superscript content without affecting line-height: gist.github.com/413930 */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }


/* =============================================================================
   Lists
   ========================================================================== */

ul, ol { margin: 5px 0; padding: 0; }
dd { margin: 0 0 0 40px; }


/* =============================================================================
   Embedded content
   ========================================================================== */

/*
 * Improve image quality when scaled in IE7
 * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */

img { border: 0; -ms-interpolation-mode: bicubic; }

/*
 * Correct overflow displayed oddly in IE9
 */

svg:not(:root) {
    overflow: hidden;
}


/* =============================================================================
   Figures
   ========================================================================== */

figure { margin: 0; }


/* =============================================================================
   Forms
   ========================================================================== */

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }

/*
 * 1. Correct color not inheriting in IE6/7/8/9 
 * 2. Correct alignment displayed oddly in IE6/7
 */

legend { border: 0; *margin-left: -7px; padding: 0; }

/* Indicate that 'label' will shift focus to the associated form element */
label { cursor: pointer; }

/*
 * 1. Correct font-size not inheriting in all browsers
 * 2. Remove margins in FF3/4 S5 Chrome
 * 3. Define consistent vertical alignment display in all browsers
 */

button, input, select, textarea { font-size: 100%; margin: 0; } /* KAZ c/o: vertical-align: baseline; *vertical-align: middle; */

/*
 * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
 * 2. Correct inner spacing displayed oddly in IE6/7
 */

button, input { line-height: normal; *overflow: visible; }

/*
 * 1. Display hand cursor for clickable form elements
 * 2. Allow styling of clickable form elements in iOS
 */

button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }

/*
 * Consistent box sizing and appearance
 */

input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }

/*
 * Remove inner padding and border in FF3/4
 * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
 */

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/* Remove default vertical scrollbar in IE6/7/8/9 */
textarea { overflow: auto; vertical-align: top; }

/* Colors for form validity */
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }


/* =============================================================================
   Tables
   ========================================================================== */

table {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0;
}

td {
	padding: 0;
}

table.noborder {
	margin: 0;
}
table.noborder td {
	border: 0;
}

/* ==================
   Initializr Theme
   ================== */

body {
	font-family: Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	background-color: white;
	color: #1f5787;
	font-size: 219%;	/* 35px/16px*/
}
p, address {
	margin-top: 5px;
	margin-bottom: 10px;
	background-color:white;	/* to avoid Android's bug */
}
address {
	font-style: normal;
}
section {
	clear: both;
}
h2 {
	background-color: #061f49;
	color: white;
	text-align: center;
	font-size: 42px;
	font-weight: bold;
	margin: 0;
	line-height: 1;
	padding: 15px 0 8px;	/* for IE10,etc */
	clear: both;
}
iframe {
	display: block;
	overflow: hidden;
	border: 0;
}
.nomargin {
	margin: 0;
}
a:hover img,	/* MTL Mat changed from .transbtn:hover to this. Perfect automatic opacity */
span.current .transbtn {
	opacity: 0.75;
	filter: alpha(opacity=75);
}
a:hover img.noopacity {	/* to avoid dirty image on IE */
	opacity: 1.0;
	filter: alpha(opacity=100);
}
.righttop {	/* Force to position right top most of the parent element, which has position: relative */
	 position: absolute;
	 right: 0;
	 top: 0;
}
.rightbottom {
	 position: absolute;
	 right: 0;
	 bottom: 0;
}
img.withintext {
	vertical-align: middle;
}

img.imgonlynotinblock {	/* to avoid gap under this */
	display: block;
}

.reallist {
	list-style-type: disc !important;
	margin-left: 50px !important;
}

/* ===============================
   The Structure
   =============================== */
#header, #wrapper, #footer {
	width: 960px;
	margin: 0 auto;
}
.sitetitle, .pagetitle {
	margin: 0;
}
.sitetitle a, .pagetitle {
	color: white;
	font-size: 55px;	/* 2017.10 Matsuo was 60px */
}
.sitetitle a {
	display: block;
	line-height: 155px;
	background-color: #061F49;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
}

.pagetitle {
	background: url(/images/bgpagetitle.gif) no-repeat left top;
	line-height: 228px;
	text-align: center;
}


/* ===============================
   Header: logo, top menu area
   =============================== */
#mainvisual {
	background: url(/images/bgmainvisual.jpg) no-repeat left top;
	height: 1358px;
	overflow: hidden;
}

ul#headermenu, ul#footermenu {
	margin: 53px  0 0 33px;
	line-height: 0;
	list-style: none;
}
ul#headermenu li, ul#footermenu li {
	float: left;
}
ul#headermenu, ul#footermenu {
	overflow: hidden;
}

ul#headermenu li, ul#footermenu li:first-child {
	margin-right: 22px;
}

ul#headermenu li a, ul#footermenu li a {
	background: url(/images/bgheadermenuitem.png) no-repeat left top;
	line-height: 101px;
	width: 436px;
	font-size: 35px;
	font-weight: bold;
	color: #061F49;
	text-align: center;
	display: block;
	text-decoration: none;
}

.description {
	margin: 27px 0 0 75px;
}

.descriptionsub {
	font-size: 35px;
	line-height: 47px;
	color: #FFF000;
	margin: 545px auto 0;	/* 2017 Matsuo was 595px */
	text-align: center;
}

.contactphone {
	margin-top: 60px;
	display: block;
	text-align: center;
}

/* =========================================
   Contents (common among all pages)
   ======================================= */
#content {
	overflow: hidden;
}

#content img.alignleft {
	display: block;
	float: left;
	margin-right: 2em;
}
#content img.alignright {
	display: block;
	float: right;
	margin-left: 2em;
}
#content ul {
	list-style-type: none;
}

.clear {
	clear: both;
}

.center {
	text-align: center;
}

.small { font-size: 85%; }


.box {
	background-color: #fdf2e6;
	border: #1b5481 1px solid;
	-moz-border-radius: 5px;
	border-radius: 5px;
	max-width: 555px;
	margin: 0 auto 15px;
	padding: 20px 90px 15px;
	line-height: 1.1em;
}

.twocolumns .box {
	width: 386px;
	height: 150px;
	float: left;
	margin: 0 15px;
	padding-right: 10px;
	padding-left: 10px;
}

.twocolumns {
	margin-left: 42px;
	overflow: hidden;
}

.otetsudai {
	color: #87a845;
	margin: 35px 0 15px;
	font-weight: bold;
}

.strong {
	text-decoration: underline;
	margin-top: 30px;
}

.separate {
	display: inline-block;
	margin-top: 15px;
	margin-bottom: 15px;
}

.boxsozokunin {
	margin: 15px auto 25px;
}

.note li:before {
	content: "＊"; 
}

/* ===============================
   Contents (top page)
   ================== */
#flow {
	text-align: center;
	color: #1D5A8E;
	padding: 30px 40px 55px; /* Matsuo 2017 was 30px 0 55px 90px */
	background: url(/images/bgflow.png);
}
#flow small {	/* Matsuo 2017 added */
	    font-size: 80%;
}

#flowclient, #flowus {	/* Matsuo 2017 added instead of flowN */
	text-align: left;
	padding-left: 145px;
	min-height: 126px;
}

#flowclient {	/* Matsuo 2017 added */
	background: url(/images/bgflowclient.png) no-repeat left top;
}
#flowus {
	background: url(/images/bgflowus.png) no-repeat left top;
}

/* Matsuo 2017 not in use any more #flow1 {
	background: url(/images/bgflow1.png) no-repeat left top;
}
#flow2 {
	background: url(/images/bgflow2.png) no-repeat left top;
}
#flow3 {
	background: url(/images/bgflow3.png) no-repeat left top;
}
#flow4 {
	background: url(/images/bgflow4.png) no-repeat left top;
}
#flow1, #flow2, #flow3, #flow4 {
	text-align: left;
	padding-left: 245px;
	min-height: 126px;
}
*/

.note {
	font-size: 27px;
	padding: 55px 90px;
	line-height: 37px;
}

.pricecost {
	padding-top: 15px;
	padding-left: 120px;
}

#main h3 {
	line-height: 1;
	text-align: center;
	margin: 0;
}

.b4sum {
	line-height: 1.8;
}

/* ===============================
   Contents (faq page)
   ================== */
h2.faqquestion {
	background-image: url(/images/bgfaqquestion.png);
	line-height: 62px;
	padding-left: 95px;
	background-position: 20px center;
	background-repeat: no-repeat;
	text-align: left;
}
.faqanswer {
	background: url(/images/bgflow.png);
	padding: 10px 0 65px;
}

.faqanswer p, .faqanswer ul {
	background-color: transparent;
	margin-left: 20px;
	margin-right: 20px;
}

.faqanswer ul {
	margin-bottom: 50px;
}

.faqanswer ul.note {
	margin-bottom: 40px;
}

.faqanswer .box p {
	margin-left: 0;
	margin-right: 0;
}

.faqanswertop {
	background-image: url(/images/bgfaqanswer.png);
	margin-bottom: 30px;
	min-height: 62px;
	padding-left: 78px;
	background-position: left top;
	background-repeat: no-repeat;
}

/* ===============================
   Contents (profile page)
   ================== */
.profphotoetc, .profdetails {
	float: left;
	width: 450px;
	margin: 30px 0 80px;
}

.profphotoetc {
	margin-left: 30px;
}

.profdetails {
	margin-right: 30px;
}

.proftitle {
	font-size: 40px;
}

.profaddress {
	font-size: 30px;
}

.profdetails, .profdetails h3 {
	font-size: 25px;
}

.profdetails h3 {
	margin: 0;
	line-height: 1em;
}

.profaddress {
	margin: 80px 0 5px;
}

.profphoneno {
	margin-bottom: 20px;
}

/* ==================
   Footer
   ================== */
#footer {
	clear: both;
}
#formwrapper, #formwrappernottop {
	background: url(/images/bgform.gif) no-repeat left bottom;
	padding: 40px 40px 15px;
}
body#form_body #formwrapper, body#form_body #formwrappernottop {
	padding-top: 0;
}
#formwrappernottop {
	background: url(/images/bgformnottop.gif) no-repeat left bottom;
	overflow: hidden;
}
body#form_body #formwrapper {
	padding-top: 0;
}

#form_section {
	border: 1px solid #231815;
	background-color: white;
	width: 878px;
	font-size: 25px;
}
body#form_body h1#form_title {
	text-align: center;
	font-size: 36px;
}
#form_section p.error {
	border-bottom: #231815 1px solid;
	margin: 0;
	padding: 10px 10px 10px 20px;
	color: #cc0f2c;
}
#form_section form {
	background: url(/images/bgflow.png) repeat left top;
}
#form_section form label {
	border-bottom: #ccc 1px dashed;
	display: block;
	padding: 8px 12px 10px;
}
#form_section form label span.title {
	display: inline-block;
	width: 9.2em;
}
#form_section form label span.title.inquiry {
	width: 854px;
}
#form_section form label input {
	width: 846px;
	padding: 3px;
}
/*
#form_section form label input.short {
	width: 6em;
}
#form_section form label input.medium {
	width: 9.2em;
}
#form_section form label input.long {
	width: 500px;
}
*/
#form_section form label textarea {
	width: 846px;	/* 596px */
	height: 224px;
	padding: 3px;
}
#form_section form .btn_line {
	padding: 10px 0;
	text-align: center;
}
#form_section form .btn_line input {
	border: #231815 1px solid;
	-moz-border-radius: 16px;
	border-radius: 16px;
	margin: 0 0.5em;
	padding: 4px 20px;
	line-height: 1;
	color: #1f5787;
}
#formwrapper p, #formwrappernottop p {
	font-size: 20px;	/* Matsuo 2017 was 22px */
	text-align: center;
	margin-bottom: 45px;
	color: white;
	background-color: transparent;
}
#form_section p#form_thanks {
	margin: 0;
	padding: 20px 0;
}

ul#footermenu {
	margin: 70px -10px;
}

/* Contain floats: nicolasgallagher.com/micro-clearfix-hack/ */ 
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

/* =============================================================================
   Print styles.
   Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    a, a:visited { color: #444 !important; text-decoration: underline; }
    thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */
    tr, img { page-break-inside: avoid; }
    img { max-width: 100% !important; }
    @page { margin: 0.5cm; }
    h2, h3 { page-break-after: avoid; }
}
