/*
Theme Name: ahacraft
Theme URI: https://wordpress.org/themes/twentyseventeen/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Twenty Seventeen brings your site to life with header video and immersive featured images. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device.
Version: 1.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentyseventeen
Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

 
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;
}
img {
    vertical-align: bottom;
}
body {
    line-height: 1.7em;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: 16px;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}
nav ul, li {
    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;
	text-decoration: none;
}
/* change colours to suit your needs */
ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}
/* change colours to suit your needs */
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;
    width: 100%;
}
/* change border colour to suit your needs */
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}
input, select {
    vertical-align: middle;
}
body {
    font-size: 14px;
    line-height: 1.7em;
    color: #000000;
}
sup {
    vertical-align: super;
    font-size: smaller;
}
input, button, textarea, select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
}
*, *: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;
}
.cf:after {
    content: "";
    clear: both;
    display: block;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
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="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/*---------------------
common
----------------------*/
.pc{
    display: none;
}

.mt10{
    margin-top: 10px;
}
.content{
	width: 900px;
	margin: auto;
}

#nav-toggle{
    display: none;
}

.hel{
    font-family:Helvetica;
}

.sec_title{
    text-align: center;
    font-weight: normal;
    margin-bottom: 40px;
    font-size: 32px;
    letter-spacing: 3px;
}

.sec_title:before{
    content: url(common/images/line.png);
    display: block;
    text-align: center;
    margin-bottom: 20px;
}


.section_pt01{
    padding: 40px 0 60px;
}

.section_pt02{
    padding: 40px 0 150px;
}

.tx_ct{
    text-align: center;
    width: 100%;
}

footer{
    padding-bottom: 30px;
    background:#1A1A1A;
    color: #ffffff;
}

.content02{
    width: 750px;
    margin: 0 auto;
}

.content03{
    width: 1000px;
    margin: 0 auto;
}

#page{
    padding: 65px 0 150px;
}

.wrap {
    height: 71vh;
    /* min-height: 100%; */
}

/*--------------------

top page

---------------------*/
.top_page h1{
    opacity: 0;
    position: absolute;
    top:0;
}

#mainimage{
    height: 632px;
    position: absolute;
    top:0;
    left: 0;
    background: url(common/images/main_bg.png) center;
    background-size: cover;
    width: 100%;
}

@media screen and (-webkit-min-device-pixel-ratio:2),
                  (min-resolution: 2dppx){
                 #mainimage{
    background: url(common/images/main_bg@2x.png) center;
    background-size: cover;
}     
}

.top_page{
    padding-top: 632px;
}

.top_page .logo{
    position: absolute;
    top:122px;
    left: calc(50% - 191px);
}

#headwrap{
    background: #000000;
}

.nav a{
    text-decoration: none;
    color:#ffffff;
}

.nav ul{
    padding: 0;
    display: flex;
    justify-content: space-around;
}

.nav ul.menus {
    padding-left: 80px;
}

.nav ul li{
    padding: 25px 0;
}

.nav ul a{
    position: relative;
    display: block;
    padding: 25px 0;
}

.nav ul a:hover:after{
    content: url(common/images/ud_line.png);
    position: absolute;
    left: calc(50% - 45px);
    bottom: 10px;
}

#top_sec01{
    padding:100px 0 125px;
    background: url(common/images/top_bg.png) center;
    background-size: cover;
}

@media screen and (-webkit-min-device-pixel-ratio:2),
                  (min-resolution: 2dppx){
#top_sec01{
    background: url(common/images/top_bg@2x.png) center;
    background-size: cover;
}     
}

.top_text{
    color: #fff;
    font-size: 14px;
    width:529px;
    float: right;
}

.top_text h2{
    font-size:36px;
    font-weight: normal;
    letter-spacing: 0.25em;
    margin-bottom: 20px;
}


.column3{
    display: flex;
    flex-wrap: wrap;
}

.column3 > *{
    margin-bottom: 25px;
    width:calc((100% - 52px) / 3);
}

.column3 > *:nth-child(3n + 2){
    margin-right: 26px;
    margin-left: 26px;
}

.work{
    font-size:11px;
}

.work strong{
    font-size:12px;
    display: block;
    margin-top: 15px;
}

.bg_gray{
    background: #F8F8F8;
}

.top_news{
    margin-top: 50px;
}

.top_news dl{
    margin-bottom: 30px;
}

.top_news dl:last-child{
    margin-bottom: 45px;
}


.top_news dt{
    display: inline-block;
    width:120px;
    font-size:14px;
    color:#666666;
}

.top_news dd{
    display: inline-block;
    font-size:16px;
    color:#333333;
}


.top_news dt a{
    text-decoration: none;
    color:#666666;
}

.top_news dd a{
    text-decoration: none;
    color:#333333;
}

/*---------------

news

-----------------*/
.etc_page {
    padding-top: 80px;
}

.etc_page #header .content{
    width:100%;
}

.etc_page #header{
    height: 115px;
    padding: 10px;
    background: #000000;
    position: fixed;
    width: 100%;
    top: 0;
    left:0;
    z-index: 100000;
}

.etc_page #header h1{
    position: absolute;
    top:20px;
    left: 30px;
}

.etc_page #global-nav{
    width:calc(100% - 478px);
    float: right;
}

.etc_page #global-nav ul{
    justify-content: space-between;
}

.page_title{
    height: 250px;
    background: url(common/images/title_bg.png) center;
    background-size: cover;
}

@media screen and (-webkit-min-device-pixel-ratio:2),
                  (min-resolution: 2dppx){
.page_title{
    background: url(common/images/title_bg@2x.png) center;
    background-size: cover;
}     
}


.page_title .sec_title{
    color:#ffffff;
    font-weight: normal;
    padding-top: 50px;
}

.news dt{
    padding: 20px 0 20px 20px;
    position: relative;
}

.news dt:before{
    content: url(common/images/line.png);
    position: absolute;
    top:0;
    left: 0;
}

.news dt a,.news dt{
    font-size:20px;
    text-decoration: none;
    color: #000000;
    font-weight: bold;
}

.news dt a span,.news dt span{
    font-size:16px;
    color: #808080;
    text-decoration: none;
    font-weight: normal;
}

.news dd{
    font-size:16px;
    margin-top: 20px;
}

.news dd a{
    color: #808080;
    text-decoration:underline;
}

.news dl{
    padding: 35px 0 25px;
    border-bottom:#CCCCCC 1px solid;;
}

.topics_button_wrap{
    margin-top: 45px;
    text-align: center;
}

.topics_button_wrap a.page-numbers{
    display:inline-block;
    font-size:18px;
    padding: 5px 8px;
    border:#808080 1px solid;margin:0 5px;
    color:#333333;
    box-sizing: border-box;
}

.topics_button_wrap span.current{
    display:inline-block;
    font-size:18px;
    padding: 5px 8px;
    background:#808080;
    margin:0 5px;
    color: #ffffff;
    box-sizing: border-box;
    border:#808080 1px solid;
}

.topics_button_wrap a.prev,.topics_button_wrap a.next{
    font-weight:bold;
    display:inline-block;
    padding: 5px 0;
    margin:0 5px;
     border:none;
}

/*---------------------

single-news

----------------------*/
.pan,.pan a{
  color:#808080; 
}

.single_nav{
    margin-top: 45px;
    text-align: center;
    font-weight: bold;
}

.single_nav_L {
    float: left;
}

.single_nav_R {
    float: right;
}

.single_nav_R a, .single_nav_L a{
    text-decoration: none;
    font-size: 15px;
    color:#000000;
}

/*--------------------

access

----------------------*/
.g_link{
    text-align: right;
    text-decoration: underline;
    margin: 35px 0;
    font-size:16px;
}

.g_link a{
    color: #666666;
}

.table_pt01{
    font-size: 16px;
    font-family:"ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.table_pt01 tr{
    border-top: 1px solid #CBCBCB;
}

.table_pt01 tr:last-child{
    border-bottom: 1px solid #CBCBCB;
}

.table_pt01 th{
    width:215px;
    padding: 20px;
    padding-left: 15px;
    background: #F8F8F8;
    text-align: left;
    color: #4D4D4D;
}

.table_pt01 td{
    padding: 20px;
    padding-left: 15px;
    color:#666666;
}

.hir{
    font-family:"ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.member{
    margin-top: 80px;
}

.member a{
    display:block;
    position:relative;
}
.member div{
    position: relative;
}

.member span{
    display: block;
    position:absolute;
    opacity: 0;
    height: 100%;
    width:100%;
    top:0;
    left:0;
    padding: 60px 30px;
    box-sizing: border-box;
}

.member span:hover{
    opacity: 10;
    display: block;
    text-align: center;
    color: #fff;
    font-size:20px;
    background:rgba(0,0,0,0.7);
}

.member span.ft13{
    font-size:13px;
    background:initial;
    position: inherit;
    display:inline;
}

.mem_text01{
       margin-top: 12px;
    letter-spacing: 0.5px;
}

.mem_text02 {
    color: #666;
    padding-top: 0px;
    letter-spacing: 0.6px;
    font-size: 13px;
}

.m_text01{
font-size: 27px;
    margin-bottom: 5px;
    letter-spacing: 4px;
}

.m_text02{
    font-size: 14px;
    margin-bottom: 20px;
    padding-top: 10px;
    color: #444;
    letter-spacing: 0.5px;
}

.modal_box{
    position: relative;
}

.modal_text{
    text-align:left;
    width:310px;
    position: absolute;
    top:50px;
    left: 30px;
}

/*---------------------

about

----------------------*/

.about_title{
    padding: 20px 0 20px 20px;
    position: relative;
}

.about_title:before{
    content: url(common/images/line.png);
    position: absolute;
    top:0;
    left: 0;
}

.about_title{
    font-size:25px;
    text-decoration: none;
    color: #000000;
    font-weight: normal;
      letter-spacing: 3px;
    margin-bottom: 35px;
}

.about_title span{
    font-size:16px;
    color: #808080;
    text-decoration: none;
    font-weight: normal;
}

.about_sec{
    padding-bottom: 60px;
}

#about p.hir{
    font-size:16px;
    line-height: 2em;
}

.about_top p{
    display: inline;
    font-size:16px;
}

.about_top p:first-child{
    width:585px;
    float: left;
    box-sizing: border-box;
    padding-right: 30px;
}

#about .a_subtitle{
    font-size:30px;
    margin-bottom: 30px;
    font-weight: bold;
    letter-spacing: 3px;
}

/*--------------------

contact

---------------------*/
.contact_box{
    text-align: left;
    font-size:18px;
    width:690px;
    padding: 80px 0 75px;
    line-height: 1.75em;
    margin: 0 auto;
}

.bd{
    font-weight: bold;
}

.contact_box span{
    color: rgba(193,39,45,1.00);
}

.submit{
    margin-top: 75px;
}

.contact_box table{
    margin-top: 50px;
    width: 100%;
}

.contact_box th{
    width:190px;
    padding: 20px 0;
    vertical-align: top;
}

.contact_box td{
    padding: 20px 0;
}

.contact_box input[type="text"]{
    font-size:16px;
    border: #CBCBCB 1px solid;
    padding:5px 10px;
    box-sizing: border-box;
    background: #fff;
}

.contact_box textarea{
    font-size:18px;
    border: #CBCBCB 1px solid;
    padding:5px 10px;
    width:100%;
    height:183px;
    background: #fff;
}

.submit input[type="submit"]{
    display: inline-block;
    color:#000;
    font-weight: bold;
    font-size:25px;
    border: #000000 5px solid;
    padding:10px;
    box-sizing: border-box;
    width:690px;
    margin-top: 10px;
}

.submit input[type="submit"]:hover{
    color:#fff;
    background: #000;
}

#page > section.news > dl > dd > p{
    font-size:16px;
    line-height: 2em;
}

#page > section > dl > dd > h2 {
    font-size:24px;
    line-height: 2em;
    margin-top: 10px;
    margin-bottom: 10px;
}

#page > section > dl > dd > h3 {
    font-size:20px;
    line-height: 2em;
    margin-bottom: 10px;
}
