/*
Theme Name: Twenty Twenty
Text Domain: twentytwenty
Version: 2.9
Tested up to: 6.8
Requires at least: 4.7
Requires PHP: 5.2.4
Description: Our default theme for 2020 is designed to take full advantage of the flexibility of the block editor. Organizations and businesses have the ability to create dynamic landing pages with endless layouts using the group and column blocks. The centered content column and fine-tuned typography also makes it perfect for traditional blogs. Complete editor styles give you a good idea of what your content will look like, even before you publish. You can give your site a personal touch by changing the background colors and the accent color in the Customizer. The colors of all elements on your site are automatically calculated based on the colors you pick, ensuring a high, accessible color contrast for your visitors.
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, block-patterns, block-styles, wide-blocks, accessibility-ready
Author: the WordPress team
Author URI: https://wordpress.org/
Theme URI: https://wordpress.org/themes/twentytwenty/
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

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.
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

	0. 	CSS Reset
	1. 	Document Setup
	2. 	Element Base
	3. 	Helper Classes
	4. 	Site Header
	5. 	Menu Modal
	6. 	Search Modal
	7. 	Page Templates
		a. 	Template: Cover Template
		c. 	Template: Full Width
	8.  Post: Archive
	9.  Post: Single
	10. Blocks
	11. Entry Content
	12. Comments
	13. Site Pagination
	14. Error 404
	15. Widgets
	16. Site Footer
	17. Media Queries

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


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

/*	0. CSS Reset
/* -------------------------------------------------------------------------- */

/* Geist フォントの定義 */
@font-face {
	/* サイト内で使用するフォント名 */
	font-family: 'Geist Custom'; 
	/* 標準の太さ */
	font-weight: 400; 
	font-style: normal;
	/* style.cssから見て正しい相対パス */
	src: url('../font/Geist-Regular.woff2') format('woff2'); 
  }
  
@font-face {
	font-family: 'Geist Custom';
	/* 太字 */
	font-weight: 700;
	font-style: normal;
	src: url('../font/Geist-Bold.woff2') format('woff2'); 
}

html,
body {
	border: none;
	margin: 0;
	padding: 0;
}
body{
	font-family: 'Geist Custom', "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
address,
big,
cite,
code,
em,
font,
img,
small,
strike,
sub,
sup,
li,
ol,
ul,
fieldset,
form,
label,
legend,
button,
table,
caption,
tr,
th,
td {
	border: none;
	font-size: inherit;
	line-height: inherit;
	margin: 0;
	padding: 0;
	text-align: inherit;
}

blockquote::before,
blockquote::after {
	content: "";
}




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

/*	1. Document Setup
/* -------------------------------------------------------------------------- */

section{
	margin: 120px auto 0;
}
h2{
	text-align: center;
	font-size: 30px;
	margin-bottom: 60px;
	font-family: 'Geist Custom', sans-serif;
}
.top{
	position: relative;
}
.top h1{
	position: absolute;
    color: #fff;
    bottom: 50px;
    left: 10px;
	font-size: 90px;
    line-height: 1em;
	font-family: 'Geist Custom', sans-serif;
}
.top img{
	width: 100%;
}

#service > div {
    max-width: 1200px; 
    margin: 0 auto;
    padding: 0 40px; 
}

/* sbox-odd, sbox-even (各サービスアイテム) */
.sbox-odd, .sbox-even {
    display: flex;
    align-items: center;
    gap: 60px;
    margin-bottom: 80px;
    padding-top: 50px; /* 数字のはみ出しスペースを確保 */
}

/* 画像とコンテンツ領域の幅設定 */
.sbox-image {
    flex-basis: 50%; 
    flex-shrink: 0; 
    position: relative; /* 数字を絶対配置するための基準点 */
}

.sbox-image img {
    width: 100%;
    height: auto;
    display: block;
}

.sbox-content {
    flex-basis: 50%; 
}

/* -------------------- 奇数番目 (01, 03) : テキスト左、画像右 -------------------- */
.sbox-odd .sbox-image {
    order: 2;
}
.sbox-odd .sbox-content {
    order: 1;
}


/* -------------------- 偶数番目 (02) : 画像左、テキスト右 -------------------- */
.sbox-even .sbox-image {
    order: 1; 
}
.sbox-even .sbox-content {
    order: 2; 
    padding-left: 0; 
}

.sbox-even .sbox-content h3, 
.sbox-even .sbox-content p {
    text-align: left;
}


/* -------------------- 数字のスタイル（画像を上に重ねる） -------------------- */
.sbox-image-number {
    position: absolute;
    top: -35px; /* 親要素のpadding-top分を吸収 */
    left: 25px;
    /* 自分で調整した left/top を維持しつつ、transformで微調整 */
    transform: translate(-10%, -10%); 
    font-family: 'Geist Custom', sans-serif;
    font-size: 100px;
    font-weight: 700;
    color: #fff;
    /* === ⬇️ シャドウをよりおしゃれに調整 ⬇️ === */
    text-shadow: 
        0 4px 6px rgba(0, 0, 0, 0.4),  /* 濃い影（深さ） */
        0 0 20px rgba(0, 0, 0, 0.2);  /* ぼかしの影（広がり） */
    /* === ⬆️ --------------------------- ⬆️ === */
    line-height: 1em;
    z-index: 2;
}
.sbox-content h3 {
    font-size: 24px;
    margin-bottom: 15px;
}

.sbox-content p {
    font-size: 15px;
    line-height: 1.8;
}


/* footer */
footer{
	background: #ddd;
	text-align: center;
	padding: 10px;
    font-size: 13px;
	margin-top: 120px;
}



/* -------------------------------------------------------------------------- */
/* レスポンシブ対応 (スマホサイズなど)
/* -------------------------------------------------------------------------- */

@media screen and (max-width: 768px) {
	#service > div{
		padding: 0 2%;
	}
    
    .sbox-odd, .sbox-even {
        flex-direction: column; 
        gap: 30px;
        margin-bottom: 50px;
        padding: 35px 20px 0;
    }
    
    /* === ⬇️ SPレイアウト修正：画像 -> テキストにする ⬇️ === */
    /* 奇数番目 (01, 03) の順序を入れ替える */
    .sbox-odd .sbox-image {
        order: 1; /* 画像を上に */
    }
    .sbox-odd .sbox-content {
        order: 2; /* テキストを下に */
    }
    
    /* 偶数番目 (02) の順序を維持（もともと画像が左側に来ているため） */
    .sbox-even .sbox-image {
        order: 1; /* 画像を上に */
    }
    .sbox-even .sbox-content {
        order: 2; /* テキストを下に */
    }
    
    /* テキストは全て左寄せに戻す */
    .sbox-even .sbox-content {
        padding-left: 0; 
    }
    /* ⬆️ -------------------------------------------- ⬆️ === */
    
    .sbox-odd .sbox-content h3, 
    .sbox-odd .sbox-content p,
    .sbox-even .sbox-content h3, 
    .sbox-even .sbox-content p {
        text-align: left;
    }
    
    .sbox-content, .sbox-image {
        flex-basis: auto; 
    }
    
    .sbox-image-number {
        /* SPでの調整 */
        font-size: 80px; 
        top: -28px; 
        left: 0;
        transform: translate(-10px, -10px); /* スマホでの具体的なはみ出し量 */
        color: #fff; 
    }
    
    h2 {
        font-size: 24px;
        margin-bottom: 40px;
    }
}